wiki:GIR3.2_LAMP

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

--

LAMP Evaluation

The Leveraging and Abstracting Measurements with perfSONAR (LAMP) Evaluation was based on instruction found at the LAMP I&M System Tutorial page. No versioning was available for either of the two scripts available for download, lamp-getcertificate.py and lamp-sendmanifest.py.

Evaluation Time Frame: November 16 and 22 2011

LAMP GENI Findings

Several issues were found including:

  • There is no versioning in the tools attached on the tutorial page.
  • The lamp-sendmanifest.py script has problems uploading manifests for RSpec v0.2.
  • Error handling for failed manifest upload is not obvious and it is difficult to tell that a failure occurred.
  • Updating the bundle cert on the lamp server is not documented in tutorial, and should be documented with the perfSONAR process (psconfig) restart requirements.

LAMP How-to

Using instructions from the LAMP I&M System Tutorial page, downloaded the 2 LAMP scripts and the required ProtoGENI Test script a these locations:

Unpacked the protogeni-test tools and placed the two lamp scripts in the same directory as the ProtoGENI tests.

1. Create Slice with LAMP Resources

Set up a ProtoGENI slice and sliver that uses the required LAMP image named UBUNTU91-LAMP, this example uses the Omni tool in the GCF package:

$ cd ~/gcf-1.4
$ ./src/omni.py createslice lnevers-lamp-slice1
INFO:omni:Loading config file omni_config
INFO:omni:Using control framework pg
INFO:omni:Created slice with Name lnevers-lamp-slice1, URN urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1, Expiration 2011-11-17 00:09:25+00:00
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createslice:
  Options as run:
                framework: pg
                native: True
  Args: createslice lnevers-lamp-slice1
  Result Summary: Created slice with Name lnevers-lamp-slice1, URN urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1, Expiration 2011-11-17 00:09:25+00:00
 INFO:omni: ============================================================

Modified the LAMP example RSpec to include my slice name and my user information:

<rspec xmlns="http://protogeni.net/resources/rspec/0.2" 
   xmlns:lamp="http://protogeni.net/resources/rspec/0.2/ext/lamp/1">
   
   <node virtual_id="node1" virtualization_type="raw" exclusive="1"
      startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers">

      <node_type type_name="pc" type_slots="1"/>

      <disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP" />
      
      <lamp:config />
      
      <interface virtual_id="iface0"/>
   </node>
   
   <node virtual_id="node2" virtualization_type="raw" exclusive="1"
      startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers">

      <node_type type_name="pc" type_slots="1"/>
      <disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP" />
      <lamp:config />
      <interface virtual_id="iface0"/>
   </node>
   
   <link virtual_id="link1" >
      <interface_ref virtual_node_id="node1" virtual_interface_id="iface0"/>
      <interface_ref virtual_node_id="node2" virtual_interface_id="iface0"/>
      <link_type type_name="ethernet" />
      <latency>100</latency>
      <packet_loss>0.05</packet_loss>
   </link>
   
   <node virtual_id="lamp" virtualization_type="raw" exclusive="1"
      startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers">

      <node_type type_name="pc" type_slots="1"/>
      <disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP" />
      
      <lamp:config>
         <lamp:service type="lamp_portal" enable="true" />
      </lamp:config>

   </node>
</rspec>

2. Add LAMP Resources Using the above RSpec created a sliver:

$ ./src/omni.py -a https://www.emulab.net/protogeni/xmlrpc/am -n createsliver lnevers-lamp-slice1 lamp.rspec
INFO:omni:Loading config file omni_config
INFO:omni:Using control framework pg
INFO:omni:Slice urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 expires within 1 day on 2011-11-17 00:09:25 UTC
INFO:omni:Creating sliver(s) from rspec file lamp.rspec for slice urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1
INFO:omni:Asked https://www.emulab.net/protogeni/xmlrpc/am to reserve resources. Result:
INFO:omni:<?xml version="1.0" ?>
INFO:omni:<!-- Reserved resources for:
        Slice: lnevers-lamp-slice1
        At AM:
        URL: https://www.emulab.net/protogeni/xmlrpc/am
 -->
