Version 41 (modified by 12 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 which is attached to the LAMP tutorial page 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 has 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.
- Renewing a slice requires for this entire LAMP process to be re-executed. If missed, data and configurations are lost.
- Ran into intermittent access issue for the UNIS server.
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 Set up a ProtoGENI slice to be used in this experiment. This example uses the Omni tool in the GCF package, rather than the suggested ProtoGENI Test tools.
$ 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: ============================================================
2. Add LAMP Resources Using the above RSpec created a sliver that uses the required LAMP image named UBUNTU91-LAMP.
Modified the LAMP example RSpec provided in the tutorial to include my slice and my user information. A file named lamp.rspec was created containing the following:
<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>
Using the Rspec defined above, created a sliver with the LAMP resources:
$ ./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 and your user credentials for the slich, 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 $ ./src/omni.py -o -a https://www.emulab.net/protogeni/xmlrpc/am getslicecred lnevers-lamp-slice1
The first omni command creates a manifest Rspec output file named lnevers-lamp-slice1-rspec-www-emulab-net-protogeni.xml, later renamed it lnevers-lamp-slice1-manifest.xml for conciseness. The second omni command generate a user credentials file for the slice which is named lnevers-lamp-slice1-cred.xml.
$ 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:
$ 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 $ cp /path/to/gcf-1.4/lnevers-lamp-slice1-cred.xml .
With the latest lamp-sendmanifest.py, you should use the syntax below, but due to a bug with support for RSpec V0.2, the command does not work:
$ ./lamp-sendmanifest.py 0.2 lnevers-lamp-slice1-manifest.xml urn:publicid:IDN+emulab.net+slice+lnevers-lamp-slice1 lnevers-lamp-slice1-cred.xml
The failing lamp-sendmanifest.py is the version introduced to support RSpec v2.0, but it no longer works with V0.2 Rspecs. The earlier version of the lamp-sendmanifest.py script was used to upload the V.0.2 RSpec, which worked using the following syntax:
$ ./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 .... part of output not shown..... 6uM9m1hY2akZ31VTquNmgPPm6S2YXqlI3inV9j1pFRDr3otve03BJw== </owner_gid> <owner_urn>urn:publicid:IDN+emulab.net+user+lnevers</owner_urn> <target_gid>MIIDVjCCAr+gAwIBAgIDAUwPMA0GCSqGSIb3DQEBBAUAMIG4MQswCQYDVQQGEwJV .... part of output not shown..... 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 .... part of output not shown..... 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 are various captures of the LAMP Portal, starting with the main page or Slice Overview => Configuration Status page before any configuration had taken place:
Selecting the Registered Services brings up the following page:
The Configuration => Enabled Services shows the following:
The Configuration -> Clock Synchronization shows the NTP server configuration page:
Selected an NTP server and saved changes.
7. You can now enable/disable services on each node. Following instructions in the tutorial enabled the following services were enabled 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 the UNIS server.
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 all available Ganglia data, you can connect to Ganglia directly at the address https://<Collector_node>/ganglia/ (where collector_node is the lamp node):
You can also access specific details of the Ganglia data in the Visualization => SNMP Services by "Query" and then choosing data of interest. Below is part of the available options, more are available but not show in the image below:
To view results for the Ping Scheduled tests, use the Visualization=> PINGER Server and click "Query" to view data of interest:
Following is an example graph for the 12 hours option:
Attachments (12)
- Lamp-portal-1.jpg (138.4 KB) - added by 12 years ago.
- Lamp-portal-2.jpg (75.8 KB) - added by 12 years ago.
- Lamp-portal-3.jpg (179.4 KB) - added by 12 years ago.
- Lamp-portal-4.jpg (149.6 KB) - added by 12 years ago.
- lamp-sendmanifest.py (19.7 KB) - added by 12 years ago.
- Lamp-portal-6.jpg (141.8 KB) - added by 12 years ago.
- Lamp-portal-7.jpg (106.4 KB) - added by 12 years ago.
- Lamp-portal-8.jpg (108.9 KB) - added by 12 years ago.
- Lamp-portal-9.jpg (222.9 KB) - added by 12 years ago.
- Lamp-portal-10.jpg (68.9 KB) - added by 12 years ago.
- Lamp-portal-11.jpg (60.1 KB) - added by 12 years ago.
- Lamp-portal-12.jpg (197.2 KB) - added by 12 years ago.
Download all attachments as: .zip