Changes between Version 32 and Version 33 of GEC13Agenda/ExperimenterWorkflowTutorial/Tutorial


Ignore:
Timestamp:
03/13/12 11:14:07 (13 years ago)
Author:
nriga@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GEC13Agenda/ExperimenterWorkflowTutorial/Tutorial

    v32 v33  
    389389On the background Flack is creating the request specification documents that you will need to reserve the resources that are on your slice canvas. If you want to take a look at the RSpec created by flack you have to press at the button on the top right of your canvas that correspond to "Preview Request Rspec".
    390390
    391 [[Image(flack-preview.png, 50%)]]
    392 
    393 
    394 
    395 == 3. Make a ProtoGENI sliver ==
    396 The first resource we are going to add to our slice is a ProtoGENI host.
    397 
    398 === 3a. Createsliver ===
    399 Under the ''Tutorials/Omni/<username>'' directory, there is a directory called
     391[[Image(flack-preview.png, 20%)]]
     392
     393You can clear your canvas by clicking at the eraser button. You can also choose to load an already saved RSpec, but clicking at the Import button.
     394
     395[[Image(flack-import.png, 20%)]]
     396
     397Choose import from file. Navigate under your user folder (/Tutorials/ExptWorkflow/gpousr##) and under the folder rspecs. Choose the protogeni RSpec and click OK. You should see only one node appear in your canvas. Click at the (i) button to check what attributes this RSpec has set about the node. Note that the RSpec requests for a specific image, provides a URL for downloading software and also specify the install script that should be run when initializing the node.
     398
     399Now lets go back to Omni and see how createsliver works there.
     400
     401Under the ''Tutorials/ExptWorkflow/gpousr##'' directory, there is a directory called
    400402''rspecs'' that has all the necessary RSpecs for the tutorial. For this tutorial
    401403we are going to use ProtoGENI hosts from GPO's ProtoGENI, as well as Wide Area
     
    403405   * If your ProtoGENI host is in the '''emulab.net'''(e.g. pg30.emulab.net),
    404406namespace then it belongs to Utah's cluster and you should use Utah's AM
    405 (nickname: pg-utah), and use '''rspecs/final/protogeni_utah_<username>.rspec'''
    406 
    407    * If your ProtoGENI host is in the '''pgeni.gpolab.bbn.com'''(e.g.
    408 pc1.pgeni.gpolab.bbn.com), namespace then it belongs to GPO's cluster and you
    409 should use GPO's AM (nickname: pg-gpo), and use
    410 '''rspecs/final/protogeni_gpo_<username>_v02.rspec'''
    411 
    412    * '''Advanced Option''': If you are interested in creating your own RSpecs
    413 follow the instructions under [#ReservingProtoGENInodeswithFlack Reserving
    414 ProtoGENI nodes with Flack].  Then skip to the [#a3b.Sliverstatus Next Step].
    415 
    416    gpousr21 was assigned host pc1.pgeni.gpolab.bbn.com so she should use
    417 pg_gpo.rspec:
    418    {{{
    419 #!xml
     407(nickname: pg-utah), and use '''rspecs/final/protogeni_gpousr##.rspec'''
     408To figure out which AM is used for your node. open the RSpec file and look at the top where the AM is listed.
     409
     410For example gpousr25 was assigned host pc4.pgeni.gpolab.bbn.com so she should use
     411the pg_gpo AM. The rspec looks like
     412   {{{
    420413<!--
    421414This rspec will reserve one wide-area ProtoGENI host
    422415
    423 AM: http://www.emulab.net/protogeni/xmlrpc/am
     416AM: http://www.pgeni.gpolab.bbn.com/protogeni/xmlrpc/am
    424417-->
    425 <!--  This file is an rspec for GEC 12 tutorial
     418<!--  This file is an rspec for GEC 13 tutorial
    426419-->
    427420
    428 <rspec type="request"
    429        xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2
    430 http://www.protogeni.net/resources/rspec/2/request.xsd"
    431        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    432        xmlns="http://www.protogeni.net/resources/rspec/2">
    433 
    434   <node client_id="pc1"
    435         component_manager_id="urn:publicid:IDN+pgeni.gpolab.bbn.com+authority+cm"
    436         component_id="urn:publicid:IDN+pgeni.gpolab.bbn.com+node+pc1"
    437         component_name="pc1" exclusive="true">
     421<rspec type="request"
     422       xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd"
     423       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     424       xmlns="http://www.geni.net/resources/rspec/3">
     425
     426  <node client_id="pc4"
     427        component_manager_id="urn:publicid:IDN+pgeni.gpolab.bbn.com+authority+cm"
     428        component_id="urn:publicid:IDN+pgeni.gpolab.bbn.com+node+pc4"
     429        component_name="pc4" exclusive="true">
    438430    <sliver_type name="raw-pc">
    439       <disk_image
    440 name="urn:publicid:IDN+pgeni.gpolab.bbn.com+image+emulab-ops//UBUNTU1004-STD"/>
     431      <disk_image name="urn:publicid:IDN+pgeni.gpolab.bbn.com+image+emulab-ops:UBUNTU1004-STD"/>
    441432    </sliver_type>
    442433    <services>
    443       <execute command="cd /home/gpousr21/config_dir;./install.sh" shell="sh "
    444 />
    445       <install install_path="/home/gpousr21"
    446 url="http://192.1.249.166:8383/gec12tutorial_ubuntu.tar.gz" file_type="tar.gz"/>
     434      <execute command="cd /tmp;sudo ./config_dir/install.sh" shell="sh" />
     435      <install install_path="/tmp" url="http://192.1.249.166:8383/gec13tutorial_ubuntu.tar.gz"/>
    447436    </services>
    448437  </node>
    449438
    450439</rspec>
    451 
    452 
    453440   }}}
    454441
     
    459446you, so you can run the 'createsliver' command, and its ok if it fails.
    460447  {{{
    461 omni.py createsliver -a <AM_NICKNAME> gposlice## rspecs/final/<rspec_file>
    462 }}}
    463 
    464 The output should look like :
     448omni.py createsliver -a <AM_NICKNAME> sliceomni## rspecs/<rspec_file>
     449}}}
     450
     451For user gpousr25, this would look like :
     452
    465453{{{
    466454#!xml
    467455
    468 geni@geni-vm:~/omni_tutorial$ omni.py createsliver -a
    469 http://www.emulab.net/protogeni/xmlrpc/am aliceslice rspecs/pg_utah.rspec
    470 
    471 FILL IN HERE
    472 
    473 }}}
    474 
    475 === 3b. Sliverstatus ===
     456geni@geni-vm:~/Tutorials/ExptWorkflow/gpousr25$ omni.py createsliver testomni25 rspecs/protogeni_gpousr25.rspec  -a pg-gpo
     457INFO:omni:Loading config file omni_config
     458INFO:omni:Using control framework pgeni
     459INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+testomni25 expires within 1 day on 2012-03-13 20:32:02 UTC
     460INFO:omni:Substituting AM nickname pg-gpo with URL https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am, URN urn:publicid:IDN+pgeni.gpolab.bbn.com+authority+am
     461INFO:omni:Substituting AM nickname pg-gpo with URL https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am, URN urn:publicid:IDN+pgeni.gpolab.bbn.com+authority+am
     462INFO:omni:Creating sliver(s) from rspec file rspecs/protogeni_gpousr25.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+testomni25
     463INFO:omni:Asked https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am to reserve resources. Result:
     464INFO:omni:<?xml version="1.0" ?>
     465INFO:omni:<!-- Reserved resources for:
     466        Slice: testomni25
     467        At AM:
     468        URL: https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am
     469 -->
     470INFO:omni:<rspec type="manifest" xmlns="http://www.geni.net/resources/rspec/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd"> 
     471
     472    <node client_id="pc4" component_id="urn:publicid:IDN+pgeni.gpolab.bbn.com+node+pc4" component_manager_id="urn:publicid:IDN+pgeni.gpolab.bbn.com+authority+cm" component_name="pc4" exclusive="true" sliver_id="urn:publicid:IDN+pgeni.gpolab.bbn.com+sliver+1136">   
     473        <sliver_type name="raw-pc">     
     474            <disk_image name="urn:publicid:IDN+pgeni.gpolab.bbn.com+image+emulab-ops:UBUNTU1004-STD"/>     
     475        </sliver_type>   
     476        <services>     
     477            <execute command="cd /tmp;sudo ./config_dir/install.sh" shell="sh"/>     
     478            <install install_path="/tmp" url="http://192.1.249.166:8383/gec13tutorial_ubuntu.tar.gz"/>     
     479          <login authentication="ssh-keys" hostname="pc4.pgeni.gpolab.bbn.com" port="22" username="gpousr25"/>    </services>   
     480      <rs:vnode name="pc4" xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1"/>    <host name="pc4.testomni25.pgeni-gpolab-bbn-com.pgeni.gpolab.bbn.com"/>  </node> 
     481
     482</rspec>
     483INFO:omni: ------------------------------------------------------------
     484INFO:omni: Completed createsliver:
     485
     486  Options as run:
     487                aggregate: pg-gpo
     488                framework: pgeni
     489                native: True
     490
     491  Args: createsliver testomni25 rspecs/protogeni_gpousr25.rspec
     492
     493  Result Summary: Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+testomni25 expires within 1 day(s) on 2012-03-13 20:32:02 UTC
     494Reserved resources on https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am. 
     495INFO:omni: ============================================================
     496geni@geni-vm:~/Tutorials/ExptWorkflow/gpousr25$
     497
     498}}}
    476499
    477500We asked for an exclusive ProtoGENI host, which means that the node needs to be
     
    481504
    482505{{{
    483 omni.py sliverstatus -a <AM_NICKNAME> gposlice##
    484 }}}
    485 
     506omni.py sliverstatus -a <AM_NICKNAME> sliceomni##
     507}}}
     508
     509For user gpousr25 this would look like :
     510{{{
     511geni@geni-vm:~/Tutorials/ExptWorkflow/gpousr25$ omni.py sliverstatus sliceomni25 -a pg-gpo
     512INFO:omni:Loading config file omni_config
     513INFO:omni:Using control framework pgeni
     514INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+testomni25 expires within 1 day on 2012-03-13 20:32:02 UTC
     515INFO:omni:Substituting AM nickname pg-gpo with URL https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am, URN urn:publicid:IDN+pgeni.gpolab.bbn.com+authority+am
     516INFO:omni:Status of Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+testomni25:
     517INFO:omni:Sliver status for Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+testomni25 at AM URL https://pgeni.gpolab.bbn.com/protogeni/xmlrpc/am
     518INFO:omni:{'geni_resources': [{'geni_error': '',
     519                     'geni_status': 'changing',
     520                     'geni_urn': 'urn:publicid:IDN+pgeni.gpolab.bbn.com+sliver+1136',
     521                     'pg_manifest': {'attributes': {'client_id': 'pc4',
     522                                                    'component_id': 'urn:publicid:IDN+pgeni.gpolab.bbn.com+node+pc4',
     523                                                    'component_manager_id': 'urn:publicid:IDN+pgeni.gpolab.bbn.com+authority+cm',
     524                                                    'component_name': 'pc4',
     525                                                    'exclusive': 'true',
     526                                                    'sliver_id': 'urn:publicid:IDN+pgeni.gpolab.bbn.com+sliver+1136',
     527                                                    'xmlns': 'http://www.geni.net/resources/rspec/3'},
     528                                     'children': [{'attributes': {'name': 'raw-pc'},
     529                                                   'children': [{'attributes': {'name': 'urn:publicid:IDN+pgeni.gpolab.bbn.com+image+emulab-ops:UBUNTU1004-STD'},
     530                                                                 'children': [],
     531                                                                 'name': 'disk_image'}],
     532                                                   'name': 'sliver_type'},
     533                                                  {'attributes': {},
     534                                                   'children': [{'attributes': {'command': 'cd /tmp;sudo ./config_dir/install.sh',
     535                                                                                'shell': 'sh'},
     536                                                                 'children': [],
     537                                                                 'name': 'execute'},
     538                                                                {'attributes': {'install_path': '/tmp',
     539                                                                                'url': 'http://192.1.249.166:8383/gec13tutorial_ubuntu.tar.gz'},
     540                                                                 'children': [],
     541                                                                 'name': 'install'},
     542                                                                {'attributes': {'authentication': 'ssh-keys',
     543                                                                                'hostname': 'pc4.pgeni.gpolab.bbn.com',
     544                                                                                'port': 22,
     545                                                                                'username': 'gpousr25'},
     546                                                                 'children': [],
     547                                                                 'name': 'login'}],
     548                                                   'name': 'services'},
     549                                                  {'attributes': {'name': 'pc4',
     550                                                                  'xmlns:rs': 'http://www.protogeni.net/resources/rspec/ext/emulab/1'},
     551                                                   'children': [],
     552                                                   'name': 'rs:vnode'},
     553                                                  {'attributes': {'name': 'pc4.testomni25.pgeni-gpolab-bbn-com.pgeni.gpolab.bbn.com'},
     554                                                   'children': [],
     555                                                   'name': 'host'}],
     556                                     'name': 'node'},
     557                     'pg_status': 'changing'}],
     558 'geni_status': 'unknown',
     559 'geni_urn': 'urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+sliceomni25',
     560 'pg_expires': '2012-03-13 16:32:02',
     561 'pg_status': 'changing'}
     562INFO:omni: ------------------------------------------------------------
     563INFO:omni: Completed sliverstatus:
     564
     565  Options as run:
     566                aggregate: pg-gpo
     567                framework: pgeni
     568                native: True
     569
     570  Args: sliverstatus testomni25
     571
     572  Result Summary: Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+sliceomni25 expires within 1 day(s) on 2012-03-13 20:32:02 UTC
     573Returned status of slivers on 1 of 1 possible aggregates.
     574INFO:omni: ============================================================
     575geni@geni-vm:~/Tutorials/ExptWorkflow/gpousr25$
     576}}}
    486577The status will probably be 'not ready', you can continue with the next steps of
    487578the tutorial, and we will come back to this node later.
     579
     580If you go back in flack and press the reload slices button you will see that the omni slice has an orange button next to it. That means that the slice is still not ready.
     581You can press on that slice and notice how the whole canvas is orange. When the sliver is ready flack will change the color to green.
    488582
    489583= II. Using Physical Topology to Influence Your Experiment =