geni.aggregate.vts

class VTS(name, host, url=None)[source]

Wrapper for all VTS-supposed AMAPI functions

exception InvalidRSpecPathError(path)
args
message
exception UnspecifiedComponentManagerError
args
message
addDNSResourceRecord(context, sname, client_id, record_name, record_type, record_value, record_ttl=7200)[source]
addFlows(context, sname, flows)[source]
addSSHKeys(context, sname, client_ids, keys)[source]
amtype
api
changeController(context, sname, url, datapaths, ofver=None)[source]
clearFlows(context, sname, datapaths)[source]

Clear all installed flows from the requested datapaths.

Parameters:
  • context – geni-lib context
  • sname (str) – Slice name
  • datapaths (list) – A list of datapath client_id strings
component_manager_id
createsliver(context, sname, rspec)

GENI AM APIv2 method to reserve resources at this aggregate.

Parameters:
  • context – geni-lib context
  • sname (str) – Slice name
  • rspec (geni.rspec.RSpec) – Valid request RSpec
deleteDNSResourceRecord(context, sname, client_id, record_name, record_type)[source]
deletesliver(context, sname)

GENI AM APIv2 method to delete a resource reservation at this aggregate.

Parameters:
  • context – geni-lib context
  • sname (str) – Slice name
dropboxFinalize(context, authcode)[source]

Finalize the Dropbox account link for this aggregate.

Parameters:
  • context – geni-lib context
  • authcode (str) – Authorization code given by Dropbox

Link your user_urn to a Dropbox account at this aggregate.

Parameters:context – geni-lib context
Returns:str – Dropbox authorization URL to paste into web browser
dropboxUpload(context, sname, cvols)[source]

Trigger upload to associated Dropbox account from requested container volumes.

Parameters:
  • context – geni-lib context
  • sname (str) – Slice name
  • cvols (list) – List of (container client-id, volume-id) tuples
dumpFlows(context, sname, datapaths, show_hidden=False)[source]

Get the current flows and flow stats from the requested datapaths.

Parameters:
  • context – geni-lib context
  • sname (str) – Slice name
  • datapaths (list) – A list of datapath client_id strings
  • show_hidden (bool) – Show hidden flows (if any)
Returns:

dict – Key/Value dictionary of format { client_id : [(flow_field, ...), ...] }

dumpMACs(context, sname, datapaths)[source]
getAllDNSResourceRecords(context, sname, client_ids)[source]
getLastDNSDHCPops(context, sname, client_ids, number_of_operations, dns_OR_dhcp)[source]
getLeaseInfo(context, sname, client_ids)[source]
getPortInfo(context, sname, datapaths)[source]
getSTPInfo(context, sname, datapaths)[source]
getversion(context)

GENI AM API method to get the version information for this aggregate.

Parameters:context – geni-lib context
Returns:dict – Dictionary of key/value pairs with version information from this aggregate.
listresources(context, sname=None, available=False)

GENI AM APIv2 method to get available resources from an aggregate, or resources allocated to a specific sliver.

Parameters:
  • context – geni-lib context
  • sname (str) – Slice name (optional)
  • available (bool) – Only list available resources
Returns:

geni.rspec.RSpec – If sname is provided, listresources will return a manifest rspec for the given slice name. Otherwise, listresources will return the advertisement rspec for the given aggregate.

portDown(context, sname, client_id)[source]
portUp(context, sname, client_id)[source]
renewsliver(context, sname, date)

GENI AM APIv2 method to renew a sliver until the given datetime.

Parameters:
  • context – geni-lib context
  • sname (str) – Slice name
  • date (str) – RFC 3339-compliant date string for new expiration date

Note

Aggregates may have maximum expiration limits, restricting how far in the future you can set your expiration. This call may result in an error in such cases, or success with a sooner future date.

setDHCPSubnet(context, sname, subnet_tuples)[source]
setDeleteLock(context, sname)[source]

Prevent the given sliver from being deleted by another user with the credential.

Note

Locks are cumulative, and removed by calling deletesliver. When the last locking user calls deletesliver, the sliver will be deleted. It is not possible to remove your lock without risking deletion.

Parameters:
  • context – geni-lib context
  • sname (str) – Slice name
setPortBehaviour(context, sname, port_list)[source]
setPortTrunk(context, sname, port_list)[source]
setPortVLAN(context, sname, port_tuples)[source]
sliverstatus(context, sname)

GENI AM APIv2 method to get the status of a current sliver at the given aggregate.

Parameters:
  • context – geni-lib context
  • sname (str) – Slice name
Returns:

dict – Mapping of key/value pairs for status information the aggregate supports.

aggregates()[source]
name_to_aggregate()[source]