INFO:omni:
<rspec xmlns="http://protogeni.net/resources/rspec/0.2" xmlns:lamp="http://protogeni.net/resources/rspec/0.2/ext/lamp/1">  
   
     <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+pc151" component_uuid="de98e45d-773e-102b-8eb4-001143e453fe" exclusive="1" hostname="pc151.emulab.net" sliver_urn="urn:publicid:IDN+emulab.net+sliver+62460" sliver_uuid="84a0623d-107e-11e1-b47a-001143e453fe" sshdport="22" startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers" virtual_id="node1" virtualization_subtype="raw" virtualization_type="raw" xmlns:lamp="http://protogeni.net/resources/rspec/0.2/ext/lamp/1">    

          <node_type type_name="pc" type_slots="1"/>    
          <disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP"/>    
            <lamp:config/>     
          <interface component_id="eth3" virtual_id="iface0"/>    
       <services>      <login authentication="ssh-keys" hostname="pc151.emulab.net" port="22" username="lnevers"/>    </services>  </node>  
  
     <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+pc157" component_uuid="de994176-773e-102b-8eb4-001143e453fe" exclusive="1" hostname="pc157.emulab.net" sliver_urn="urn:publicid:IDN+emulab.net+sliver+62461" sliver_uuid="85797dab-107e-11e1-b47a-001143e453fe" sshdport="22" startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers" virtual_id="node2" virtualization_subtype="raw" virtualization_type="raw" xmlns:lamp="http://protogeni.net/resources/rspec/0.2/ext/lamp/1">    

          <node_type type_name="pc" type_slots="1"/>    
          <disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP"/>    
          <lamp:config/>    
          <interface component_id="eth3" virtual_id="iface0"/>    
       <services>      <login authentication="ssh-keys" hostname="pc157.emulab.net" port="22" username="lnevers"/>    </services>  </node>  
   
     <link sliver_urn="urn:publicid:IDN+emulab.net+sliver+62463" sliver_uuid="86c7361d-107e-11e1-b47a-001143e453fe" virtual_id="link1" vlantag="805">    
          <interface_ref IP="10.10.1.1" MAC="0002b365cd49" component_urn="urn:publicid:IDN+emulab.net+interface+pc151:eth3" sliver_urn="urn:publicid:IDN+emulab.net+sliver+62464" sliver_uuid="8762eaa1-107e-11e1-b47a-001143e453fe" virtual_interface_id="iface0" virtual_node_id="node1"/>    
          <interface_ref IP="10.10.1.2" MAC="0002b335f753" component_urn="urn:publicid:IDN+emulab.net+interface+pc157:eth3" sliver_urn="urn:publicid:IDN+emulab.net+sliver+62465" sliver_uuid="8851fd87-107e-11e1-b47a-001143e453fe" virtual_interface_id="iface0" virtual_node_id="node2"/>    
          <link_type type_name="ethernet"/>    
          <latency>      100    </latency>    
          <packet_loss>      0.05    </packet_loss>    
     </link>  
   
     <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+pc150" component_uuid="de98a21d-773e-102b-8eb4-001143e453fe" exclusive="1" hostname="pc150.emulab.net" sliver_urn="urn:publicid:IDN+emulab.net+sliver+62462" sliver_uuid="86285b18-107e-11e1-b47a-001143e453fe" sshdport="22" startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers" virtual_id="lamp" virtualization_subtype="raw" virtualization_type="raw" xmlns:lamp="http://protogeni.net/resources/rspec/0.2/ext/lamp/1">    

          <node_type type_name="pc" type_slots="1"/>    
          <disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP"/>    
      
          <lamp:config>      
               <lamp:service enable="true" type="lamp_portal"/>      
          </lamp:config>    

       <services>      <login authentication="ssh-keys" hostname="pc150.emulab.net" port="22" username="lnevers"/>    </services>  </node>  
</rspec>
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createsliver:
  Options as run:
                aggregate: https://www.emulab.net/protogeni/xmlrpc/am
                framework: pg
                native: True
  Args: createsliver lnevers-lamp-slice1 lamp.rspec
  Result Summary: Slice urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 expires within 1 day(s) on 2011-11-17 00:09:25 UTC
Reserved resources on https://www.emulab.net/protogeni/xmlrpc/am.  
INFO:omni: ============================================================

3. Upload Slice Manifest. Upload your topology to allow services configuration within the UNIS system.

This step requires upload the slice manifest, which can be generated with the omni tools as follows:

 $ cd /path/to/gcf-1.4
 $ ./src/omni.py -a https://www.emulab.net/protogeni/xmlrpc/am -o listresources lnevers-lamp-slice1

This command creates an output file named lnevers-lamp-slice1-rspec-www-emulab-net-protogeni.xml, renamed it lnevers-lamp-slice1-manifest.xml for conciseness. Also needed credential file which was generated as instructed with the ProtoGENI test tools:

 $ cd /path/to/protogeni-tests/
 $ cp path/to/gcf-1.4/lnevers-lamp-slice1-rspec-www-emulab-net-protogeni.xml lnevers-lamp-slice1-manifest.xml
 $ ./getslicecredential.py -n lnevers-lamp-slice1 >lnevers-lamp-slice1-cred.xml

To upload the manifest executed the following:

