wiki:GIR3.2_DiCloud

Version 6 (modified by lnevers@bbn.com, 8 years ago) (diff)

--

DiCloud Evaluation

The DiCloud project delivered an integration milestone with GUSH supporting access to ORCA resources. Instructions were fom the GUSH Orca Example page which walks through a scenario that uses ORCA, ProtoGENI and PlanetLab resources.

Evaluation Time Frame: October 19, 2011

DiCloud Findings

Ran into 2 problems accessing the ORCA aggregate, in particular one problem was in the RSPEC to NDL converter. This component is being modified for GEC12, RENCI folks suggested that GIR evaluation be postponed to after GEC12.

DiCloud How-to

Defined the omni_config setting to access the aggregates:

[omni]
users = lnevers

[plc]
type=sfa
authority=plc.bbn
user=plc.bbn.lnevers
cert=~/.gcf/plc.bbn.lnevers.gid
key=~/.gcf/lnevers.pkey
registry=http://www.planet-lab.org:12345
slicemgr=http://www.planet-lab.org:12347

[pg]
type=pg
ch = https://www.emulab.net:443/protogeni/xmlrpc/ch
sa = https://www.emulab.net:443/protogeni/xmlrpc/sa
cert = ~/.ssl/protogeni/encrypted-cleartext.pem
key = ~/.ssl/protogeni/encrypted-cleartext.pem

[lnevers]
urn = urn:publicid:IDN+emulab.net+user+lnevers
keys=~/.ssh/id_rsa.pub

Defined the directory.xml for each of the PlanetLab, ProtoGENI, and ORCA resource managers:

<?xml version="1.0" encoding="UTF-8"?>
<gush>
    <resource_manager type="geni-plc">
      <port_map slice="bbn_gusheval" port="61414"/>
    </resource_manager>
  <resource_manager type="geni-orca">
     <port_map slice="gush-orca-ln" port="11400"/>
    </resource_manager>
  <resource_manager type="geni-pg">
     <port_map slice="lnevers3" port="61600"/>
    </resource_manager>
</gush>

Created a slice for the experiment:

$ helper-scripts/handle-geni.py -n -f pg -a https://www.emulab.net/protogeni/xmlrpc/am createslice gush-orca-gir  
INFO:omni:Loading config file omni_config
INFO:omni:Using control framework pg
Created slice with Name gush-orca-gir, URN urn:publicid:IDN+emulab.net+slice+gush-orca-gir

Defined an ORCA rspec file named orca.rpec:

<?xml version="1.0" encoding="UTF-8"?>
<rspec type="request" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2
                                          http://www.protogeni.net/resources/rspec/2/request.xsd"
     xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://www.protogeni.net/resources/rspec/2">
 <node client_id="geni1">
  <sliver_type name="raw-pc">
    <disk_image name="http://geni-images.renci.org/images/gush/gush-deb5-i386.xml" version="25f53b64cfe44dd1604447f04b
7b533bb67dea1e" />
  </sliver_type>
  <services>
    <execute shell="sh" command="sudo hostname `cat /var/emulab/boot/realname`.`cat /var/emulab/boot/mydomain`"/>
  </services>
  <interface client_id="geni1:0">
     <ip address="172.16.1.1" netmask="255.255.0.0" />
  </interface>
 </node>
 <node client_id="geni2">
  <sliver_type name="raw-pc">
    <disk_image name="http://geni-images.renci.org/images/gush/gush-deb5-i386.xml" version="25f53b64cfe44dd1604447f04b
7b533bb67dea1e" />
  </sliver_type>
  <services>
    <execute shell="sh" command="sudo hostname `cat /var/emulab/boot/realname`.`cat /var/emulab/boot/mydomain`"/>
  </services>
  <interface client_id="geni2:0" >
    <ip address="172.16.1.2" netmask="255.255.0.0" />
  </interface>
 </node>
 <link client_id="center">
   <interface_ref client_id="geni1:0" />
   <interface_ref client_id="geni2:0" />
 </link>
</rspec>

Created a sliver with the GUSH handle-geni.py script:

