Changes between Version 14 and Version 15 of LAMP/Tutorial

09/21/10 15:19:01 (11 years ago)



  • LAMP/Tutorial

    v14 v15  
    2020This section will guide you through creating and starting a slice, requesting a LAMP services certificate for you slice, uploading your experiment's topology to [ UNIS], and setting up the instrumentation and measurement facilities of your slice. The expected time required to setup your slice with the LAMP I&M System is around 10 minutes. Following this guide through the end is aimed to take about 30 minutes. Let us know how long it takes you and places for improvement!
    22 === Few words on the LAMP I&M System design ===
     22=== Before we start: a few words on the LAMP I&M System design ===
    2424It is useful to understand the general principles behind the steps we will take throughout this tutorial. The LAMP I&M System is built on top of three pillars:
    101 === 2. Create and Start our Slice ===
     101=== 2. Create and start our slice ===
     103After modifying the RSpec as explained on the previous step, we proceed to create the slice/sliver as usual. Please refer to the [ ProtoGENI tutorial] if you're not familiar with the following commands.
     106$ test/ -n lamptutorial rspec/examples/lamp-tutorial-rspec.xml
     107Got my SA credential
     108Asking for slice credential for lamptutorial
     109Got the slice credential
     110Creating the Sliver ...
     111Created the sliver
     112<rspec xmlns="" xmlns:lamp="" valid_until="2010-09-22T03:34:50">
     114   <node virtual_id="node1" virtualization_type="raw" exclusive="1" startup_command="/usr/local/etc/lamp/" component_urn="" component_uuid="de98e5e4-773e-102b-8eb4-001143e453fe" component_manager_urn="" component_manager_uuid="28a10955-aa00-11dd-ad1f-001143e453fe" sliver_uuid="de98e5e4-773e-102b-8eb4-001143e453fe" hostname="" sshdport="22" sliver_urn="">
     116      <node_type type_name="pc" type_slots="1"/>
     118      <disk_image name=""/>
     120      <lamp:config/>
     122      <interface virtual_id="iface0" component_id="eth3"/>
     123   <services><login authentication="ssh-keys" hostname="" port="22"/></services></node>
     125... rest of manifest ...
     129You can see the full manifest returned for this particular instance [ here]. Save (copy/paste) this manifest to a file, we will call it lamptutorial-manifest.xml.
     131At this point it is important to notice the valid_until field of the manifest: valid_until="2010-09-22T03:34:50". If you feel like this is not enough time for your slice, use the test script to extend your slice. You should do this now as step 4 depends on this (actually, it depends on the expiration time of the slice, which seems to be a couple of hours more than what's in the manifest). While our slice is being started we can go ahead and setup the LAMP infrastructure for our experiment.
     133=== 3. Upload your experiment's topology to UNIS ===
     135UNIS is the glue that holds the LAMP I&M System together (see the '''Before we start''' section above). Services are configured (and configure themselves) through the topology data and the directory of services in UNIS. The first step we need to take before being able to configure and utilize our LAMP services is to convert our experiment's manifest into the UNIS topology schema and send it to UNIS. This is done automatically by the script The usage for the script is as follows.
     138$ test/
     139Not enough arguments
     140Usage: <manifest> <slice_urn> [credential]
     143Where `<manifest>` is the file we saved our manifest to; `<slice_urn>` is the fully-qualified URN of our slice (''''); and [credential] is a file with our credential for the slice. The credential parameter is optional if you use the LAMP certificate for your slice (see step 4). We could have done step 4 first and used the LAMP certificate for this step, but we want to show that UNIS can be accessed with your own certificate and the slice credential. So we will go ahead and get our slice credential first:
     146$ test/ -n lamptutorial > lamptutorial-credential.xml
     149A small modification needs to be done for now on the credential we just saved: remove the first line that indicates the xml version and encoding. Make sure you do not modify any other line, otherwise the signature check will fail. Our [ credential] is now ready to be used with the script.
     152$ test/ lamptutorial-manifest.xml lamptutorial-credential.xml
     154<nmwg:message type="TSReplaceRequest" xmlns:nmwg="">
     155  <nmwg:metadata id="meta0">
     157    <nmwg:eventType></nmwg:eventType>
     158  </nmwg:metadata>
     160  <nmwg:metadata id="cred0">
     161    <nmwg:subject metadataIdRef="meta0">
     162<signed-credential xmlns:xsi="" xsi:noNamespaceSchemaLocation="" xsi:schemaLocation="">
     163  <credential xml:id="ref1CC6F2904F4CCCFA">
     165  ... rest of credential ...
     169    </nmwg:subject>
     170    <nmwg:eventType></nmwg:eventType>
     171  </nmwg:metadata>
     173  <nmwg:data id="data0" metadataIdRef="cred0">
     174<topology id="genitopo" xmlns="" xmlns:pgeni="" xmlns:psconfig="">
     175        <domain id="">
     176                <node id="">
     177                        <address type="dns">
     179                        </address>
     180                        <nodePropertiesBag>
     181                                <pgeni:nodeProperties component_manager_urn="" component_manager_uuid="28a10955-aa00-11dd-ad1f-001143e453fe" component_urn="" component_uuid="de98e5e4-773e-102b-8eb4-001143e453fe" exclusive="1" sliver_urn="" sliver_uuid="de98e5e4-773e-102b-8eb4-001143e453fe" startup_command="/usr/local/etc/lamp/" virtualization_type="raw">
     182                                        <pgeni:node_type type_name="pc" type_slots="1"/>
     183                                        <pgeni:disk_image name=""/>
     184                                        <pgeni:services>
     185                                                <pgeni:login authentication="ssh-keys" hostname="" port="22"/>
     186                                        </pgeni:services>
     187                                </pgeni:nodeProperties>
     188                                <psconfig:nodeProperties/>
     189                        </nodePropertiesBag>
     190                        <port id="">
     191                                <name>
     192                                        eth3
     193                                </name>
     194                                <portPropertiesBag>
     195                                        <pgeni:portProperties component_id="eth3" component_urn="" sliver_urn="" sliver_uuid="012ff9dc-c5b0-11df-ad83-001143e453fe"/>
     196                                </portPropertiesBag>
     197                                <address type="mac">
     198                                        0002b365ce6b
     199                                </address>
     200                                <address type="ipv4">
     202                                </address>
     203                        </port>
     204                </node>
     206                ... rest of slice topology in UNIS schema ...
     207        </domain>
     210  </nmwg:data>
     215Enter PEM pass phrase:
     218<SOAP-ENV:Envelope xmlns:SOAP-ENC=""
     219                   xmlns:xsd=""
     220                   xmlns:xsi=""
     221                   xmlns:SOAP-ENV="">
     222  <SOAP-ENV:Header/>
     223  <SOAP-ENV:Body>
     224<nmwg:message xmlns:nmwg="" id="message.1791117" type="TSReplaceResponse"><nmwg:metadata metadataIdRef="meta0" id="metadata.6705932"><nmwg:eventType></nmwg:eventType></nmwg:metadata><nmwg:data metadataIdRef="metadata.6705932" id="data.17724448"><nmwgr:datum xmlns:nmwgr="">data element(s) successfully replaced</nmwgr:datum></nmwg:data><nmwg:metadata xmlns:nmwg="" id="meta0">
     226    <nmwg:eventType></nmwg:eventType>
     227  </nmwg:metadata></nmwg:message>  </SOAP-ENV:Body>