$ ./lamp-sendmanifest.py 0.2 lnevers-lamp-slice1-manifest.xml urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 lnevers-lamp-slice1-cred.xml  
<?xml version="1.0" ?>
<topology id="genitopo" xmlns="http://ogf.org/schema/network/topology/unis/20100528/" xmlns:pgeni="http://ogf.org/schema/network/topology/protogeni/20100716/" xmlns:psconfig="http://ogf.org/schema/network/topology/psconfig/20100716/">
        <domain id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1">
                <node id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node1">
                        <address type="dns">
                                pc151.emulab.net
                        </address>
                        <nodePropertiesBag>
                                <pgeni:nodeProperties 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+pc151" component_uuid="de98e45d-773e-102b-8eb4-001143e453fe" exclusive="1" sliver_urn="urn:publicid:IDN+emulab.net+sliver+62460" sliver_uuid="84a0623d-107e-11e1-b47a-001143e453fe" startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers" virtualization_subtype="raw" virtualization_type="raw" xmlns:lamp="http://protogeni.net/resources/rspec/0.2/ext/lamp/1">        
                                        <pgeni:node_type type_name="pc" type_slots="1"/>
                                        <pgeni:disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP"/>
                                        <pgeni:services>
                                         <pgeni:login authentication="ssh-keys" hostname="pc151.emulab.net" port="22" username="lnevers"/>     
                                        </pgeni:services>                                        
                                </pgeni:nodeProperties>
                                <psconfig:nodeProperties/>
                        </nodePropertiesBag>
                        <port id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node1:port=iface0">
                                <name>   eth3   </name>
                                <portPropertiesBag>
                                        <pgeni:portProperties component_id="eth3" component_urn="urn:publicid:IDN+emulab.net+interface+pc151:eth3" sliver_urn="urn:publicid:IDN+emulab.net+sliver+62464" sliver_uuid="8762eaa1-107e-11e1-b47a-001143e453fe"/>
                                </portPropertiesBag>
                                <address type="mac">
                                 0002b365cd49
                                </address>
                                <address type="ipv4">
                                        10.10.1.1
                                </address>
                        </port>
                </node>
                <node id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node2">
                        <address type="dns">
                                pc157.emulab.net
                        </address>
                        <nodePropertiesBag>
                                <pgeni:nodeProperties 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+pc157" component_uuid="de994176-773e-102b-8eb4-001143e453fe" exclusive="1" sliver_urn="urn:publicid:IDN+emulab.net+sliver+62461" sliver_uuid="85797dab-107e-11e1-b47a-001143e453fe" startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers" virtualization_subtype="raw" virtualization_type="raw" xmlns:lamp="http://protogeni.net/resources/rspec/0.2/ext/lamp/1">
                                       <pgeni:node_type type_name="pc" type_slots="1"/>
                                       <pgeni:disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP"/>
                                     <pgeni:services>
                                                <pgeni:login authentication="ssh-keys" hostname="pc157.emulab.net" port="22" username="lnevers"/>
                                       </pgeni:services>
                                </pgeni:nodeProperties>
                                <psconfig:nodeProperties/>
                        </nodePropertiesBag>
                        <port id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node2:port=iface0">
                                <name>
                                        eth3
                                </name>
                                <portPropertiesBag>
                                        <pgeni:portProperties component_id="eth3" component_urn="urn:publicid:IDN+emulab.net+interface+pc157:eth3" sliver_urn="urn:publicid:IDN+emulab.net+sliver+62465" sliver_uuid="8851fd87-107e-11e1-b47a-001143e453fe"/>
                                </portPropertiesBag>
                                <address type="mac">
                                        0002b335f753
                                </address>
                                <address type="ipv4">
                                        10.10.1.2
                                </address>
                        </port>
                </node>
                <node id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=lamp">
                        <address type="dns">
                                pc150.emulab.net
                        </address>
                        <nodePropertiesBag>
                                <pgeni:nodeProperties 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+pc150" component_uuid="de98a21d-773e-102b-8eb4-001143e453fe" exclusive="1" sliver_urn="urn:publicid:IDN+emulab.net+sliver+62462" sliver_uuid="86285b18-107e-11e1-b47a-001143e453fe" startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers" virtualization_subtype="raw" virtualization_type="raw" xmlns:lamp="http://protogeni.net/resources/rspec/0.2/ext/lamp/1">
                                        <pgeni:node_type type_name="pc" type_slots="1"/>
                                       <pgeni:disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP"/>   
                                        <pgeni:services>
                                                      
                                                <pgeni:login authentication="ssh-keys" hostname="pc150.emulab.net" port="22" username="lnevers"/>
                                                    
                                        </pgeni:services>
                                          
                                </pgeni:nodeProperties>
                                <psconfig:nodeProperties>
                                        <psconfig:service enable="true" type="lamp_portal"/>
                                        </psconfig:nodeProperties>
                        </nodePropertiesBag>
                </node>
                <link directed="false" id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:link=link1">
                        <type> ethernet  </type>
                        <linkPropertiesBag>
                                <pgeni:linkProperties sliver_urn="urn:publicid:IDN+emulab.net+sliver+62463" sliver_uuid="86c7361d-107e-11e1-b47a-001143e453fe" vlantag="805">
                                       <pgeni:latency>   100    </pgeni:latency>
                                        <pgeni:packet_loss>  0.05    </pgeni:packet_loss>  
                                </pgeni:linkProperties>
                        </linkPropertiesBag>
                        <relation type="endPoint">
                                <portIdRef>
                                        urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node1:port=iface0
                                </portIdRef>
                        </relation>
                        <relation type="endPoint">
                                <portIdRef>
                                        urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node2:port=iface0
                                </portIdRef>
                        </relation>
                </link>
        </domain>
