Changes between Version 7 and Version 8 of GENIExperimenter/ExperimentExample


Ignore:
Timestamp:
06/22/11 16:29:26 (11 years ago)
Author:
Aaron Helsinger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/ExperimentExample

    v7 v8  
    33= GENI Experiment Example 1 =
    44
    5 This page illustrates an operational example for the [wiki:GENIExperimenter GENI Experimenter How-to] page capturing the actions required to run an experiment using multiple resource aggregates and with user credentials from the GPO ProtoGENI Clearinghouse pgeni.gpolab.bbn.com. Details on how credentials are set up can be found in the [wiki:GENIExperimenter#a1.GetGENICredentials GENI Credentials] section of the main GENI Experimenter page. In this experiment, a total of 5 nodes are requested, with 2 nodes from the Emulab(PG) aggregate and 3 nodes from the !PlanetLab (PL) aggregate.   
     5This page illustrates an operational example for the [wiki:GENIExperimenter GENI Experimenter How-to] page capturing the actions required to run an experiment using multiple resource aggregates and with user credentials from the GPO ProtoGENI Clearinghouse pgeni.gpolab.bbn.com. Details on how credentials are set up can be found in the [wiki:GENIExperimenter#a1.GetGENICredentials GENI Credentials] section of the main GENI Experimenter page. In this experiment, a total of 5 nodes are requested, with 2 nodes from the Emulab (PG) aggregate and 3 nodes from the !PlanetLab (PL) aggregate.   
    66
    77This page does not cover the installation of the OMNI client, as it is well documented, please see the following pages to get the [http://trac.gpolab.bbn.com/gcf/wiki/GettingGcf GCF package] and to [http://trac.gpolab.bbn.com/gcf/wiki/QuickStart install] it. 
     
    4747}}}
    4848
    49 The above configuration is specific to the experiment captured in this page. Note, the pgeni framework definition includes the Utah Emulab clearinghouse, which is the only clearing house for ProtoGENI aggregates. For additional configuration details please see the [http://trac.gpolab.bbn.com/gcf/wiki/Omni Omni] page for more details.  The omni_configuration parameters shown define the following:  [[BR]]
     49The above configuration is specific to the experiment captured in this page. Note, the pgeni framework definition includes the Utah Emulab clearinghouse, which is the only clearinghouse for ProtoGENI aggregates. For additional configuration details please see the [http://trac.gpolab.bbn.com/gcf/wiki/Omni Omni] page for more details.  The omni_configuration parameters shown define the following:  [[BR]]
    5050|| '''Parameter'''   || ''' Use'''  ||
    51 || default_cf||  Default aggregate used if not specified on the command line.  ||
     51|| default_cf||  Default Clearinghouse and credentials used if not specified on the command line.  ||
    5252|| users||  users setting used when reserving slices. ||
    53 || urn||  The username URN, see how to determing [wiki:GENIExperimenter/ExperimentCredentials#DetermineyourURN your URN] ||
     53|| urn||  The username URN, see how to determine [wiki:GENIExperimenter/ExperimentCredentials#DetermineyourURN your URN] ||
    5454|| keys|| A comma separated list of public ssh key files to be uploaded to the Clearinghouse ||
    55 || type||  Resource aggregate "pg" indicates ProtoGENI, sse the [http://trac.gpolab.bbn.com/gcf/wiki/Omni Omni] page. ||
     55|| type||  Clearinghouse/credentials type "pg" indicates ProtoGENI, see the [http://trac.gpolab.bbn.com/gcf/wiki/Omni Omni] page. ||
    5656|| ch||  ProtoGENI Clearinghouse URL. ||
    5757|| sa|| Slice Authority URL. ||
    58 || cert||  Location of the SSL encrypted certificate (contains both a certificate and a key). ||
    59 || key||  Location of your SSL encrypted certificate (contains both a certificate and a key). ||
     58|| cert||  Location of your SSL encrypted certificate (contains both a certificate and a key). ||
     59|| key||  Location of your SSL encrypted key (contains both a certificate and a key). ||
    6060
    6161
     
    6464With the GPO Protogeni setting defined as shown in the omni_config above, you can get a list of available resources from each of the other 2 aggregates.
    6565
    66 Getting a list of resources from Emulab Protogeni aggregate in native format:
    67 {{{
    68 $  src/omni.py -n -a  https://www.emulab.net/protogeni/xmlrpc/am listresources >resources-PG-emulab.xml
    69 INFO:omni:Loading config file omni_config
    70 INFO:omni:Using control framework pgeni
    71 INFO:omni:Resources at https://www.emulab.net/protogeni/xmlrpc/am:
    72 }}}
    73 Getting a list of resources from !PlanetLab aggregate:
    74 {{{
    75 $  src/omni.py listresources -n -a http://www.planet-lab.org:12346 >resources-PL.xml
    76 INFO:omni:Loading config file omni_config
    77 INFO:omni:Using control framework pgeni
    78 INFO:omni:Resources at http://www.planet-lab.org:12346:
    79 }}}
    80 
    81 You may use the output of two ''listresources'' commands to generate rspecs to request resources. The above ''listresources'' commands use the  ''-n'' flag to request output in native rspec format rather than the default omnispec format. Note, the ''-n'' flag requires the ''-a'' flag also be used to specify an aggregate manager.   
     66Note: These instructions use Omni 1.3 options. Starting with Omni 1.3, 'native' format RSpecs are the default, and 'omnispecs' are deprecated though still available. Additionally, verbose output like the Advertisement RSpec from List Resources is saved to a file using the {{{-o}}} option. Finally, these instructions show the use of the {{{-t}}} option to request RSpecs in a particular format. For earlier versions of omni, you should (a) include the {{{-n}}} argument, (b) re-direct output to a file (''>'') instead of the -o option, and (c) use PG V0.2 RSpecs at Emulab and SFA format RSpecs at PlanetLab.
     67
     68Getting a list of resources from the Emulab Protogeni aggregate in ProtoGENI RSpec V2 format:
     69{{{
     70$  src/omni.py -a https://www.emulab.net/protogeni/xmlrpc/am -o -t ProtoGENI 2 listresources
     71INFO:omni:Loading config file omni_config
     72INFO:omni:Using control framework pgeni
     73INFO:omni:Saving output to a file.
     74INFO:omni:Listed resources on 1 out of 1 possible aggregates.
     75INFO:omni:Writing to 'rspec-www-emulab-net-protogeni.xml'
     76INFO:omni: ------------------------------------------------------------
     77INFO:omni: Completed listresources:
     78
     79  Options as run:
     80                aggregate: https://www.emulab.net/protogeni/xmlrpc/am
     81                configfile: omni_config
     82                framework: pgeni
     83                native: True
     84                output: True
     85                rspectype: ('ProtoGENI', '2')
     86
     87  Args: listresources
     88
     89  Result Summary: Retrieved resources from 1 aggregates.
     90Wrote rspecs from 1 aggregates to 1 files.
     91INFO:omni: ============================================================
     92}}}
     93
     94The resulting file (named ''rspec-www-emulab-net-protogeni.xml'' as the output describes) looks like this in part:
     95{{{
     96#!xml
     97<?xml version="1.0" ?>
     98<!-- Resources at AM:
     99        URN: unspecified_AM_URN
     100        URL: https://www.emulab.net/protogeni/xmlrpc/am
     101 -->
     102<rspec expires="2011-06-16T13:34:00Z" generated="2011-06-16T13:34:00Z" type="advertisement" xmlns="http://www.protogeni.net/resources/rspec/2" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/ad.xsd http://www.protogeni.net/resources/rspec/ext/emulab/1 http://www.protogeni.net/resources/rspec/ext/emulab/1/ptop_extension.xsd"> 
     103  <node component_id="urn:publicid:IDN+emulab.net+node+cisco3" component_manager
     104}}}
     105
     106Getting a list of resources from the !PlanetLab Princeton aggregate in its default format (SFA):
     107{{{
     108$  src/omni.py -o -a http://www.planet-lab.org:12346 listresources
     109INFO:omni:Loading config file omni_config
     110INFO:omni:Using control framework pgeni
     111INFO:omni:Saving output to a file.
     112INFO:omni:Listed resources on 1 out of 1 possible aggregates.
     113INFO:omni:Writing to 'rspec-www-planet-lab-org.xml'
     114INFO:omni: ------------------------------------------------------------
     115INFO:omni: Completed listresources:
     116
     117  Options as run:
     118                aggregate: https://www.planet-lab.org:12346
     119                configfile: omni_config
     120                framework: pgeni
     121                native: True
     122                output: True
     123
     124  Args: listresources
     125
     126  Result Summary: Retrieved resources from 1 aggregates.
     127Wrote rspecs from 1 aggregates to 1 files.
     128INFO:omni: ============================================================
     129}}}
     130
     131This output file (''rspec-www-planet-lab-org.xml'') begins:
     132{{{
     133#!xml
     134<?xml version="1.0" ?>
     135<!-- Resources at AM:
     136        URN: unspecified_AM_URN
     137        URL: https://www.planet-lab.org:12346
     138 -->
     139<RSpec expires="2011-06-16T14:37:07Z" generated="2011-06-16T13:37:07Z" type="SFA"> 
     140    <network name="plc">   
     141}}}
     142
     143
     144You may use the output of these two ''listresources'' commands to generate rspecs to request resources. The above ''listresources'' commands use the default native rspec format rather than the deprecated omnispec format. Note that with native RSpecs, the {{{-a}}} flag or the {{{aggregates}}} entry in your {{{omni_config}}} is required to specify an aggregate manager.   
    82145
    83146If you are planning to use MyPLC resources, you may query a MyPLC installation to get a list of available resources as follows:
    84147{{{
    85 $ ./src/omni.py -n -a http://myplc.gpolab.bbn.com:12346 listresources >resources-MyPLC.xml
    86 INFO:omni:Loading config file omni_config
    87 INFO:omni:Using control framework pgeni
    88 INFO:omni:Resources at http://myplc.gpolab.bbn.com:12346:
    89 
    90 }}}
    91 If you are planning to use Univerity of Kentucky Emulab resources, you can query this installation to get a list of available resources, note the example below was collected with GPO pgeni.gpolab.com credentials:
    92 {{{
    93 $ src/omni.py -n -a  https://www.uky.emulab.net/protogeni/xmlrpc/am listresources >resources-uky-emulab.xml
    94 INFO:omni:Loading config file omni_config
    95 INFO:omni:Using control framework pgeni
    96 INFO:omni:Resources at https://www.uky.emulab.net/protogeni/xmlrpc/am:
     148$ ./src/omni.py -a http://myplc.gpolab.bbn.com:12346 -o listresources
     149INFO:omni:Loading config file omni_config
     150INFO:omni:Using control framework pgeni
     151INFO:omni:Saving output to a file.
     152INFO:omni:Listed resources on 1 out of 1 possible aggregates.
     153INFO:omni:Writing to 'rspec-myplc-gpolab-bbn-com.xml'
     154INFO:omni: ------------------------------------------------------------
     155INFO:omni: Completed listresources:
     156
     157  Options as run:
     158                aggregate: http://myplc.gpolab.bbn.com:12346
     159                configfile: omni_config
     160                framework: pgeni
     161                native: True
     162                output: True
     163
     164  Args: listresources
     165
     166  Result Summary: Retrieved resources from 1 aggregates.
     167Wrote rspecs from 1 aggregates to 1 files.
     168INFO:omni: ============================================================
     169}}}
     170
     171If you are planning to use University of Kentucky Emulab resources, you can query just this installation (instead of all PG aggregates, as we did in the example above) to get a list of available resources. Note the example below was collected with GPO pgeni.gpolab.bbn.com credentials:
     172{{{
     173$ src/omni.py -a https://www.uky.emulab.net/protogeni/xmlrpc/am -o listresources
     174INFO:omni:Loading config file omni_config
     175INFO:omni:Using control framework pgeni
     176INFO:omni:Saving output to a file.
     177INFO:omni:Listed resources on 1 out of 1 possible aggregates.
     178INFO:omni:Writing to 'rspec-www-uky-emulab-net-protogeni.xml'
     179INFO:omni: ------------------------------------------------------------
     180INFO:omni: Completed listresources:
     181
     182  Options as run:
     183                aggregate: https://www.uky.emulab.net/protogeni/xmlrpc/am
     184                configfile: omni_config
     185                framework: pgeni
     186                native: True
     187                output: True
     188
     189  Args: listresources
     190
     191  Result Summary: Retrieved resources from 1 aggregates.
     192Wrote rspecs from 1 aggregates to 1 files.
     193INFO:omni: ============================================================
    97194}}}
    98195
    99196== Create a slice ==
    100197
    101 Since the [wiki:GENIExperimenter/ExperimentExample#OmniConfiguration omni_config] defines the credentials and the Clearinghouse for the GPO Protogeni, your slice will be created in pgeni.gpolab.bbn.com aggregate.  For this example a slice named ''lnevers_slice'' is created, you should choose a slice name that is meaningful to you:
     198Since the [wiki:GENIExperimenter/ExperimentExample#OmniConfiguration omni_config] specifies using the credentials and the Clearinghouse for the GPO Protogeni, your slice will be created in the pgeni.gpolab.bbn.com namespace.  For this example a slice named ''lnevers_slice'' is created; you should choose a slice name that is meaningful to you. To avoid confusion, avoid creating a slice with the same name as your username (ie if your username is ''lnevers'', don't name your slice ''lnevers'' too).
    102199
    103200{{{
     
    105202INFO:omni:Loading config file omni_config
    106203INFO:omni:Using control framework pgeni
    107 Created slice with Name lnevers_slice, URN urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice
     204INFO:omni:Created slice with Name lnevers_slice, URN urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice, Expiration 2011-06-16 19:46:49
     205INFO:omni: ------------------------------------------------------------
     206INFO:omni: Completed createslice:
     207
     208  Options as run:
     209                configfile: omni_config
     210                framework: pgeni
     211                native: True
     212
     213  Args: createslice lnevers_slice
     214
     215  Result Summary: Created slice with Name lnevers_slice, URN urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice, Expiration 2011-06-16 19:46:49
     216 
     217INFO:omni: ============================================================
     218}}}
     219
     220== Renew your slice ==
     221
     222Note in the above output that our new slice expires soon. Your resource reservations will not be longer then your slice life, and will go away when the reservation expires. For your experiment be sure to renew your slice for the duration of your experiment. Here we only slightly extend the slice lifetime.
     223
     224{{{
     225$ ./src/omni.py renewslice lnevers_slice 20110618
     226INFO:omni:Loading config file omni_config
     227INFO:omni:Using control framework pgeni
     228INFO:omni.protogeni:Requesting new slice expiration '2011-06-18T00:00:00'
     229INFO:omni:Slice lnevers_slice now expires at 2011-06-18 00:00:00 UTC
     230INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires on 2011-06-18 00:00:00 UTC
     231INFO:omni: ------------------------------------------------------------
     232INFO:omni: Completed renewslice:
     233
     234  Options as run:
     235                configfile: omni_config
     236                framework: pgeni
     237                native: True
     238
     239  Args: renewslice lnevers_slice 20110618
     240
     241  Result Summary: Slice lnevers_slice now expires at 2011-06-18 00:00:00 UTC
     242Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires on 2011-06-18 00:00:00 UTC
     243INFO:omni: ============================================================
    108244}}}
    109245
    110246== Add Emulab PG resources to GPO PG slice ==
    111247
    112 To request two Emulab ProtoGENI nodes, the following rspec named emulab.rspec was used for this example, your rspec will be specific to your experiment requirements:
    113 {{{
    114 <?xml version="1.0" encoding="UTF-8"?>
    115 <rspec xmlns="http://protogeni.net/resources/rspec/0.2">
    116   <node virtual_id="geni1"
    117         virtualization_type="emulab-vnode">
     248To request two Emulab ProtoGENI nodes, the following rspec named emulab.rspec was used for this example; your rspec will be specific to your experiment requirements:
     249
     250{{{
     251#!xml
     252<?xml version="1.0" ?>
     253<!-- Resources at AM:
     254        URN: unspecified_AM_URN
     255        URL: https://www.emulab.net/protogeni/xmlrpc/am
     256 -->
     257<rspec type="request" xmlns="http://www.protogeni.net/resources/rspec/2" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/request.xsd http://www.protogeni.net/resources/rspec/ext/emulab/1 http://www.protogeni.net/resources/rspec/ext/emulab/1/ptop_extension.xsd">
     258  <node client_id="geni1"
     259        exclusive="true">
     260    <sliver_type name="raw-pc" />
    118261  </node>
    119   <node virtual_id="geni2"
    120         virtualization_type="emulab-vnode">
     262  <node client_id="geni2"
     263        exclusive="true">
     264    <sliver_type name="raw-pc" />
    121265  </node>
    122266</rspec>
    123267}}}
    124268
    125 To request two Protogeni nodes, a sliver was created within the Emulab Protogeni with the rpec above using the following command:
    126 {{{
    127 $ ./src/omni.py -a https://www.emulab.net/protogeni/xmlrpc/am -n createsliver lnevers_slice emulab.rspec
    128 INFO:omni:Loading config file omni_config
    129 INFO:omni:Using control framework pgeni
    130 Asked https://www.emulab.net/protogeni/xmlrpc/am to reserve resources. Result:
     269To request two Protogeni nodes, a sliver was created within the Emulab Protogeni aggregate with the rspec above using the following command. Note the use of the {{{-o}}} argument, which saves the manifest RSpec to a file. The manifest contains your new host's IP address and login information.
     270{{{
     271$ ./src/omni.py -a https://www.emulab.net/protogeni/xmlrpc/am -o createsliver lnevers_slice emulab.rspec
     272INFO:omni:Loading config file omni_config
     273INFO:omni:Using control framework pgeni
     274INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires within 1 day on 2011-06-16 19:46:49 UTC
     275INFO:omni:Creating sliver(s) from rspec file emulab.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice
     276INFO:omni:Writing result of createsliver for slice: lnevers_slice at AM: https://www.emulab.net/protogeni/xmlrpc/am to file lnevers_slice-manifest-rspec-www-emulab-net-protogeni.xml
     277INFO:omni:Writing to 'lnevers_slice-manifest-rspec-www-emulab-net-protogeni.xml'
     278INFO:omni: ------------------------------------------------------------
     279INFO:omni: Completed createsliver:
     280
     281  Options as run:
     282                aggregate: https://www.emulab.net/protogeni/xmlrpc/am
     283                configfile: omni_config
     284                framework: pgeni
     285                native: True
     286                output: True
     287
     288  Args: createsliver lnevers_slice emulab.rspec
     289
     290  Result Summary: Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires within 1 day(s) on 2011-06-16 19:46:49 UTC
     291Reserved resources on https://www.emulab.net/protogeni/xmlrpc/am.
     292   Saved createsliver results to lnevers_slice-manifest-rspec-www-emulab-net-protogeni.xml. 
     293INFO:omni: ============================================================
     294}}}
     295
     296The manifest RSpec - the result of your reservation - looks like this:
     297{{{
     298#!xml
    131299<?xml version="1.0" ?>
    132 <rspec xmlns="http://protogeni.net/resources/rspec/0.2"> 
    133     <node component_manager_urn="urn:publicid:IDN+emulab.net+authority+cm" component_manager_uuid="28a10955-aa00-11dd-ad1f-001143e453fe" component_urn="urn:publicid:IDN+emulab.net+node+pc303" component_uuid="de9e6e61-773e-102b-8eb4-001143e453fe" exclusive="1" hostname="pc303.emulab.net" sliver_urn="urn:publicid:IDN+emulab.net+sliver+36084" sliver_uuid="a8e9898e-48df-11e0-b35d-001143e453fe" sshdport="22" virtual_id="geni1" virtualization_type="raw">   
    134       <services>      <login authentication="ssh-keys" hostname="pc303.emulab.net" port="22"/>    </services>  </node> 
    135     <node component_manager_urn="urn:publicid:IDN+emulab.net+authority+cm" component_manager_uuid="28a10955-aa00-11dd-ad1f-001143e453fe" component_urn="urn:publicid:IDN+emulab.net+node+pc203" component_uuid="de9e66fd-773e-102b-8eb4-001143e453fe" exclusive="1" hostname="pc203.emulab.net" sliver_urn="urn:publicid:IDN+emulab.net+sliver+36085" sliver_uuid="a95e6eef-48df-11e0-b35d-001143e453fe" sshdport="22" virtual_id="geni2" virtualization_type="raw">   
    136       <services>      <login authentication="ssh-keys" hostname="pc203.emulab.net" port="22"/>    </services>  </node> 
     300<!-- Reserved resources for:
     301        Slice: lnevers_slice
     302        At AM:
     303        URL: http://www.emulab.net/protogeni/xmlrpc/am
     304 -->
     305<rspec type="manifest" xmlns="http://www.protogeni.net/resources/rspec/2" xmlns:
     306emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:xsi="http:/
     307/www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.protogeni.ne
     308t/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/manifest.xsd http
     309://www.protogeni.net/resources/rspec/ext/emulab/1 http://www.protogeni.net/resou
     310rces/rspec/ext/emulab/1/ptop_extension.xsd"> 
     311    <node client_id="geni1" component_id="urn:publicid:IDN+emulab.net+node+pc141
     312" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" exclusive="tru
     313e" sliver_id="urn:publicid:IDN+emulab.net+sliver+39860" xmlns:emulab="http://www
     314.protogeni.net/resources/rspec/ext/emulab/1">   
     315        <sliver_type name="raw"/>   
     316      <emulab:vnode name="pc141"/>    <services>      <login authentication="ssh
     317-keys" hostname="pc141.emulab.net" port="22" username="lnevers"/>    </services
     318>  </node> 
     319    <node client_id="geni2" component_id="urn:publicid:IDN+emulab.net+node+pc139
     320" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" exclusive="tru
     321e" sliver_id="urn:publicid:IDN+emulab.net+sliver+39861" xmlns:emulab="http://www
     322.protogeni.net/resources/rspec/ext/emulab/1">   
     323        <sliver_type name="raw"/>   
     324      <emulab:vnode name="pc139"/>    <services>      <login authentication="ssh
     325-keys" hostname="pc139.emulab.net" port="22" username="lnevers"/>    </services
     326>  </node> 
    137327</rspec>
    138 
    139328}}}
    140329
    141330== Add PlanetLab resources to GPO PG slice ==
    142331
    143 To request three Planetlab nodes, the following rspec named planet.rspec was used for this example, your rspec will be specific to your experiment requirements:
    144 
    145 {{{
    146 <?xml version="1.0"?>
    147 <RSpec type="SFA">
    148   <network name="plc">
    149     <site id="rit">
    150       <name>RIT</name>
    151       <node id="n11503">
    152         <hostname>planet2.cs.rit.edu</hostname>
    153         <sliver />
    154       </node>
    155     </site>
    156     <site id="williams">
    157       <name>Williams College</name>
    158       <node id="n10860">
    159         <hostname>planetlab3.williams.edu</hostname>
    160         <sliver />
    161       </node>
    162     </site>
    163     <site id="bbn">
    164       <name>BBN Technologies</name>
    165       <node id="n13627">
    166         <hostname>plnode-03.gpolab.bbn.com</hostname>
    167         <sliver />
    168       </node>
    169     </site>
    170   </network>
    171 </RSpec>
    172 }}}
    173 
    174 To request the three Planetlab nodes, a sliver was created within Planetlab with the rpec above using the following command:
    175 
    176 {{{
    177 $ ./src/omni.py -a http://www.planet-lab.org:12346 -n createsliver lnevers_slice planet.rspec
    178 INFO:omni:Loading config file omni_config
    179 INFO:omni:Using control framework pgeni
    180 Asked http://www.planet-lab.org:12346 to reserve resources. Result: <?xml version="1.0"?>
    181 <RSpec type="SFA">
    182   <network name="plc">
    183     <site id="rit">
    184       <name>RIT</name>
    185       <node id="n11503">
    186         <hostname>"planet2.cs.rit.edu</hostname>
    187         <sliver />
    188       </node>
    189     </site>
    190     <site id="williams">
    191       <name>Williams College</name>
    192       <node id="n10860">
    193         <hostname>planetlab3.williams.edu</hostname>
    194         <sliver />
    195       </node>
    196     </site>
    197     <site id="bbn">
    198       <name>BBN Technologies</name>
    199       <node id="n13627">
    200         <hostname>plnode-03.gpolab.bbn.com</hostname>
    201         <sliver />
    202       </node>
    203     </site>
    204   </network>
    205 </RSpec>
    206 
    207 
    208 INFO:omni:Please run the omni sliverstatus call on your slice to determine your login name to PL resources
    209 }}}
    210 
    211 As part of the ''createsliver'' operation for PL nodes, Omni tools upload the user SSH keys based on the [users] section of the omni_config. If you have problems in setting up your slice, contact us at [mailto:help@geni.net].
     332To request three Planetlab nodes, the following rspec named planet.rspec was used for this example; your rspec will be specific to your experiment requirements.
     333
     334This example uses ProtoGENI V2 RSpec format. Standard SFA formats are also acceptable. To generate the ProtoGENI V2 request from the Advertisement:
     335 * Change the rspec headers to specify that this is a request, using the headers shown below
     336 * Pull out only the nodes you wish to reserve - ensure they say {{{available now="true"}}}
     337 * For each node
     338  * Add an attribute {{{client_id}}} with a nickname
     339  * Remove the {{{available}}} sub-element
     340  * Add the sub-element {{{<sliver_type name="plab-vnode"/>}}}
     341
     342{{{
     343#!xml
     344<?xml version="1.0" ?>
     345<!-- Resources at AM:
     346        URN: unspecified_AM_URN
     347        URL: http://www.planet-lab.org:12346
     348 -->
     349<rspec type="request"
     350       xmlns="http://www.protogeni.net/resources/rspec/2"
     351       xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1"
     352       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     353       xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2
     354       http://www.protogeni.net/resources/rspec/2/request.xsd
     355       http://www.protogeni.net/resources/rspec/ext/emulab/1
     356       http://www.protogeni.net/resources/rspec/ext/emulab/1/ptop_extension.xsd">
     357  <node
     358    component_id="urn:publicid:IDN+plc:rit+node+planet2.cs.rit.edu"
     359    component_manager_id="urn:publicid:IDN+plc+authority+am"
     360    component_name="planet2.cs.rit.edu" exclusive="false"
     361    client_id="ritpl2">   
     362      <hardware_type name="plab-pc"/>   
     363      <hardware_type name="pc"/>   
     364      <location country="us" latitude="43.0844" longitude="-77.6799"/>   
     365      <sliver_type name="plab-vnode"/>   
     366  </node> 
     367  <node
     368    component_id="urn:publicid:IDN+plc:williams+node+planetlab3.williams.edu"
     369    component_manager_id="urn:publicid:IDN+plc+authority+am"
     370    component_name="planetlab3.williams.edu" exclusive="false"
     371    client_id="williamspl3">   
     372      <hardware_type name="plab-pc"/>   
     373      <hardware_type name="pc"/>   
     374      <location country="us" latitude="42.71" longitude="-73.2"/>   
     375      <sliver_type name="plab-vnode"/>   
     376  </node> 
     377  <node
     378    component_id="urn:publicid:IDN+plc:bbn+node+plnode-03.gpolab.bbn.com"
     379    component_manager_id="urn:publicid:IDN+plc+authority+am"
     380    component_name="plnode-03.gpolab.bbn.com" exclusive="false"
     381    client_id="gpopl3">   
     382      <hardware_type name="plab-pc"/>   
     383      <hardware_type name="pc"/>   
     384      <location country="us" latitude="42.3907" longitude="-71.1478"/>   
     385      <sliver_type name="plab-vnode"/>   
     386  </node> 
     387</rspec>
     388}}}
     389
     390To request the three Planetlab nodes, a sliver was created within Planetlab with the rspec above using the following command:
     391
     392{{{
     393$ ./src/omni.py -a http://www.planet-lab.org:12346 -o createsliver lnevers_slice planet.rspec
     394INFO:omni:Loading config file omni_config
     395INFO:omni:Using control framework pgeni
     396INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires on 2011-06-18 00:00:00 UTC
     397INFO:omni:Creating sliver(s) from rspec file planet.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice
     398INFO:omni:Writing result of createsliver for slice: lnevers_slice at AM: https://www.planet-lab.org:12346 to file lnevers_slice-manifest-rspec-www-planet-lab-org.xml
     399INFO:omni:Writing to 'lnevers_slice-manifest-rspec-www-planet-lab-org.xml'
     400INFO:omni: ------------------------------------------------------------
     401INFO:omni: Completed createsliver:
     402
     403  Options as run:
     404                aggregate: https://www.planet-lab.org:12346
     405                configfile: omni_config
     406                framework: pgeni
     407                native: True
     408                output: True
     409
     410  Args: createsliver lnevers_slice planet.rspec
     411
     412  Result Summary: Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires on 2011-06-18 00:00:00 UTC
     413Reserved resources on https://www.planet-lab.org:12346.
     414   Saved createsliver results to lnevers_slice-manifest-rspec-www-planet-lab-org.xml. 
     415INFO:omni: ============================================================
     416}}}
     417
     418The resulting manifest RSpec is this:
     419{{{
     420#!xml
     421<?xml version="1.0" ?>
     422<!-- Reserved resources for:
     423        Slice: lnevers_slice
     424        At AM:
     425        URL: https://www.planet-lab.org:12346
     426 -->
     427<rspec expires="2011-06-16T15:52:23Z" generated="2011-06-16T14:52:23Z" type="man
     428ifest" xmlns="http://www.protogeni.net/resources/rspec/2" xmlns:xsi="http://www.
     429w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.protogeni.net/res
     430ources/rspec/2 http://www.protogeni.net/resources/rspec/2/manifest.xsd"> 
     431    <node client_id="planetlab3.williams.edu" component_id="urn:publicid:IDN+plc
     432:williams+node+planetlab3.williams.edu" component_manager_id="urn:publicid:IDN+p
     433lc+authority+am" component_name="planetlab3.williams.edu" exclusive="false" sliv
     434er_id="urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice">   
     435        <hardware_type name="plab-pc"/>   
     436        <hardware_type name="pc"/>   
     437        <location country="us" latitude="42.71" longitude="-73.2"/>   
     438        <sliver_type name="plab-vnode"/>   
     439    </node> 
     440    <node client_id="plnode-03.gpolab.bbn.com" component_id="urn:publicid:IDN+pl
     441c:bbn+node+plnode-03.gpolab.bbn.com" component_manager_id="urn:publicid:IDN+plc+
     442authority+am" component_name="plnode-03.gpolab.bbn.com" exclusive="false" sliver
     443_id="urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice">   
     444        <hardware_type name="plab-pc"/>   
     445        <hardware_type name="pc"/>   
     446        <location country="us" latitude="42.3907" longitude="-71.1478"/>   
     447        <sliver_type name="plab-vnode"/>   
     448    </node> 
     449    <node client_id="planet2.cs.rit.edu" component_id="urn:publicid:IDN+plc:rit+
     450node+planet2.cs.rit.edu" component_manager_id="urn:publicid:IDN+plc+authority+am
     451" component_name="planet2.cs.rit.edu" exclusive="false" sliver_id="urn:publicid:
     452IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice">   
     453        <hardware_type name="plab-pc"/>   
     454        <hardware_type name="pc"/>   
     455        <location country="us" latitude="43.0844" longitude="-77.6799"/>   
     456        <sliver_type name="plab-vnode"/>   
     457    </node> 
     458</rspec>
     459}}}
     460
     461Note that your login for your nodes is available by running {{{sliverstatus}}}.
     462
     463As part of the ''createsliver'' operation for PL nodes, Omni uploads the user SSH keys based on the [users] section of the omni_config. If you have problems in setting up your slice, contact us at [mailto:help@geni.net].
    212464
    213465== Checking sliver resource status ==
     
    216468
    217469{{{
    218 $ ./src/omni.py sliverstatus -a https://www.emulab.net/protogeni/xmlrpc/am lnevers_slice
    219 INFO:omni:Loading config file omni_config
    220 INFO:omni:Using control framework pgeni
    221 Status of Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice:
    222 Sliver at https://www.emulab.net/protogeni/xmlrpc/am:
    223 {'geni_resources': [{'geni_error': '',
     470$ ./src/omni.py -a https://www.emulab.net/protogeni/xmlrpc/am sliverstatus lnevers_slice
     471INFO:omni:Loading config file omni_config
     472INFO:omni:Using control framework pgeni
     473INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires on 2011-06-18 00:00:00 UTC
     474INFO:omni:Status of Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice:
     475INFO:omni:Sliver status for Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice at AM URL https://www.emulab.net/protogeni/xmlrpc/am
     476INFO:omni:{'geni_resources': [{'geni_error': '',
    224477                     'geni_status': 'ready',
    225                      'geni_urn': 'urn:publicid:IDN+emulab.net+sliver+36085',
    226                      'pg_manifest': {'attributes': {'component_manager_urn': 'urn:publicid:IDN+emulab.net+authority+cm',
    227                                                     'component_manager_uuid': '28a10955-aa00-11dd-ad1f-001143e453fe',
    228                                                     'component_urn': 'urn:publicid:IDN+emulab.net+node+pc203',
    229                                                     'component_uuid': 'de9e66fd-773e-102b-8eb4-001143e453fe',
    230                                                     'exclusive': 1,
    231                                                     'hostname': 'pc203.emulab.net',
    232                                                     'sliver_urn': 'urn:publicid:IDN+emulab.net+sliver+36085',
    233                                                     'sliver_uuid': 'a95e6eef-48df-11e0-b35d-001143e453fe',
    234                                                     'sshdport': 22,
    235                                                     'virtual_id': 'geni2',
    236                                                     'virtualization_type': 'raw',
    237                                                     'xmlns': 'http://protogeni.net/resources/rspec/0.2'},
    238                                      'children': [{'attributes': {},
     478                     'geni_urn': 'urn:publicid:IDN+emulab.net+sliver+39860',
     479                     'pg_manifest': {'attributes': {'client_id': 'geni1',
     480                                                    'component_id': 'urn:publicid:IDN+emulab.net+node+pc141',
     481                                                    'component_manager_id': 'urn:publicid:IDN+emulab.net+authority+cm',
     482                                                    'exclusive': 'true',
     483                                                    'sliver_id': 'urn:publicid:IDN+emulab.net+sliver+39860',
     484                                                    'xmlns': 'http://www.protogeni.net/resources/rspec/2',
     485                                                    'xmlns:emulab': 'http://www.protogeni.net/resources/rspec/ext/emulab/1'},
     486                                     'children': [{'attributes': {'name': 'raw'},
     487                                                   'children': [],
     488                                                   'name': 'sliver_type'},
     489                                                  {'attributes': {'name': 'pc141'},
     490                                                   'children': [],
     491                                                   'name': 'emulab:vnode'},
     492                                                  {'attributes': {},
    239493                                                   'children': [{'attributes': {'authentication': 'ssh-keys',
    240                                                                                 'hostname': 'pc203.emulab.net',
    241                                                                                 'port': 22},
     494                                                                                'hostname': 'pc141.emulab.net',
     495                                                                                'port': 22,
     496                                                                                'username': 'lnevers'},
    242497                                                                 'children': [],
    243498                                                                 'name': 'login'}],
     
    247502                    {'geni_error': '',
    248503                     'geni_status': 'ready',
    249                      'geni_urn': 'urn:publicid:IDN+emulab.net+sliver+36084',
    250                      'pg_manifest': {'attributes': {'component_manager_urn': 'urn:publicid:IDN+emulab.net+authority+cm',
    251                                                     'component_manager_uuid': '28a10955-aa00-11dd-ad1f-001143e453fe',
    252                                                     'component_urn': 'urn:publicid:IDN+emulab.net+node+pc303',
    253                                                     'component_uuid': 'de9e6e61-773e-102b-8eb4-001143e453fe',
    254                                                     'exclusive': 1,
    255                                                     'hostname': 'pc303.emulab.net',
    256                                                     'sliver_urn': 'urn:publicid:IDN+emulab.net+sliver+36084',
    257                                                     'sliver_uuid': 'a8e9898e-48df-11e0-b35d-001143e453fe',
    258                                                     'sshdport': 22,
    259                                                     'virtual_id': 'geni1',
    260                                                     'virtualization_type': 'raw',
    261                                                     'xmlns': 'http://protogeni.net/resources/rspec/0.2'},
    262                                      'children': [{'attributes': {},
     504                     'geni_urn': 'urn:publicid:IDN+emulab.net+sliver+39861',
     505                     'pg_manifest': {'attributes': {'client_id': 'geni2',
     506                                                    'component_id': 'urn:publicid:IDN+emulab.net+node+pc139',
     507                                                    'component_manager_id': 'urn:publicid:IDN+emulab.net+authority+cm',
     508                                                    'exclusive': 'true',
     509                                                    'sliver_id': 'urn:publicid:IDN+emulab.net+sliver+39861',
     510                                                    'xmlns': 'http://www.protogeni.net/resources/rspec/2',
     511                                                    'xmlns:emulab': 'http://www.protogeni.net/resources/rspec/ext/emulab/1'},
     512                                     'children': [{'attributes': {'name': 'raw'},
     513                                                   'children': [],
     514                                                   'name': 'sliver_type'},
     515                                                  {'attributes': {'name': 'pc139'},
     516                                                   'children': [],
     517                                                   'name': 'emulab:vnode'},
     518                                                  {'attributes': {},
    263519                                                   'children': [{'attributes': {'authentication': 'ssh-keys',
    264                                                                                 'hostname': 'pc303.emulab.net',
    265                                                                                 'port': 22},
     520                                                                                'hostname': 'pc139.emulab.net',
     521                                                                                'port': 22,
     522                                                                                'username': 'lnevers'},
    266523                                                                 'children': [],
    267524                                                                 'name': 'login'}],
     
    271528 'geni_status': 'ready',
    272529 'geni_urn': 'urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice',
    273  'pg_expires': '2011-03-07 16:23:05',
     530 'pg_expires': '2011-06-17 18:00:00',
    274531 'pg_status': 'ready'}
    275 }}}
    276 
    277 To Check the ''sliverstatus'' for PL resources, the following command was issued:
    278 
    279 {{{
    280 $ ./src/omni.py sliverstatus -a http://www.planet-lab.org:12346 lnevers_slice
    281 INFO:omni:Loading config file omni_config
    282 INFO:omni:Using control framework pgeni
    283 Status of Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice:
    284 Sliver at http://www.planet-lab.org:12346:
     532INFO:omni: ------------------------------------------------------------
     533INFO:omni: Completed sliverstatus:
     534
     535  Options as run:
     536                aggregate: https://www.emulab.net/protogeni/xmlrpc/am
     537                configfile: omni_config
     538                framework: pgeni
     539                native: True
     540
     541  Args: sliverstatus ahtest_slice
     542
     543  Result Summary: Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires on 2011-06-18 00:00:00 UTC
     544Returned status of slivers on 1 of 1 possible aggregates.
     545INFO:omni: ============================================================
     546}}}
     547
     548To check the ''sliverstatus'' for PL resources, but this time saving the status output to a file, the following command was issued:
     549
     550{{{
     551$ ./src/omni.py -a http://www.planet-lab.org:12346 -o sliverstatus lnevers_slice
     552INFO:omni:Loading config file omni_config
     553INFO:omni:Using control framework pgeni
     554INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires on 2011-06-18 00:00:00 UTC
     555INFO:omni:Status of Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice:
     556INFO:omni:Writing to 'lnevers_slice-sliverstatus-www-planet-lab-org.json'
     557INFO:omni:Sliver status for Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice at AM URL https://www.planet-lab.org:12346
     558INFO:omni: ------------------------------------------------------------
     559INFO:omni: Completed sliverstatus:
     560
     561  Options as run:
     562                aggregate: https://www.planet-lab.org:12346
     563                configfile: omni_config
     564                framework: pgeni
     565                native: True
     566                output: True
     567
     568  Args: sliverstatus ahtest_slice
     569
     570  Result Summary: Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires on 2011-06-18 00:00:00 UTC
     571Returned status of slivers on 1 of 1 possible aggregates.
     572INFO:omni: ============================================================
     573}}}
     574
     575And the saved status is:
     576{{{
    285577{'geni_resources': [{'geni_error': '',
    286578                     'geni_status': 'ready',
    287                      'geni_urn': 'urn:publicid:IDN+plc:bbn+node+plnode-03.gpolab.bbn.com',
     579                     'geni_urn': 'urn:publicid:IDN+plc:williams+node+planetlab3.wi
     580lliams.edu',
     581                     'pl_boot_state': 'boot',
     582                     'pl_hostname': 'planetlab3.williams.edu',
     583                     'pl_last_contact': 'Thu Jun 16 10:50:38 2011'},
     584                    {'geni_error': '',
     585                     'geni_status': 'ready',
     586                     'geni_urn': 'urn:publicid:IDN+plc:bbn+node+plnode-03.gpolab.b
     587bn.com',
    288588                     'pl_boot_state': 'boot',
    289589                     'pl_hostname': 'plnode-03.gpolab.bbn.com',
    290                      'pl_last_contact': 'Mon Mar  7 12:17:51 2011'},
     590                     'pl_last_contact': 'Thu Jun 16 11:00:21 2011'},
    291591                    {'geni_error': '',
    292592                     'geni_status': 'ready',
    293                      'geni_urn': 'urn:publicid:IDN+plc:williams+node+planetlab3.williams.edu',
    294                      'pl_boot_state': 'boot',
    295                      'pl_hostname': 'planetlab3.williams.edu',
    296                      'pl_last_contact': 'Mon Mar  7 12:23:21 2011'},
    297                     {'geni_error': '',
    298                      'geni_status': 'ready',
    299                      'geni_urn': 'urn:publicid:IDN+plc:rit+node+planet2.cs.rit.edu',
     593                     'geni_urn': 'urn:publicid:IDN+plc:rit+node+planet2.cs.rit.edu
     594',
    300595                     'pl_boot_state': 'boot',
    301596                     'pl_hostname': 'planet2.cs.rit.edu',
    302                      'pl_last_contact': 'Tue Mar  1 05:49:20 2011'}],
     597                     'pl_last_contact': 'Thu Jun 16 10:54:26 2011'}],
    303598 'geni_status': 'ready',
    304599 'geni_urn': 'urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice',
    305  'pl_expires': 'Mon Mar 21 13:24:29 2011',
    306  'pl_login': 'pgenigpolabbbncom_lneversslice'}
    307 
    308 }}}
    309 
    310 A lot of very useful information is reported for the ''sliverstatus'' output including which hosts are assigned to you and for how long. For PlanetLab, notice the value in the 'pl_login' field, which is the login to be used to access the nodes. For a slice across multiple aggregates, you should pay close attention to the expiration time for each aggregate sliver (pg_expires & pl_expires).  For this example the pg_expires is ''2011-03-07 16:23:05'' while the pl_expires is ''Mon Mar 21 13:24:29 2011'', make sure that each expiration time meets your requirements for the experiment duration. If you need to extend the expiration, you can use the Omni ''renewsliver'' to expand the time for each sliver and for the slice. The following command is issued to modify the expiration time for the ProtoGENI resources:
    311 
    312 {{{
    313 $ ./src/omni.py -a https://www.emulab.net/protogeni/xmlrpc/am renewslice lnevers_slice "03/21/11 13:00:00"
    314 INFO:omni:Loading config file omni_config
    315 INFO:omni:Using control framework pgeni
    316 INFO:omni.protogeni:requesting new expiration '2011-03-21T13:00:00'
    317 Slice lnevers_slice now expires at 2011-03-21 13:00:00
    318 
    319 }}}
    320 
    321 Check status again and you will notice that the ''pg_expires'' has been modified and is more in line with the ''pg_expires'':
    322 
    323 {{{
    324 $ ./src/omni.py sliverstatus -a https://www.emulab.net/protogeni/xmlrpc/am lnevers_slice
    325 INFO:omni:Loading config file omni_config
    326 INFO:omni:Using control framework pgeni
    327 Status of Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice:
    328 Sliver at https://www.emulab.net/protogeni/xmlrpc/am:
    329 {'geni_resources': [{'geni_error': '',
    330                      'geni_status': 'ready',
    331                      'geni_urn': 'urn:publicid:IDN+emulab.net+sliver+36085',
    332                      'pg_manifest': {'attributes': {'component_manager_urn': 'urn:publicid:IDN+emulab.net+authority+cm',
    333                                                     'component_manager_uuid': '28a10955-aa00-11dd-ad1f-001143e453fe',
    334                                                     'component_urn': 'urn:publicid:IDN+emulab.net+node+pc203',
    335                                                     'component_uuid': 'de9e66fd-773e-102b-8eb4-001143e453fe',
    336                                                     'exclusive': 1,
    337                                                     'hostname': 'pc203.emulab.net',
    338                                                     'sliver_urn': 'urn:publicid:IDN+emulab.net+sliver+36085',
    339                                                     'sliver_uuid': 'a95e6eef-48df-11e0-b35d-001143e453fe',
    340                                                     'sshdport': 22,
    341                                                     'virtual_id': 'geni2',
    342                                                     'virtualization_type': 'raw',
    343                                                     'xmlns': 'http://protogeni.net/resources/rspec/0.2'},
    344                                      'children': [{'attributes': {},
    345                                                    'children': [{'attributes': {'authentication': 'ssh-keys',
    346                                                                                 'hostname': 'pc203.emulab.net',
    347                                                                                 'port': 22},
    348                                                                  'children': [],
    349                                                                  'name': 'login'}],
    350                                                    'name': 'services'}],
    351                                      'name': 'node'},
    352                      'pg_status': 'ready'},
    353                     {'geni_error': '',
    354                      'geni_status': 'ready',
    355                      'geni_urn': 'urn:publicid:IDN+emulab.net+sliver+36084',
    356                      'pg_manifest': {'attributes': {'component_manager_urn': 'urn:publicid:IDN+emulab.net+authority+cm',
    357                                                     'component_manager_uuid': '28a10955-aa00-11dd-ad1f-001143e453fe',
    358                                                     'component_urn': 'urn:publicid:IDN+emulab.net+node+pc303',
    359                                                     'component_uuid': 'de9e6e61-773e-102b-8eb4-001143e453fe',
    360                                                     'exclusive': 1,
    361                                                     'hostname': 'pc303.emulab.net',
    362                                                     'sliver_urn': 'urn:publicid:IDN+emulab.net+sliver+36084',
    363                                                     'sliver_uuid': 'a8e9898e-48df-11e0-b35d-001143e453fe',
    364                                                     'sshdport': 22,
    365                                                     'virtual_id': 'geni1',
    366                                                     'virtualization_type': 'raw',
    367                                                     'xmlns': 'http://protogeni.net/resources/rspec/0.2'},
    368                                      'children': [{'attributes': {},
    369                                                    'children': [{'attributes': {'authentication': 'ssh-keys',
    370                                                                                 'hostname': 'pc303.emulab.net',
    371                                                                                 'port': 22},
    372                                                                  'children': [],
    373                                                                  'name': 'login'}],
    374                                                    'name': 'services'}],
    375                                      'name': 'node'},
    376                      'pg_status': 'ready'}],
     600 'pl_expires': 'Thu Jun 30 10:52:22 2011',
     601 'pl_login': 'pgenigpolabbbncom_lnevers_slice'}
     602}}}
     603
     604
     605A lot of very useful information is reported for the ''sliverstatus'' output including which hosts are assigned to you and for how long. For PlanetLab, notice the value in the 'pl_login' field, which is the login to be used to access the nodes. For a slice across multiple aggregates, you should pay close attention to the expiration time for each aggregate sliver (pg_expires & pl_expires).  Note that slice expiration time is also available in the output of many commands.
     606
     607Also note that by using the ''aggregates'' option in your ''omni_config'', you can configure Omni to talk to all the aggregates in your experiment, and only those aggregates. Then ''sliverstatus'' will get full status for you in a single call.
     608
     609For this example the pg_expires is ''2011-06-17 18:00:00'' while the pl_expires is ''Thu Jun 30 10:52:22 2011''. Make sure that each expiration time meets your requirements for your experiment's duration. If you need to extend the expiration, you can use the Omni ''renewslice'' to expand the time for your slice as described above. Then use ''renewsliver'' to extend each sliver. The following command is issued to modify the expiration time for the ProtoGENI resources:
     610
     611{{{
     612$ ./src/omni.py -a https://www.emulab.net/protogeni/xmlrpc/am renewslice lnevers_slice 20110618
     613INFO:omni:Loading config file omni_config
     614INFO:omni:Using control framework pgeni
     615INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires on 2011-06-18 00:00:00 UTC
     616INFO:omni:Renewing Sliver urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice until 2011-06-18 00:00:00 UTC
     617INFO:omni:Renewed sliver urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice at unspecified_AM_URN (https://www.emulab.net/protogeni/xmlrpc/am) until 2011-06-18T00:00:00 UTC
     618INFO:omni: ------------------------------------------------------------
     619INFO:omni: Completed renewsliver:
     620
     621  Options as run:
     622                aggregate: https://www.emulab.net/protogeni/xmlrpc/am
     623                configfile: omni_config
     624                framework: pgeni
     625                native: True
     626
     627  Args: renewsliver lnevers_slice 20110618
     628
     629  Result Summary: Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires on 2011-06-18 00:00:00 UTC
     630Renewed sliver urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice at unspecified_AM_URN (https://www.emulab.net/protogeni/xmlrpc/am) until 2011-06-18T00:00:00 UTC
     631 
     632INFO:omni: ============================================================
     633}}}
     634
     635Check status again and you will notice that the ''pg_expires'' has been modified:
     636
     637{{{
     638$ ./src/omni.py -a https://www.emulab.net/protogeni/xmlrpc/am sliverstatus lnevers_slice
     639INFO:omni:Loading config file omni_config
     640INFO:omni:Using control framework pgeni
     641
     642.....
     643
    377644 'geni_status': 'ready',
    378645 'geni_urn': 'urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice',
    379  'pg_expires': '2011-03-21 07:00:00',
     646 'pg_expires': '2011-06-17 18:00:00',
    380647 'pg_status': 'ready'}
    381 }}}
    382 
    383 Both sliver now have similar expiration time and resources are available for the same timeframe. 
     648INFO:omni: ------------------------------------------------------------
     649INFO:omni: Completed sliverstatus:
     650
     651  Options as run:
     652                aggregate: https://www.emulab.net/protogeni/xmlrpc/am
     653                configfile: omni_config
     654                framework: pgeni
     655                native: True
     656
     657  Args: sliverstatus lnevers_slice
     658
     659  Result Summary: Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice expires on 2011-06-18 00:00:00 UTC
     660Returned status of slivers on 1 of 1 possible aggregates.
     661INFO:omni: ============================================================
     662}}}
    384663
    385664== Verify Resources and run your Experiment ==
    386665
    387 Once you have the ''sliverstatus'', you have enough information to access the hosts allocated for you experiment.  Simply SSH into one of the hosts and ping any of the other hosts in your experiment.  Notice that the ''pl_login'' is being used to get access.  Now verify that there is connectivity between to allocated resource. In this example experiment, one of the !PlanetLab resources allocated is used to ping a !ProtoGENI resource also part of the experiment:
     666Once you have the ''sliverstatus'', you have enough information to access the hosts allocated for your experiment.  Simply SSH into one of the hosts and ping any of the other hosts in your experiment.  Notice that the ''pl_login'' is being used to get access.  Now verify that there is connectivity between your allocated resources. In this example experiment, one of the !PlanetLab resources allocated is used to ping a !ProtoGENI resource that is also part of the experiment:
    388667
    389668{{{
     
    402681}}}
    403682
    404 Once you have verified connectivity between these hosts that have been allocated, you may start your experiment.
     683Once you have verified connectivity between these hosts that have been allocated to you, you may start your experiment.
    405684
    406685== Delete sliver resources ==
    407686
    408 When the experiment is completed you should release the resources by deleting the resource sliver for each the Resource Aggregates used in the Experiment. In the example experiment used in this page, the ProtoGENI sliver was deleted as follows:
    409 {{{
    410 $ ./src/omni.py -a https://www.emulab.net/protogeni/xmlrpc/am  deletesliver lnevers_slice
    411 INFO:omni:Loading config file omni_config
    412 INFO:omni:Using control framework pgeni
    413 Deleted sliver urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lneversslice on unspecified_AM_URN at https://www.emulab.net/protogeni/xmlrpc/am
     687When the experiment is completed you should release the resources by deleting the resource sliver for each of the Resource Aggregates used in the Experiment. In the example experiment used in this page, the ProtoGENI sliver was deleted as follows:
     688{{{
     689$ ./src/omni.py -a https://www.emulab.net/protogeni/xmlrpc/am deletesliver lnevers_slice
     690INFO:omni:Loading config file omni_config
     691INFO:omni:Using control framework pgeni
     692INFO:omni:Deleted sliver urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice on unspecified_AM_URN at https://www.emulab.net/protogeni/xmlrpc/am
     693INFO:omni: ------------------------------------------------------------
     694INFO:omni: Completed deletesliver:
     695
     696  Options as run:
     697                aggregate: https://www.emulab.net/protogeni/xmlrpc/am
     698                configfile: omni_config
     699                framework: pgeni
     700                native: True
     701
     702  Args: deletesliver lnevers_slice
     703
     704  Result Summary: Deleted sliver urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice on unspecified_AM_URN at https://www.emulab.net/protogeni/xmlrpc/am
     705INFO:omni: ============================================================
    414706}}}
    415707
    416708Also the Planetlab sliver was deleted as follows:
    417709{{{
    418 $ ./src/omni.py -a http://www.planet-lab.org:12346  deletesliver lnevers_slice
    419 INFO:omni:Loading config file omni_config
    420 INFO:omni:Using control framework pgeni
    421 Deleted sliver urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lneversslice on unspecified_AM_URN at http://www.planet-lab.org:12346
    422 
    423 }}}
    424 
     710$ ./src/omni.py -a http://www.planet-lab.org:12346 deletesliver lnevers_slice
     711INFO:omni:Loading config file omni_config
     712INFO:omni:Using control framework pgeni
     713INFO:omni:Deleted sliver urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice on unspecified_AM_URN at https://www.planet-lab.org:12346
     714INFO:omni: ------------------------------------------------------------
     715INFO:omni: Completed deletesliver:
     716
     717  Options as run:
     718                aggregate: https://www.planet-lab.org:12346
     719                configfile: omni_config
     720                framework: pgeni
     721                native: True
     722
     723  Args: deletesliver lnevers_slice
     724
     725  Result Summary: Deleted sliver urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice on unspecified_AM_URN at https://www.planet-lab.org:12346
     726INFO:omni: ============================================================
     727}}}
     728
     729== List your Slices ==
     730You are responsible for remembering your slices, and what resources you have.
     731
     732If, as here, you use Protogeni as your Clearinghouse, you can use an Omni command to {{{listmyslices}}}. Then for each, you can use {{{listresources}}} to see what you have reserved at various aggregates.
     733
     734For example:
     735{{{
     736$ ./src/omni.py listmyslices lnevers
     737INFO:omni:Loading config file omni_config
     738INFO:omni:Using control framework pgeni
     739INFO:omni:User 'lnevers' has slices:
     740        urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+lnevers_slice
     741INFO:omni: ------------------------------------------------------------
     742INFO:omni: Completed listmyslices:
     743
     744  Options as run:
     745                configfile: omni_config
     746                framework: pgeni
     747                native: True
     748
     749  Args: listmyslices lnevers
     750
     751  Result Summary: Found 1 slices for user 'lnevers'.
     752 
     753INFO:omni: ============================================================
     754}}}
     755
     756Then, to see what resources you have in this slice at Planetlab:
     757{{{
     758$ ./src/omni.py -f pgeni -a http://www.planet-lab.org:12346 -t Protogeni 2 listresources lnevers_slice
     759INFO:omni:Loading config file omni_config
     760INFO:omni:Using control framework pgeni
     761INFO:omni:Gathering resources reserved for slice lnevers_slice..
     762INFO:omni:Listed resources on 1 out of 1 possible aggregates.
     763INFO:omni:<?xml version="1.0" ?>
     764INFO:omni:<!-- Resources for:
     765        Slice: lnevers_slice
     766        at AM:
     767        URN: unspecified_AM_URN
     768        URL: http://www.planet-lab.org:12346
     769 -->
     770INFO:omni:<rspec expires="2011-06-16T16:31:00Z" generated="2011-06-16T15:31:00Z" type="manifest" xmlns="http://www.protogeni.net/resources/rspec/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/manifest.xsd"/>
     771INFO:omni: ------------------------------------------------------------
     772INFO:omni: Completed listresources:
     773
     774  Options as run:
     775                aggregate: http://www.planet-lab.org:12346
     776                configfile: omni_config
     777                framework: pgeni
     778                native: True
     779                rspectype: ('Protogeni', '2')
     780
     781  Args: listresources lnevers_slice
     782
     783  Result Summary: Retrieved resources for slice lnevers_slice from 1 aggregates.
     784Wrote rspecs from 1 aggregates.
     785INFO:omni: ============================================================
     786}}}
     787
     788The results above show that the returned RSpec contains no nodes - as expected, since we had already deleted our sliver there.
     789
     790
     791
     792Happy Experimenting!
    425793
    426794----
    427795{{{
    428796#!html
    429 <a href="mailto: help@geni.net">Email us</a> with any questions and feedback on this page!
    430 }}}
     797<a href="mailto:luisa.nevers@bbn.com">Email us</a> with any questions and feedback on this page!
     798}}}