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]
EXTENSIONS = []
exception InvalidAddressTypeError(addr)[source]
Interface.addAddress(address)[source]
Interface.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'>), ('setJumboFrames', <class 'geni.rspec.emulab.emuext.setJumboFrames'>), ('createSharedVlan', <class 'geni.rspec.emulab.emuext.createSharedVlan'>), ('connectSharedVlan', <class 'geni.rspec.emulab.emuext.connectSharedVlan'>), ('enableSharedVlan', <class 'geni.rspec.emulab.emuext.enableSharedVlan'>), ('setVlanTag', <class 'geni.rspec.emulab.emuext.setVlanTag'>), ('setProperties', <class 'geni.rspec.emulab.emuext.setProperties'>), ('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
disableMACLearning()[source]
enableVlanTagging()[source]
classmethod newLinkID()[source]
trivial_ok
vlan_tagging
class Namespaces[source]
ANSIBLE = http://www.protogeni.net/resources/rspec/ext/ansible/1
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

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

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.

disk_image

Optional[str] – The disk image that should be loaded and run on this node. Should be an image URN.

exception DuplicateInterfaceName[source]
Node.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'>), ('SubNodeOf', <class 'geni.rspec.emulab.emuext.SubNodeOf'>), ('installRootKeys', <class 'geni.rspec.emulab.emuext.installRootKeys'>), ('Attribute', <class 'geni.rspec.emulab.emuext.Attribute'>), ('wirelessSite', <class 'geni.rspec.emulab.emuext.wirelessSite'>), ('startVNC', <class 'geni.rspec.emulab.emuext.startVNC'>), ('mountCephFS', <class 'geni.rspec.emulab.emuext.mountCephFS'>), ('installDotFiles', <class 'geni.rspec.emulab.emuext.installDotFiles'>), ('UserData', <class 'geni.rspec.emulab.userdata.UserData'>), ('bindRole', <class 'geni.rspec.emulab.ansible.bindRole'>), ('addOverride', <class 'geni.rspec.emulab.ansible.addOverride'>)]
Node.addInterface(name=None, address=None)[source]
Node.addRawElement(elem)[source]
Node.addService(svc, atfront=False)[source]
Node.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'>), ('initVNC', <class 'geni.rspec.emulab.emuext.initVNC'>), ('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'>), ('addPlaybook', <class 'geni.rspec.emulab.ansible.addPlaybook'>), ('addRole', <class 'geni.rspec.emulab.ansible.addRole'>), ('addOverride', <class 'geni.rspec.emulab.ansible.addOverride'>)]
addRawElement(elem)[source]
addResource(rsrc)[source]
addTour(tour)[source]
hasTour()[source]
resources
toXMLString(pretty_print=False, ucode=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 StitchedLink.UnknownComponentManagerError(cid)[source]
VM

alias of 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.