</topology>

Later found out that the above was actually failing due to the fact that the lamp-sendmanifest.py was a version that supported RSpec v2.0 and not V0.2. Got an earlier version of the lamp-sendmanifest.py script to upload the V.0.2 RSpec, which worked:

$ ./lamp-sendmanifest.py lnevers-lamp-slice1-manifest.xml urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 lnevers-lamp-slice1-cred.xml 
<xml.dom.minidom.Document instance at 0x922a7ac>

<nmwg:message type="TSReplaceRequest" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/">
  <nmwg:metadata id="meta0">

    <nmwg:eventType>http://ggf.org/ns/nmwg/topology/20070809</nmwg:eventType>
  </nmwg:metadata>

  <nmwg:metadata id="cred0">
    <nmwg:subject metadataIdRef="meta0">
<signed-credential xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.protogeni.net/resources/credential/credential.xsd" xsi:schemaLocation="http://www.protogeni.net/resources/credential/ext/policy/1 http://www.protogeni.net/resources/credential/ext/policy/1/policy.xsd">
  <credential xml:id="ref3BD07E1E9E482E53">
 <type>privilege</type>
 <serial>179245</serial>
 <owner_gid>MIIDVDCCAr2gAwIBAgIDASPNMA0GCSqGSIb3DQEBBAUAMIG4MQswCQYDVQQGEwJV
UzENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHTAbBgNV
BAoTFFV0YWggTmV0d29yayBUZXN0YmVkMR4wHAYDVQQLExVDZXJ0aWZpY2F0ZSBB
dXRob3JpdHkxGDAWBgNVBAMTD2Jvc3MuZW11bGFiLm5ldDEoMCYGCSqGSIb3DQEJ
ARYZdGVzdGJlZC1vcHNAZmx1eC51dGFoLmVkdTAeFw0xMTA5MDcxNTI4NTVaFw0x
MjA5MDYxNTI4NTVaMIGqMQswCQYDVQQGEwJVUzENMAsGA1UECBMEVXRhaDEdMBsG
A1UEChMUVXRhaCBOZXR3b3JrIFRlc3RiZWQxGzAZBgNVBAsTEnV0YWhlbXVsYWIu
bG5ldmVyczEtMCsGA1UEAxMkZWUzYjNiMWEtMWNkNC0xMWRmLTg2MzMtMDAxMTQz
ZTQ1M2ZlMSEwHwYJKoZIhvcNAQkBFhJsbmV2ZXJzQGVtdWxhYi5uZXQwgZ8wDQYJ
KoZIhvcNAQEBBQADgY0AMIGJAoGBALK88CkpB82ElRkqApjci+HfYFeLtfuJ8dIU
0DnhdbOdg1SB5K8RsGw3DGMmpWYDv5AUMbGZnFsw9ob2u47Y2polg8+7sG8NG//Z
Ix47m2DjBCDvk95t2zb4K4M6Dn2eGXljv7LEg4Kx5AXEQLQdLHO/VuS10OqnLgKF
8a68wGkvAgMBAAGjeDB2MAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFBk2a7X6jRTj
lVn3Pf5O6P2YPg+AMEcGA1UdEQRAMD6GKHVybjpwdWJsaWNpZDpJRE4rZW11bGFi
Lm5ldCt1c2VyK2xuZXZlcnOBEmxuZXZlcnNAZW11bGFiLm5ldDANBgkqhkiG9w0B
AQQFAAOBgQCET0lR/Oy4AIqxKEyy/nEj4ZTCMWMrEFkoAL3QcYuHrXHhv87CdL7S
I7lelLyMbOEYuXmq9j0bjCw0iXRiqdNoDD+QC+0VSxgEuhWL3BIZvxmu/0q0WZ6m
6uM9m1hY2akZ31VTquNmgPPm6S2YXqlI3inV9j1pFRDr3otve03BJw==
</owner_gid>
 <owner_urn>urn:publicid:IDN+emulab.net+user+lnevers</owner_urn>
 <target_gid>MIIDVjCCAr+gAwIBAgIDAUwPMA0GCSqGSIb3DQEBBAUAMIG4MQswCQYDVQQGEwJV
UzENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHTAbBgNV
BAoTFFV0YWggTmV0d29yayBUZXN0YmVkMR4wHAYDVQQLExVDZXJ0aWZpY2F0ZSBB
dXRob3JpdHkxGDAWBgNVBAMTD2Jvc3MuZW11bGFiLm5ldDEoMCYGCSqGSIb3DQEJ
ARYZdGVzdGJlZC1vcHNAZmx1eC51dGFoLmVkdTAeFw0xMTExMTYxNzA5MjFaFw0x
NzA1MDgxODA5MjNaMIGzMQswCQYDVQQGEwJVUzENMAsGA1UECBMEVXRhaDEdMBsG
A1UEChMUVXRhaCBOZXR3b3JrIFRlc3RiZWQxJzAlBgNVBAsTHnV0YWhlbXVsYWIu
bG5ldmVycy1sYW1wLXNsaWNlMTEtMCsGA1UEAxMkMWJhZGQ5NDQtMTA3ZS0xMWUx
LWI0N2EtMDAxMTQzZTQ1M2ZlMR4wHAYJKoZIhvcNAQkBFg9sbmV2ZXJzQGJibi5j
b20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMXJKsvqPHVjqhkrQ6JqvX/v
ylVc8Nf2fbX83Nkd95TKbKDiYqMUGCdIOMjwn0rai9lLH2aEhVJYmzto+e6GQ34I
clnahLiy8C8RKnK0xPuSDMlCyUjCO+ueo8ENj7T5dQjF0cX5C0Cfquf03RPXLtLe
qtcMr6hcT60ZTLsJBw5lAgMBAAGjcTBvMB0GA1UdDgQWBBSw2YIgtHuxIa918qEz
5rmvtpfJvTBABgNVHREEOTA3hjV1cm46cHVibGljaWQ6SUROK2VtdWxhYi5uZXQr
c2xpY2UrbG5ldmVycy1sYW1wLXNsaWNlMTAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3
DQEBBAUAA4GBABnRRiHDxXkR5sgzPy3gmtYEErim6A23149jnV9fR6mSEL41sx44
dHnWIsxTQ2TIUkWwFNoXJqpBQalB4Q/YWd/qlu09kfxIVd9UU0E9gzG5Ir9R/i0f
UFFT1tQR0LPOQ+XcacDrpDU6o4PSzPt++3vHt28pnbuwXhQ2OsDKK/nQ
</target_gid>
 <target_urn>urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1</target_urn>
 <uuid>652f6ae8-1519-11e1-9d24-001143e453fe</uuid>
 <expires>2011-11-28T00:00:00Z</expires>
  <privileges>
<privilege><name>*</name><can_delegate>1</can_delegate></privilege>
</privileges></credential>
  <signatures>
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#" xml:id="Sig_ref3BD07E1E9E482E53">
 <SignedInfo>
  <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
  <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
  <Reference URI="#ref3BD07E1E9E482E53">
    <Transforms>
      <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
    </Transforms>
    <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
    <DigestValue>mjy4Et+9cXTN/a2wASmIfAiixrQ=</DigestValue>
    </Reference>
 </SignedInfo>
 <SignatureValue>iAi25x4Uupnzo0is3Dp/e77mYBc+ymkGY3ShsE05BOM5lULUxOTKF3dkgY/Xirre
J1PiwIuk5YR/zufph1xMKYqe06al+dnDQMdEfneGKychrwhxg6sXNApATsq0Jr+s
K3E0NG6yC/sGUOqFCQKc9Vsj+YO13dzyVZP4quTY/VI=</SignatureValue>
 <KeyInfo>
  <X509Data>
   
   
   
  <X509Certificate>MIIDoTCCAwqgAwIBAgIDAS/uMA0GCSqGSIb3DQEBBAUAMIG4MQswCQYDVQQGEwJV
UzENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHTAbBgNV
BAoTFFV0YWggTmV0d29yayBUZXN0YmVkMR4wHAYDVQQLExVDZXJ0aWZpY2F0ZSBB
dXRob3JpdHkxGDAWBgNVBAMTD2Jvc3MuZW11bGFiLm5ldDEoMCYGCSqGSIb3DQEJ
ARYZdGVzdGJlZC1vcHNAZmx1eC51dGFoLmVkdTAeFw0xMTEwMDUxOTUxMDZaFw0x
NzAzMjcyMDUxMDZaMIGsMQswCQYDVQQGEwJVUzENMAsGA1UECBMEVXRhaDEdMBsG
A1UEChMUVXRhaCBOZXR3b3JrIFRlc3RiZWQxFjAUBgNVBAsTDXV0YWhlbXVsYWIu
c2ExLTArBgNVBAMTJDJiNDM3ZmFhLWFhMDAtMTFkZC1hZDFmLTAwMTE0M2U0NTNm
ZTEoMCYGCSqGSIb3DQEJARYZdGVzdGJlZC1vcHNAZmx1eC51dGFoLmVkdTCBnzAN
BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1ayN3cGHH9hsmTgVWVjb2ZOqF8zFJ1Ew
TFRpXVtI//wk05+Z7uunpxn/QL1F3NjdcIEToEupo1q2tRUfCc2hquLBgC5zNfut
YD/b5ukEsF5COKHb+pYl2RZly9BVckt+ySFLnC23erKW7ILyO2fGBD/QzHZNPhdY
/fs18iCh58cCAwEAAaOBwjCBvzAdBgNVHQ4EFgQUU2CjacFUMyUNL++CplFi++MF
Sl0wMwYDVR0RBCwwKoYodXJuOnB1YmxpY2lkOklETitlbXVsYWIubmV0K2F1dGhv
cml0eStzYTAPBgNVHRMBAf8EBTADAQH/MFgGCCsGAQUFBwEBBEwwSjBIBhRpg8yT
gKiYzKjHvbGngICqrteKG4YwaHR0cHM6Ly93d3cuZW11bGFiLm5ldDoxMjM2OS9w
cm90b2dlbmkveG1scnBjL3NhMA0GCSqGSIb3DQEBBAUAA4GBAIDXwcvEu3HJApFQ
bQduTiHGXQ8Og/2ZIFLXHkqu4SW81RaYVbHwRFxnKHOktKm7js9wjEPo/F0tqIRT
21x7yE7uOce/8tWNW241fVuIRyO/o/DNd/FVFyFU5WNqP6f/rzEu92iuO6zIJPBg
fmkqRvZqMOm5R//SSNBFl83lZzlu</X509Certificate>
<X509SubjectName>emailAddress=testbed-ops@flux.utah.edu,CN=2b437faa-aa00-11dd-ad1f-001143e453fe,OU=utahemulab.sa,O=Utah Network Testbed,ST=Utah,C=US</X509SubjectName>
<X509IssuerSerial>
<X509IssuerName>emailAddress=testbed-ops@flux.utah.edu,CN=boss.emulab.net,OU=Certificate Authority,O=Utah Network Testbed,L=Salt Lake City,ST=Utah,C=US</X509IssuerName>
<X509SerialNumber>77806</X509SerialNumber>
</X509IssuerSerial>
</X509Data>
  <KeyValue>
