geni.rspec.pg

class Address(atype)[source]
class Command(cmd, data)[source]
resolve()[source]
exception DuplicateExtensionError(klass)[source]
class Execute(shell, command)[source]
class IPv4Address(address, netmask)[source]
class Install(url, path)[source]
class Interface(name, node, address=None)[source]
exception InvalidAddressTypeError(addr)[source]
addAddress(address)[source]
name
class L2GRE(name=None)[source]
class L3GRE(name=None)[source]
class LAN(name=None)[source]
DEFAULT_BW = -1
DEFAULT_LAT = 0
DEFAULT_PLR = 0.0
EXTENSIONS = [('Site', <class 'geni.rspec.igext.Site'>), ('setForceShaping', <class 'geni.rspec.emulab.emuext.setForceShaping'>), ('setNoBandwidthShaping', <class 'geni.rspec.emulab.emuext.setNoBandwidthShaping'>), ('setNoInterSwitchLinks', <class 'geni.rspec.emulab.emuext.setNoInterSwitchLinks'>), ('UserData', <class 'geni.rspec.emulab.userdata.UserData'>)]
LNKID = 0
addChild(obj)[source]
addComponentManager(component_manager)[source]
addInterface(intf)[source]
addNode(node)[source]
addRawElement(elem)[source]
best_effort
connectSharedVlan(name)[source]
disableMACLearning()[source]
enableVlanTagging()[source]
classmethod newLinkID()[source]
trivial_ok
vlan_tagging
class Namespaces[source]
CLIENT = http://www.protogeni.net/resources/rspec/ext/client/1
DATA = http://www.protogeni.net/resources/rspec/ext/user-data/1
DELAY = http://www.protogeni.net/resources/rspec/ext/delay/1
EMULAB = http://www.protogeni.net/resources/rspec/ext/emulab/1
INFO = http://www.protogeni.net/resources/rspec/ext/site-info/1
JACKS = http://www.protogeni.net/resources/rspec/ext/jacks/1
PARAMS = http://www.protogeni.net/resources/rspec/ext/profile-parameters/1
RS = http://www.protogeni.net/resources/rspec/ext/emulab/1
TOUR = http://www.protogeni.net/resources/rspec/ext/apt-tour/1
VTOP = http://www.protogeni.net/resources/rspec/ext/emulab/1
class Node(name, ntype, component_id=None, exclusive=None)[source]

A basic Node class. Typically you want to instantiate one of its subclasses, such as RawPC, XenVM, or DockerContainer.

Parameters:
  • name (str) – Your name for this node. This must be unique within a single Request object.
  • ntype (str) – The physical or virtual machine type to which this node should be mapped.
  • component_id (Optional[str]) – The component_id of the site physical node to which you want to bind this node.
  • exclusive (Optional[bool]) – Request this container on an isolated host used only by your sliver. Defaults to unspecified, allowing the site processing the request rspec to assign resources as it prefers.
client_id

Your name for this node. This must be unique within a single Request object.

Type:str
component_id

The component_id of the site physical node to which you want to bind this node.

Type:Optional[str]
exclusive

Request this container on an isolated host used only by your sliver. Defaults to unspecified, allowing the site processing the request rspec to assign resources as it prefers.

Type:Optional[bool]
disk_image

The disk image that should be loaded and run on this node. Should be an image URN.

