110 likes | 229 Views
Experimental Control Tools for ORCA Control Framework. Anirban Mandal Renaissance Computing Institute (RENCI). Slice Manager (SM). Overview. Broker. ORCA Framework. request. Experiment control tools / Users. ticket. delegate. XML – RPC calls. redeem. Authority/AM. lease.
E N D
Experimental Control Tools for ORCA Control Framework Anirban Mandal Renaissance Computing Institute (RENCI)
Slice Manager (SM) Overview Broker ORCA Framework request Experiment control tools / Users ticket delegate XML – RPC calls redeem Authority/AM lease
XML-RPC Controller • Goal: Provide an XML-RPC interface to ORCA for experiment control tools and external users + Interoperability • Tools/users would use this interface to • discover available resources • instantiate experiment slivers • check the status of the instantiated slivers • renew the lease for existing slivers • destroy and shutdown slivers • Controller exposes a GENI-AM API like xml-rpc interface to users • Caveats • Can’t support Rspec yet • Converter from/to NDL to/from RSpec to be integrated in near future • Credential management missing, authorization is through the ORCA portal running the xml-rpc controller
Slice Manager (SM) Interface Details ORCA Framework 0. GetVersion () Experiment control tools / Users XML - RPC 1. ListResources () 2. Advertisement NDL 3. createSliver (Request NDL) 4. Manifest handle - sliceID 5. sliverStatus (sliceID) 6. Manifest sliver details and status 7. renewSliver (sliceID, time) 8. deleteSliver (sliceID) 9. ShutDown (sliceID)
Example Run – ListResources() bash-3.2$ python ListResources.py Querying ORCA xml-rpc server for available resources ... Advertisement RSpec/NDL of available resources <rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# … <rdf:Descriptionrdf:about="http://geni-orca.renci.org/owl/mass.rdf#UMass/Domain/NetworkService/1"> … <rdf:Descriptionrdf:about="http://geni-orca.renci.org/owl/ben-6509.rdf#Duke/Cisco/6509/TenGigabitEthernet/gB/1/ethernet"> … <rdf:Descriptionrdf:about="https://geni-orca.renci.org/owl/renciNet.rdf#RenciNet/Juniper/3200/GigabitEthernet/gB/1/ethernet"> … <rdf:Descriptionrdf:about="http://geni-orca.renci.org/owl/rencivmsite.rdf#RenciVMSite/Domain/SwitchingMatrix"> … </rdf:RDF>
Example Run – createSliver() bash-3.2$ python createSliver.py Contacting ORCA xml-rpc server for creating the sliver... Request NDL.. <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY owl "http://www.w3.org/2002/07/owl#" > … ]> <rdf:RDFxmlns="http://geni-orca.renci.org/owl/idRequest4.rdf#" … <!-- http://geni-orca.renci.org/owl/mass.rdf#UMass/Vise/Testbed --> … <!-- https://geni-orca.renci.org/owl/uncvmsite.rdf#UNC/Euca --> … </rdf:RDF> <!-- Generated by the OWL API (version 2.2.1.1101) http://owlapi.sourceforge.net --> …
Example Run – createSliver() bash-3.2$ python createSliver.py Contacting ORCA xml-rpc server for creating the sliver... Request NDL.. [Prints the request NDL here] Request id: 399422c1-99ca-4d16-8383-a5aa94dd2c50 [ Slice UID: f7ddd977-dc01-426d-9f46-f9db356ca0ee | Reservation UID: 1d12ae0d-6705-4c87-a602-83e9f74b28c2 | Resource Type: unc.vm| Resource Units: 2 ] [ Slice UID: f7ddd977-dc01-426d-9f46-f9db356ca0ee | Reservation UID: f6e545fb-82be-4b7d-ae9b-a9f7259f6202 | Resource Type: starlight.vlan| Resource Units: 1 ] [ Slice UID: f7ddd977-dc01-426d-9f46-f9db356ca0ee | Reservation UID: 7c0d95f5-0b2b-4360-8248-c3d89b662d32 | Resource Type: unc.vlan| Resource Units: 1 ] [ Slice UID: f7ddd977-dc01-426d-9f46-f9db356ca0ee | Reservation UID: 6175d86a-d074-4bf8-8b9f-3c546666db3a | Resource Type: vise.testbed| Resource Units: 1 ] [ Slice UID: f7ddd977-dc01-426d-9f46-f9db356ca0ee | Reservation UID: 7b1b8edb-eca2-4318-823f-36ad3d682256 | Resource Type: nlr.vlan| Resource Units: 1 ] [ Slice UID: f7ddd977-dc01-426d-9f46-f9db356ca0ee | Reservation UID: dcc2aeb6-8900-4e50-a788-22109d9bec48 | Resource Type: ben.vlan| Resource Units: 1 ] User uses the Slice UID to operate on the sliver
Example Run – sliverStatus() bash-3.2$ python sliverStatus.py Querying ORCA xml-rpc server for status of the sliver... ************************************************************* [ Reservation UID: 1d12ae0d-6705-4c87-a602-83e9f74b28c2 | Resource Type: unc.vm | Units: 2 | Status: Ticketed ] [ Manifest properties: Undetermined ] ************************************************************* [ Reservation UID: f6e545fb-82be-4b7d-ae9b-a9f7259f6202 | Resource Type: starlight.vlan | Units: 1 | Status: Ticketed ] [ Manifest properties: Undetermined ] ************************************************************* [ Reservation UID: 7c0d95f5-0b2b-4360-8248-c3d89b662d32 | Resource Type: unc.vlan | Units: 1 | Status: Active ] [ Manifest properties: … {unit.vlan.tag = 17} ] ************************************************************* [ Reservation UID: 6175d86a-d074-4bf8-8b9f-3c546666db3a | Resource Type: vise.testbed | Units: 1 | Status: Active ] [ Manifest properties: … ] ************************************************************* [ Reservation UID: 7b1b8edb-eca2-4318-823f-36ad3d682256 | Resource Type: nlr.vlan | Units: 1 | Status: Active ] [ Manifest properties: … ] ************************************************************* [ Reservation UID: dcc2aeb6-8900-4e50-a788-22109d9bec48 | Resource Type: ben.vlan | Units: 1 | Status: Ticketed ] [ Manifest properties: Undetermined ] Overall Sliver Status: pending
Example Run – sliverStatus() bash-3.2$ python sliverStatus.py Querying ORCA xml-rpc server for status of the sliver... ************************************************************* [ Reservation UID: 1d12ae0d-6705-4c87-a602-83e9f74b28c2 | Resource Type: unc.vm | Units: 2 | Status: Active ] … [Manifest properties here] ************************************************************* [ Reservation UID: f6e545fb-82be-4b7d-ae9b-a9f7259f6202 | Resource Type: starlight.vlan | Units: 1 | Status: Active ] … [Manifest properties here] ************************************************************* [ Reservation UID: 7c0d95f5-0b2b-4360-8248-c3d89b662d32 | Resource Type: unc.vlan | Units: 1 | Status: Active ] … [Manifest properties here] ************************************************************* [ Reservation UID: 6175d86a-d074-4bf8-8b9f-3c546666db3a | Resource Type: vise.testbed | Units: 1 | Status: Active ] … [Manifest properties here] ************************************************************* [ Reservation UID: 7b1b8edb-eca2-4318-823f-36ad3d682256 | Resource Type: nlr.vlan | Units: 1 | Status: Active ] … [Manifest properties here] ************************************************************* [ Reservation UID: dcc2aeb6-8900-4e50-a788-22109d9bec48 | Resource Type: ben.vlan | Units: 1 | Status: Active ] Overall Sliver Status: ready
Example Run – deleteSliver() bash-3.2$ python deleteSliver.py Contacting ORCA xml-rpc server to delete the sliver... True bash-3.2$ python sliverStatus.py Querying ORCA xml-rpc server for status of the sliver... ************************************************************* [ Reservation UID: 1d12ae0d-6705-4c87-a602-83e9f74b28c2 | Resource Type: unc.vm | Units: 2 | Status: CloseWait ] … ************************************************************* [ Reservation UID: dcc2aeb6-8900-4e50-a788-22109d9bec48 | Resource Type: ben.vlan | Units: 1 | Status: CloseWait ] … Overall Sliver Status: pending bash-3.2$ python sliverStatus.py Querying ORCA xml-rpc server for status of the sliver... There are no reservations in the slice with sliceId = f7ddd977-dc01-426d-9f46-f9db356ca0ee
Questions Thank you..