= LAMP Evaluation = The LAMP Evaluation was based on instruction found at the [http://groups.geni.net/geni/wiki/LAMP/Tutorial LAMP I&M System Tutorial] page. No versioning was available for either of the two scripts available for download, [http://groups.geni.net/geni/attachment/wiki/LAMP/Tutorial/lamp-getcertificate.py lamp-getcertificate.py] and [http://groups.geni.net/geni/attachment/wiki/LAMP/Tutorial/lamp-sendmanifest.py lamp-sendmanifest.py]. Evaluation Time Frame: November 16, 2011 = LAMP GENI Findings = = LAMP How-to = Using instructions from the [http://groups.geni.net/geni/wiki/LAMP/Tutorial LAMP I&M System Tutorial] page, downloaded the 2 LAMP scripts and the required ProtoGENI Test script a these locations: * [http://groups.geni.net/geni/attachment/wiki/LAMP/Tutorial/lamp-getcertificate.py lamp-getcertificate.py] * [http://groups.geni.net/geni/attachment/wiki/LAMP/Tutorial/lamp-sendmanifest.py lamp-sendmanifest.py]. * [http://www.emulab.net/downloads/protogeni-tests.tar.gz ProtoGENI Test tools] 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''' Used Omni tools to set up a ProtoGENI slice and sliver that uses the required LAMP image named UBUNTU91-LAMP: {{{ $ ./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 [http://groups.geni.net/geni/wiki/LAMP/Tutorial#a1.ModifytheRSpec example RSpec] to include my slice name and my user information: {{{ 100 0.05 }}} '''2. Using the above RSpec created a slivers:''' {{{ $ ./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: INFO:omni: INFO:omni: 100 0.05 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''' This step requires upload the slice manifest, which can be generated as follows: {{{ $ ./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: {{{ ./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 ln evers-lamp-slice1-cred.xml
pc151.emulab.net
eth3
0002b365cd49
10.10.1.1
pc157.emulab.net
eth3
0002b335f753
10.10.1.2
pc150.emulab.net
ethernet 100 0.05 urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node1:port=iface0 urn:ogf:network:domain=emulab.net+slice+lnevers-lamp-slice1:node=node2:port=iface0
}}} '''4. Get the LAMP certificate''' {{{ $ ./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 $ for node in pc151.emulab.net pc157.emulab.net pc150.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 }}}