$ helper-scripts/handle-geni.py -n -f pg -a https://geni.renci.org:11443/orca/xmlrpc createsliver gush-orca-gir orca.rspec 
INFO:omni:Loading config file omni_config
INFO:omni:Using control framework pg
Asked https://geni.renci.org:11443/orca/xmlrpc to reserve resources. Result: Request id: 0f107a55-e551-437d-ba74-596cdf805870
[   Slice UID: 75fa10a8-4eeb-4425-ae22-b23356ba7c99 | Reservation UID: 259e7c3c-8f2c-42c5-a05e-c20d13318ee6 | Resource Type: acisrencivmsite.vm | Resource Units: 1 ] 
[   Slice UID: 75fa10a8-4eeb-4425-ae22-b23356ba7c99 | Reservation UID: c491d907-c2e0-432c-a769-2312f68362bd | Resource Type: acisrencivmsite.vm | Resource Units: 1 ] 
[   Slice UID: 75fa10a8-4eeb-4425-ae22-b23356ba7c99 | Reservation UID: 856481d6-5cca-4de9-a002-6474611e1671 | Resource Type: acisrencivmsite.vlan | Resource Units: 1 ] 

Verified the sliver status:

$ helper-scripts/handle-geni.py -n -f pg -a https://geni.renci.org:11443/orca/xmlrpc sliverstatus gush-orca-gir  
INFO:omni:Loading config file omni_config
INFO:omni:Using control framework pg
INFO:omni:Sliver at https://geni.renci.org:11443/orca/xmlrpc:
<?xml version="1.0"?>
<gush>
        <slice name="gush-orca-gir+a946c55f-7b01-4b44-b8d1-6aa40fd1057f#geni1/487ffea1-8b19-42d3-b5f4-e438f863a95e" exclusive="true" client_id="a946c55f-7b01-4b44-b8d1-6aa40fd1057f#geni1/487ffea1-8b19-42d3-b5f4-e438f863a95e">
        <sliver_type name="vm"/>
        <services>
            <login username="root" port="22" hostname="152.54.10.16" authentication="ssh-keys"/>
            <execute command="#!/bin/sh
sudo hostname `cat /var/emulab/boot/realname`.`cat /var/emulab/boot/mydomain`
"/>
        </services>
        <interface client_id="a946c55f-7b01-4b44-b8d1-6aa40fd1057f#geni1/487ffea1-8b19-42d3-b5f4-e438f863a95e:if1"/>
    </node>
    <node sliver_id="urn:publicid:IDN+geni-orca.renci.org+sliver+urn:publicid:IDN+emulab.net+slice+gush-orca-gir+a946c55f-7b01-4b44-b8d1-6aa40fd1057f#geni2/cdcd5d3d-18c5-4f84-8808-c84cfdd36213" exclusive="true" client_id="a946c55f-7b01-4b44-b8d1-6aa40fd1057f#geni2/cdcd5d3d-18c5-4f84-8808-c84cfdd36213">
        <sliver_type name="vm"/>
        <services>
            <login username="root" port="22" hostname="152.54.10.17" authentication="ssh-keys"/>
            <execute command="#!/bin/sh
sudo hostname `cat /var/emulab/boot/realname`.`cat /var/emulab/boot/mydomain`
"/>
        </services>
        <interface client_id="a946c55f-7b01-4b44-b8d1-6aa40fd1057f#geni2/cdcd5d3d-18c5-4f84-8808-c84cfdd36213:if1"/>
    </node>
    <link sliver_id="urn:publicid:IDN+geni-orca.renci.org+sliver+urn:publicid:IDN+emulab.net+slice+gush-orca-gir+a946c55f-7b01-4b44-b8d1-6aa40fd1057f#center/ac3cbc4b-4c25-4008-853c-90e9ad04ba36" client_id="a946c55f-7b01-4b44-b8d1-6aa40fd1057f#center/ac3cbc4b-4c25-4008-853c-90e9ad04ba36">
        <interface_ref client_id="a946c55f-7b01-4b44-b8d1-6aa40fd1057f#geni2/cdcd5d3d-18c5-4f84-8808-c84cfdd36213:if1"/>
        <interface_ref client_id="a946c55f-7b01-4b44-b8d1-6aa40fd1057f#geni1/487ffea1-8b19-42d3-b5f4-e438f863a95e:if1"/>
    </link>
</rspec>">
                <expires>99999</expires>
        </slice>
</gush>

Note: Expiration time 99999 needs explanation.

Brought up gush to connect to ORCA slice gush-orca-gir, but it fails

$ ./gush -P 15555
gush> 
Gush has learned about the slice gush-orca-ln.
An error occurred when updating information on the slice/user gush-orca-ln.