<RSAKeyValue>
<Modulus>
1ayN3cGHH9hsmTgVWVjb2ZOqF8zFJ1EwTFRpXVtI//wk05+Z7uunpxn/QL1F3Njd
cIEToEupo1q2tRUfCc2hquLBgC5zNfutYD/b5ukEsF5COKHb+pYl2RZly9BVckt+
ySFLnC23erKW7ILyO2fGBD/QzHZNPhdY/fs18iCh58c=
</Modulus>
<Exponent>
AQAB
</Exponent>
</RSAKeyValue>
</KeyValue>
 </KeyInfo>
</Signature>
  </signatures>
</signed-credential>


    </nmwg:subject>
    <nmwg:eventType>http://perfsonar.net/ns/protogeni/auth/credential/1</nmwg:eventType>
  </nmwg:metadata>

  <nmwg:data id="data0" metadataIdRef="cred0">
<topology id="genitopo" xmlns="http://ogf.org/schema/network/topology/unis/20100528/" xmlns:pgeni="http://ogf.org/schema/network/topology/protogeni/20100716/" xmlns:psconfig="http://ogf.org/schema/network/topology/psconfig/20100716/">
        <domain id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1">
                <node id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node1">
                        <address type="dns">
                                pc86.emulab.net
                        </address>
                        <nodePropertiesBag>
                                <pgeni:nodeProperties 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+pc86" component_uuid="de98b72a-773e-102b-8eb4-001143e453fe" exclusive="1" sliver_urn="urn:publicid:IDN+emulab.net+sliver+63151" sliver_uuid="a4623e13-1515-11e1-9d24-001143e453fe" startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers" virtualization_subtype="raw" virtualization_type="raw" xmlns:lamp="http://protogeni.net/resources/rspec/0.2/ext/lamp/1">
                                        <pgeni:node_type type_name="pc" type_slots="1"/>
                                        <pgeni:disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP"/>
                                        <pgeni:services>
                                                <pgeni:login authentication="ssh-keys" hostname="pc86.emulab.net" port="22" username="lnevers"/>
                                        </pgeni:services>
                                </pgeni:nodeProperties>
                                <psconfig:nodeProperties/>
                        </nodePropertiesBag>
                        <port id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node1:port=iface0">
                                <name>
                                        eth1
                                </name>
                                <portPropertiesBag>
                                        <pgeni:portProperties component_id="eth1" component_urn="urn:publicid:IDN+emulab.net+interface+pc86:eth1" sliver_urn="urn:publicid:IDN+emulab.net+sliver+63155" sliver_uuid="a7668122-1515-11e1-9d24-001143e453fe"/>
                                </portPropertiesBag>
                                <address type="mac">
                                        00034773a242
                                </address>
                                <address type="ipv4">
                                        10.10.1.1
                                </address>
                        </port>
                </node>
                <node id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node2">
                        <address type="dns">
                                pc101.emulab.net
                        </address>
                        <nodePropertiesBag>
                                <pgeni:nodeProperties 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+pc101" component_uuid="de987445-773e-102b-8eb4-001143e453fe" exclusive="1" sliver_urn="urn:publicid:IDN+emulab.net+sliver+63152" sliver_uuid="a558b3b8-1515-11e1-9d24-001143e453fe" startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers" virtualization_subtype="raw" virtualization_type="raw" xmlns:lamp="http://protogeni.net/resources/rspec/0.2/ext/lamp/1">
                                        <pgeni:node_type type_name="pc" type_slots="1"/>
                                        <pgeni:disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP"/>
                                        <pgeni:services>
                                                <pgeni:login authentication="ssh-keys" hostname="pc101.emulab.net" port="22" username="lnevers"/>
                                        </pgeni:services>
                                </pgeni:nodeProperties>
                                <psconfig:nodeProperties/>
                        </nodePropertiesBag>
                        <port id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node2:port=iface0">
                                <name>
                                        eth3
                                </name>
                                <portPropertiesBag>
                                        <pgeni:portProperties component_id="eth3" component_urn="urn:publicid:IDN+emulab.net+interface+pc101:eth3" sliver_urn="urn:publicid:IDN+emulab.net+sliver+63156" sliver_uuid="a7fbba90-1515-11e1-9d24-001143e453fe"/>
                                </portPropertiesBag>
                                <address type="mac">
                                        0002b33f7dc7
                                </address>
                                <address type="ipv4">
                                        10.10.1.2
                                </address>
                        </port>
                </node>
                <node id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=lamp">
                        <address type="dns">
                                pc103.emulab.net
                        </address>
                        <nodePropertiesBag>
                                <pgeni:nodeProperties 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+pc103" component_uuid="de98b129-773e-102b-8eb4-001143e453fe" exclusive="1" sliver_urn="urn:publicid:IDN+emulab.net+sliver+63153" sliver_uuid="a62030ff-1515-11e1-9d24-001143e453fe" startup_command="/usr/local/etc/lamp/bootstrap.sh urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 urn:publicid:IDN+emulab.net+user+lnevers" virtualization_subtype="raw" virtualization_type="raw" xmlns:lamp="http://protogeni.net/resources/rspec/0.2/ext/lamp/1">
                                        <pgeni:node_type type_name="pc" type_slots="1"/>
                                        <pgeni:disk_image name="urn:publicid:IDN+emulab.net+image+GeniSlices//UBUNTU91-LAMP"/>
                                        <pgeni:services>
                                                <pgeni:login authentication="ssh-keys" hostname="pc103.emulab.net" port="22" username="lnevers"/>
                                        </pgeni:services>
                                </pgeni:nodeProperties>
                                <psconfig:nodeProperties>
                                        <psconfig:service enable="true" type="lamp_portal"/>
                                </psconfig:nodeProperties>
                        </nodePropertiesBag>
                </node>
                <link directed="false" id="urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:link=link1">
                        <type>
                                ethernet
                        </type>
                        <linkPropertiesBag>
                                <pgeni:linkProperties sliver_urn="urn:publicid:IDN+emulab.net+sliver+63154" sliver_uuid="a6bce1ec-1515-11e1-9d24-001143e453fe" vlantag="305">
                                        <pgeni:latency>
                                                      100    
                                        </pgeni:latency>
                                        <pgeni:packet_loss>
                                                      0.05    
                                        </pgeni:packet_loss>
                                </pgeni:linkProperties>
                        </linkPropertiesBag>
                        <relation type="endPoint">
                                <portIdRef>
                                        urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node1:port=iface0
                                </portIdRef>
                        </relation>
                        <relation type="endPoint">
                                <portIdRef>
                                        urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node2:port=iface0
                                </portIdRef>
                        </relation>
                </link>
        </domain>
