wiki:GIR3.2_DiCloud

Version 8 (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 and November 18, 2011

DiCloud Findings

Initially 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.

After GEC12, used GUSH revision 166 to set up a slice with resources, but had to update GUSH revision 167 due to changes made to accommodate ORCA. The changes in Gush revision 166, were not sufficient, GUSH fails while parsing sliver information upon startup...waiting for resoulution.

Also GUSH is not able to able to get a listresources for the ORCA aggregate.

DiCloud How-to

November 18, 2011 Evaluation Using the following omni_config:

[omni]
users = lnevers
[lnevers]
urn = urn:publicid:IDN+emulab.net+user+lnevers
keys=~/.ssh/id_rsa.pub
[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

and the following directory.xml:

<?xml version="1.0" encoding="UTF-8"?>
<gush>
  <resource_manager type="geni-orca">
     <port_map slice="gush-orca-ln" port="11400"/>
    </resource_manager>
</gush>

Created a slice with ORCA resources:

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

$ helper-scripts/handle-geni.py -n -f pg -a https://geni.renci.org:11443/orca/xm.rspec createsliver gush-orca-ln orca 
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: 7ad19305-79e3-460d-8d8b-80b59efde6d3
[   Slice UID: b90bfe5f-31c6-4d84-9f8d-c8f28106cb9c | Reservation UID: 824f9da8-1a91-4eec-9bbe-55b4e14198d1 | Resource Type: dukevmsite.vm | Resource Units: 1 ] 
[   Slice UID: b90bfe5f-31c6-4d84-9f8d-c8f28106cb9c | Reservation UID: 3d4c342e-2d2b-4c86-b0cc-313a5b82f1b2 | Resource Type: dukevmsite.vm | Resource Units: 1 ] 
[   Slice UID: b90bfe5f-31c6-4d84-9f8d-c8f28106cb9c | Reservation UID: 8a863cfe-1be7-4776-9591-f8a35af76610 | Resource Type: dukevmsite.vlan | Resource Units: 1 ] 
$

Verified resources availability:

$ helper-scripts/handle-geni.py -n -f pg -a https://geni.renci.org:11443/orca/xmlrpc sliverstatus gush-orca-ln
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-ln+dbab2f54-94b1-4696-9dbe-f7739776c7b6#geni1/bea1e6a7-668e-4906-bde3-1b14fa8284ee" exclusive="true" client_id="d
bab2f54-94b1-4696-9dbe-f7739776c7b6#geni1/bea1e6a7-668e-4906-bde3-1b14fa8284ee">
        <sliver_type name="vm"/>
        <services>
            <login username="root" port="22" hostname="152.3.144.103" authentication="ssh-keys"/>
            <execute command="#!/bin/sh
sudo hostname `cat /var/emulab/boot/realname`.`cat /var/emulab/boot/mydomain`"/>
        </services>
        <interface client_id="dbab2f54-94b1-4696-9dbe-f7739776c7b6#geni1/bea1e6a7-668e-4906-bde3-1b14fa8284ee:if1"/>
    </node>
    <node sliver_id="urn:publicid:IDN+geni-orca.renci.org+sliver+urn:publicid:IDN+emulab.net+slice+gush-orca-ln+dbab2f54-94b1-4696-9dbe-f7739776
c7b6#geni2/2fcee0ff-119d-45c7-9653-93bb664e92cd" exclusive="true" client_id="dbab2f54-94b1-4696-9dbe-f7739776c7b6#geni2/2fcee0ff-119d-45c7-9653-
93bb664e92cd">
        <sliver_type name="vm"/>
        <services>
            <login username="root" port="22" hostname="152.3.144.101" authentication="ssh-keys"/>
            <execute command="#!/bin/sh
sudo hostname `cat /var/emulab/boot/realname`.`cat /var/emulab/boot/mydomain`"/>
        </services>
        <interface client_id="dbab2f54-94b1-4696-9dbe-f7739776c7b6#geni2/2fcee0ff-119d-45c7-9653-93bb664e92cd:if1"/>
    </node>
    <link sliver_id="urn:publicid:IDN+geni-orca.renci.org+sliver+urn:publicid:IDN+emulab.net+slice+gush-orca-ln+dbab2f54-94b1-4696-9dbe-f7739776c7b6#center/78d9f526-af84-445e-91dd-f9e8d69b810d" client_id="dbab2f
54-94b1-4696-9dbe-f7739776c7b6#center/78d9f526-af84-445e-91dd-f9e8d69b810d">
        <interface_ref client_id="dbab2f54-94b1-4696-9dbe-f7739776c7b6#geni2/2fcee0ff-119d-45c7-9653-93bb664e92cd:if1"/>
        <interface_ref client_id="dbab2f54-94b1-4696-9dbe-f7739776c7b6#geni1/bea1e6a7-668e-4906-bde3-1b14fa8284ee:if1"/>
    </link>
</rspec>">
                <expires>99999</expires>
        </slice>
</gush>

Started GUSH to manage nodes:

$ ./gush -P 15555
gush> Gush has learned about the slice gush-orca-ln.
Updated information on the slice gush-orca-ln is available.

gush> connect root@152.3.144.103:11400
Error: Could not find any hosts matching the given string.
gush> info nodes
There are 0 known nodes:
gush> quit

Note: The problem above may be due to a parsing error for the slice information, waiting on resolution.

October 18 Evaluation 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.