labgrid.remote package¶
Submodules¶
labgrid.remote.authenticator module¶
labgrid.remote.client module¶
The remote.client module contains the functionality to connect to a coordinator, acquire a place and interact with the connected resources
-
exception
labgrid.remote.client.
UserError
[source]¶ Bases:
labgrid.remote.client.Error
-
exception
labgrid.remote.client.
ServerError
[source]¶ Bases:
labgrid.remote.client.Error
labgrid.remote.common module¶
-
class
labgrid.remote.common.
ResourceEntry
(data, acquired=None)[source]¶ Bases:
object
-
data
= Attribute(name='data', default=NOTHING, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
acquired
= Attribute(name='acquired', default=None, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
avail
¶
-
cls
¶
-
params
¶
-
args
¶ arguments for resource construction
-
extra
¶ extra resource information
-
-
class
labgrid.remote.common.
ResourceMatch
(exporter, group, cls, name=None)[source]¶ Bases:
object
-
exporter
= Attribute(name='exporter', default=NOTHING, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
group
= Attribute(name='group', default=NOTHING, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
cls
= Attribute(name='cls', default=NOTHING, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
name
= Attribute(name='name', default=None, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
-
class
labgrid.remote.common.
Place
(name, aliases=NOTHING, comment='', matches=NOTHING, acquired=None, acquired_resources=NOTHING, created=NOTHING, changed=NOTHING)[source]¶ Bases:
object
-
name
= Attribute(name='name', default=NOTHING, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
aliases
= Attribute(name='aliases', default=Factory(factory=<class 'set'>), validator=None, repr=True, cmp=True, hash=True, init=True, convert=<class 'set'>, metadata=mappingproxy({}))¶
-
comment
= Attribute(name='comment', default='', validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
matches
= Attribute(name='matches', default=Factory(factory=<class 'list'>), validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
acquired
= Attribute(name='acquired', default=None, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
acquired_resources
= Attribute(name='acquired_resources', default=Factory(factory=<class 'list'>), validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
created
= Attribute(name='created', default=Factory(factory=<function Place.<lambda>>), validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
changed
= Attribute(name='changed', default=Factory(factory=<function Place.<lambda>>), validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
labgrid.remote.config module¶
labgrid.remote.coordinator module¶
The coordinator module coordinates exported resources and clients accessing them.
-
class
labgrid.remote.coordinator.
Action
[source]¶ Bases:
enum.Enum
An enumeration.
-
ADD
= 0¶
-
DEL
= 1¶
-
UPD
= 2¶
-
-
class
labgrid.remote.coordinator.
RemoteSession
[source]¶ Bases:
object
class encapsulating a session, used by ExporterSession and ClientSession
-
coordinator
= Attribute(name='coordinator', default=NOTHING, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
session
= Attribute(name='session', default=NOTHING, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
authid
= Attribute(name='authid', default=NOTHING, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))¶
-
key
¶ Key of the session
-
name
¶ Name of the session
-
-
class
labgrid.remote.coordinator.
ExporterSession
(coordinator, session, authid)[source]¶ Bases:
labgrid.remote.coordinator.RemoteSession
An ExporterSession is opened for each Exporter connecting to the coordinator, allowing the Exporter to get and set resources
-
groups
= Attribute(name='groups', default=Factory(factory=<class 'dict'>), validator=None, repr=True, cmp=True, hash=True, init=False, convert=None, metadata=mappingproxy({}))¶
-
-
class
labgrid.remote.coordinator.
ClientSession
(coordinator, session, authid)[source]¶ Bases:
labgrid.remote.coordinator.RemoteSession
-
acquired
= Attribute(name='acquired', default=Factory(factory=<class 'list'>), validator=None, repr=True, cmp=True, hash=True, init=False, convert=None, metadata=mappingproxy({}))¶
-
labgrid.remote.exporter module¶
The remote.exporter module exports resources to the coordinator and makes them available to other clients on the same coordinator
-
class
labgrid.remote.exporter.
ResourceExport
(data, acquired=None)[source]¶ Bases:
labgrid.remote.common.ResourceEntry
Represents a local resource exported via a specific protocol.
The ResourceEntry attributes contain the information for the client.
-
local
= Attribute(name='local', default=NOTHING, validator=None, repr=True, cmp=True, hash=True, init=False, convert=None, metadata=mappingproxy({}))¶
-
local_params
= Attribute(name='local_params', default=NOTHING, validator=None, repr=True, cmp=True, hash=True, init=False, convert=None, metadata=mappingproxy({}))¶
-
-
class
labgrid.remote.exporter.
USBSerialPortExport
(data, acquired=None)[source]¶ Bases:
labgrid.remote.exporter.ResourceExport
ResourceExport for a USB SerialPort
-
class
labgrid.remote.exporter.
USBEthernetExport
(data, acquired=None)[source]¶ Bases:
labgrid.remote.exporter.ResourceExport
ResourceExport for a USB ethernet interface
-
class
labgrid.remote.exporter.
USBGenericExport
(data, acquired=None)[source]¶ Bases:
labgrid.remote.exporter.ResourceExport
ResourceExport for USB devices accessed directly from userspace
-
class
labgrid.remote.exporter.
ExporterSession
[source]¶ Bases:
sphinx.ext.autodoc.ApplicationSession
-
onConnect
()[source]¶ Set up internal datastructures on successful connection: - Setup loop, name, authid and address - Join the coordinator as an exporter
-
onChallenge
(challenge)[source]¶ Function invoked on received challege, returns just a dummy ticket at the moment, authentication is not supported yet
-
onJoin
(details)[source]¶ On successful join: - export available resources - bail out if we are unsuccessful
-