</topology>

  </nmwg:data>
</nmwg:message>




Enter PEM pass phrase:
Received:

<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
                   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
<nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="message.9312060" type="TSReplaceResponse"><nmwg:metadata metadataIdRef="meta0" id="metadata.3790284"><nmwg:eventType>success.ma.replaced</nmwg:eventType></nmwg:metadata><nmwg:data metadataIdRef="metadata.3790284" id="data.6902728"><nmwgr:datum xmlns:nmwgr="http://ggf.org/ns/nmwg/result/2.0/">data element(s) successfully replaced</nmwgr:datum></nmwg:data><nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="meta0">

    <nmwg:eventType>http://ggf.org/ns/nmwg/topology/20070809</nmwg:eventType>
  </nmwg:metadata></nmwg:message>  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

4. Get the LAMP certificate. The LAMP services require a special certificate for the user and the slice within the expiration time to access topology information withing UNISIS.

$ ./lamp-getcertificate.py -n lnevers-lamp-slice1
Got my SA credential, looking up lnevers-lamp-slice1
Asking for slice credential for lnevers-lamp-slice1
Got the slice credential
Asking for my lamp certificate
Paste the following certificate *as is* into a file called lampcert.pem
Upload the certificate to all LAMP enabled nodes at /usr/local/etc/protogeni/ssl/lampcert.pem
-----BEGIN RSA PRIVATE KEY-----

.. many lines of output not show here....
-----END CERTIFICATE-----

5. Upload LAMP Certificate Determined which node to which to upload the LAMP certificate, and then upload certificate to /usr/local/etc/protogeni/ssl/lampcert.pem on each node.

$ grep "login" lnevers-lamp-slice1-manifest.xml  
       <services>      <login authentication="ssh-keys" hostname="pc86.emulab.net" port="22" username="lnevers"/>    </services>  </node>  
       <services>      <login authentication="ssh-keys" hostname="pc101.emulab.net" port="22" username="lnevers"/>    </services>  </node>  
       <services>      <login authentication="ssh-keys" hostname="pc103.emulab.net" port="22" username="lnevers"/>    </services>  </node>  