Type:Optional[str]
exception DuplicateInterfaceName[source]
EXTENSIONS = [('Blockstore', <class 'geni.rspec.igext.Blockstore'>), ('Firewall', <class 'geni.rspec.igext.Firewall'>), ('Firewall', <class 'geni.rspec.igext.Firewall'>), ('Site', <class 'geni.rspec.igext.Site'>), ('Desire', <class 'geni.rspec.igext.Desire'>), ('setUseTypeDefaultImage', <class 'geni.rspec.emulab.emuext.setUseTypeDefaultImage'>), ('setFailureAction', <class 'geni.rspec.emulab.emuext.setFailureAction'>), ('InstantiateOn', <class 'geni.rspec.emulab.emuext.InstantiateOn'>), ('installRootKeys', <class 'geni.rspec.emulab.emuext.installRootKeys'>), ('Attribute', <class 'geni.rspec.emulab.emuext.Attribute'>), ('UserData', <class 'geni.rspec.emulab.userdata.UserData'>)]
addInterface(name=None, address=None)[source]
addRawElement(elem)[source]
addService(svc)[source]
name
class NodeType[source]
DOCKER = 'emulab-docker'
RAW = 'raw'
VM = 'emulab-xen'
XEN = 'emulab-xen'
class RawPC(name, component_id=None)[source]
class Request[source]
EXTENSIONS = [('Link', <class 'geni.rspec.pg.Link'>), ('LAN', <class 'geni.rspec.pg.LAN'>), ('L3GRE', <class 'geni.rspec.pg.L3GRE'>), ('L2GRE', <class 'geni.rspec.pg.L2GRE'>), ('StitchedLink', <class 'geni.rspec.pg.StitchedLink'>), ('Node', <class 'geni.rspec.pg.Node'>), ('RawPC', <class 'geni.rspec.pg.RawPC'>), ('XenVM', <class 'geni.rspec.igext.XenVM'>), ('DockerContainer', <class 'geni.rspec.igext.DockerContainer'>), ('AddressPool', <class 'geni.rspec.igext.AddressPool'>), ('RemoteBlockstore', <class 'geni.rspec.igext.RemoteBlockstore'>), ('Bridge', <class 'geni.rspec.igext.Bridge'>), ('ParameterData', <class 'geni.rspec.igext.ParameterData'>), ('setCollocateFactor', <class 'geni.rspec.emulab.emuext.setCollocateFactor'>), ('setPackingStrategy', <class 'geni.rspec.emulab.emuext.setPackingStrategy'>), ('setRoutingStyle', <class 'geni.rspec.emulab.emuext.setRoutingStyle'>), ('setDelayImage', <class 'geni.rspec.emulab.emuext.setDelayImage'>), ('BridgedLink', <class 'geni.rspec.emulab.emuext.BridgedLink'>), ('ShapedLink', <class 'geni.rspec.emulab.emuext.ShapedLink'>), ('disableRootKeys', <class 'geni.rspec.emulab.emuext.disableRootKeys'>), ('skipVlans', <class 'geni.rspec.emulab.emuext.skipVlans'>), ('ExperimentFirewall', <class 'geni.rspec.emulab.emuext.ExperimentFirewall'>), ('L1Link', <class 'geni.rspec.emulab.emuext.L1Link'>), ('Switch', <class 'geni.rspec.emulab.emuext.Switch'>), ('EPClan', <class 'geni.rspec.emulab.epclan.EPClan'>), ('EPCNode', <class 'geni.rspec.emulab.epcnode.EPCNode'>), ('EPCVMNode', <class 'geni.rspec.emulab.epcnode.EPCVMNode'>), ('eNodeB', <class 'geni.rspec.emulab.enodeb.eNodeB'>), ('UE', <class 'geni.rspec.emulab.ue.UE'>), ('RFLink', <class 'geni.rspec.emulab.rflink.RFLink'>)]
addRawElement(elem)[source]
addResource(rsrc)[source]
addTour(tour)[source]
hasTour()[source]
resources
toXMLString(pretty_print=False)[source]

Return the current request contents as an XML string that represents an rspec in the GENIv3 format.

writeXML(path)[source]

Write the current request contents as an XML file that represents an rspec in the GENIv3 format.

class Resource[source]
addNamespace(ns)[source]
class Service[source]
exception TooManyInterfacesError[source]
exception UnknownComponentManagerError(cid)[source]
VM

alias of geni.rspec.pg.XenVM

class VZContainer(name, exclusive=False)[source]
class XenVM(name, component_id=None, exclusive=False)[source]

Deprecated since version 0.4: Use geni.rspec.igext.XenVM instead.