$ for node in pc86.emulab.net pc101.emulab.net pc103.emulab.net; do scp lampcert.pem lnevers@$node:.; ssh lnevers@$node "sudo mv lampcert.pem /usr/local/etc/protogeni/ssl/lampcert.pem"; ssh lnevers@$node "sudo chown root.perfsonar /usr/local/etc/protogeni/ssl/lampcert.pem"; ssh lnevers@$node "sudo chmod 440 /usr/local/etc/protogeni/ssl/lampcert.pem"; ssh lnevers@$node "sudo /etc/init.d/psconfig restart"; done
lampcert.pem                                                                                                                                                             100% 4226     4.1KB/s   00:00    
/etc/init.d/psconfig stop: perfSONAR pSConfig Service stopped
waiting...
/opt/perfsonar_ps/perfSONAR_PS-pSConfig/bin/daemon.pl --ssl-enable --config=/usr/local/etc/perfSONAR/pSConfig.conf --pidfile=psconfig.pid --piddir=/var/run --logger=/usr/local/etc/perfSONAR/pSConfig_logger.conf --user=perfsonar --group=perfsonar
/etc/init.d/psconfig start: perfSONAR pSConfig Service started
lampcert.pem                                                                                                                                                             100% 4226     4.1KB/s   00:00    
/etc/init.d/psconfig stop: perfSONAR pSConfig Service stopped
waiting...
/opt/perfsonar_ps/perfSONAR_PS-pSConfig/bin/daemon.pl --ssl-enable --config=/usr/local/etc/perfSONAR/pSConfig.conf --pidfile=psconfig.pid --piddir=/var/run --logger=/usr/local/etc/perfSONAR/pSConfig_logger.conf --user=perfsonar --group=perfsonar
/etc/init.d/psconfig start: perfSONAR pSConfig Service started
lampcert.pem                                                                                                                                                             100% 4226     4.1KB/s   00:00    
/etc/init.d/psconfig stop: perfSONAR pSConfig Service stopped
waiting...
/opt/perfsonar_ps/perfSONAR_PS-pSConfig/bin/daemon.pl --ssl-enable --config=/usr/local/etc/perfSONAR/pSConfig.conf --pidfile=psconfig.pid --piddir=/var/run --logger=/usr/local/etc/perfSONAR/pSConfig_logger.conf --user=perfsonar --group=perfsonar
/etc/init.d/psconfig start: perfSONAR pSConfig Service started

After the services were started still could connect to the LAMP Portal, it was suggested that Web Server Certificate Bundle should be refreshed:

 lamp:~> sudo /usr/local/etc/protogeni/ssl/getcacerts
 Files /usr/local/etc/protogeni/ssl/genica.bundle and /tmp/genica.bundle.6774 differ
 Files /usr/local/etc/protogeni/ssl/genicrl.bundle and /tmp/genicrl.bundle.6774 differ
 /etc/init.d/psconfig stop: perfSONAR pSConfig Service stopped
 /opt/perfsonar_ps/perfSONAR_PS-pSConfig/bin/daemon.pl --ssl-enable --config=/usr/local/etc/perfSONAR/pSConfig.conf --pidfile=psconfig.pid --piddir=/var/run --logger=/usr/local/etc/perfSONAR/pSConfig_logger.conf --user=perfsonar --group=perfsonar
/etc/init.d/psconfig start: perfSONAR pSConfig Service started
  * Starting MySQL database server mysqld                                                               [ OK ] 
  * Checking for corrupt, not cleanly closed and upgrade needing tables.
lamp:~>

After refreshing the Webserver Certificate bundle, the service should be restarted on the node by using the following:

lamp:~> sudo /etc/init.d/psconfig restart

6. You can now connect to the LAMP Portal. Following is a capture of the main page or "Slice Overview -> Configuration Status" page

Selecting the Registered Services brings up the following page:

The "Configuration -> Enabled Services" shows the following:

The "Configuration -> Clock Synchronization" shows the following:

After selecting an NTP server, selected Bandwitdth and Latency services for node1 and node2:

No image "Lamp-portal-5.jpg" attached to GIR3.2_LAMP

7. You can now enable/disable services on each node. Following instructions in the tutorial enabled the following services on each node:

  • node1: Host Monitoring Daemon, Latency services, BWCTL, and the NTP server.
  • node2: Host Monitoring Daemon, Bandwidth services, OWAMP, and the NTP server.
  • lamp: LAMP Portal, Host Monitoring Collector, the Ganglia Measurement Archive, and NTP server.

Once the services are enables switched to "Configuration Status" page to "Push Configuration to UNISIS"

8. Schedule Tests. In the "Scheduled Tests" page you can configure latency and bandwidth tests, following is the capture for enabling Throughput test node2:

After several minutes you may view results by going to the "Registered Services" and clicking on the "Pull Registered Services from UNISIS":

To view ganglia data on the lamp node just connect to the https://<Collector_node>/ganglia/ (collector_node usually = lamp node):

Attachments (12)

Download all attachments as: .zip