wiki:GENIRacksHome/InstageniRacks/XenTestStatus/IG-XN-2

Version 10 (modified by lnevers@bbn.com, 6 years ago) (diff)

--

IG-XN-2: Custom Xen Image Support tests

This test case verifies that each of the supported guest images can be used to generate custom images. Guest custom image support tests will be executed on the Utah InstaGENI rack. For overall status see the InstaGENI Xen Virtualization Test Status page.

Last updated: 2013/08/09

Test Status

This section captures the status for each step in the acceptance test plan.

OS State Ticket Notes
UBUNTU12-64-STD
UBUNTU11-64-STD
FBSSD82-STD
FEDORA15-STD


State Legend Description
Color(green,Pass)? Test completed and met all criteria
Color(#98FB98,Pass: most criteria)? Test completed and met most criteria. Exceptions documented
Color(red,Fail)? Test completed and failed to meet criteria.
Color(yellow,Complete)? Test completed but will require re-execution due to expected changes
Color(orange,Blocked)? Blocked by ticketed issue(s).
Color(#63B8FF,In Progress)? Currently under test.


Test Execution Details

This testing is executed with GENI Clearinghouse Credentials. The sliver created in IG-XN-1 is used to create 4 custom images, one for each supported OS.

UBUNTU12-64-STD Custom Image

  1. Login to the Ubuntu 12 host and customize the image by adding several packages, modifying /etc/hosts definitions, and creating files in user and root area.
  1. From the sliver manifest determine information that is relevant for the creation of the custom images:
    <node client_id="Ub12" exclusive="false" component_id="urn:publicid:IDN+utah.geniracks.net+node+pc3" 
    component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" 
    sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+24391">
    <sliver_type name="emulab-xen">
    <disk_image name="urn:publicid:IDN+utah.geniracks.net+image+emulab-ops:UBUNTU12-64-STD" os="Linux" version="12.04"/>
    </sliver_type>
    <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm3-8"/>
    <host name="Ub12.lnxenos.ch-geni-net.utah.geniracks.net"/>
    <services><login authentication="ssh-keys" hostname="pc3.utah.geniracks.net" port="30013" username="lnevers"/></services></node>
    
  1. Before creating a custom image verify your current list of custom images:
    $ omni.py listimages -a ig-utah 
    ...
    Result Summary: Images created by urn:publicid:IDN+ch.geni.net+user+lnevers at https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0:
    [] 
    

No images exist.

  1. Now create a custom image:
    $ omni.py createimage -a ig-utah lnxenos lncustub12 -u urn:publicid:IDN+utah.geniracks.net+sliver+24391
    10:44:24 INFO     omni: Loading config file /home/lnevers/.gcf/omni_config
    10:44:24 INFO     omni: Using control framework portal
    10:44:24 INFO     omni: Substituting AM nickname ig-utah with URL https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, URN urn:publicid:IDN+utah.geniracks.net+authority+cm
    10:44:25 INFO     omni: Slice urn:publicid:IDN+ch.geni.net:ln-prj+slice+lnxenos expires on 2013-08-14 13:19:02 UTC
    10:44:25 INFO     omni: Substituting AM nickname ig-utah with URL https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, URN urn:publicid:IDN+utah.geniracks.net+authority+cm
    10:44:27 INFO     omni:  (PG log url - look here for details on any failures: https://boss.utah.geniracks.net/spewlogfile.php3?logfile=3be0f64c814c14d20cbb7c24fef33e5b)
    10:44:27 INFO     omni: Snapshotting disk on urn:publicid:IDN+utah.geniracks.net+sliver+24391 at https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, creating public image ['urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12', 'https://boss.utah.geniracks.net/image_metadata.php?uuid=30942743-0102-11e3-970d-000000000000']
    10:44:27 INFO     omni:  ------------------------------------------------------------
    10:44:27 INFO     omni:  Completed createimage:
    
      Options as run:
    		aggregate: ['ig-utah']
    		framework: portal
    		project: ln-prj
    		slivers: ['urn:publicid:IDN+utah.geniracks.net+sliver+24391']
    
      Args: createimage lnxenos lncustub12
    
      Result Summary: Snapshotting disk on urn:publicid:IDN+utah.geniracks.net+sliver+24391 at https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, creating public image ['urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12', 'https://boss.utah.geniracks.net/image_metadata.php?uuid=30942743-0102-11e3-970d-000000000000'] 
    10:44:27 INFO     omni:  ============================================================
    
  1. Verify that custom image is available via list image command:
    $ omni.py listimages -a ig-utah   10:45:38 INFO     omni: Loading config file /home/lnevers/.gcf/omni_config
    10:45:38 INFO     omni: Using control framework portal
    10:45:38 INFO     omni: Substituting AM nickname ig-utah with URL https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, URN urn:publicid:IDN+utah.geniracks.net+authority+cm
    10:45:38 INFO     omni: ListImages using creator_urn 'urn:publicid:IDN+ch.geni.net+user+lnevers'
    10:45:38 INFO     omni: Substituting AM nickname ig-utah with URL https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, URN urn:publicid:IDN+utah.geniracks.net+authority+cm
    10:45:40 INFO     omni:  (PG log url - look here for details on any failures: https://boss.utah.geniracks.net/spewlogfile.php3?logfile=982afee125270d9628517daec151e02b)
    10:45:40 INFO     omni: [
      {
        "url": "https://boss.utah.geniracks.net/image_metadata.php?uuid=30942743-0102-11e3-970d-000000000000", 
        "urn": "urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12"
      }
    ]
    10:45:40 INFO     omni:  ------------------------------------------------------------
    10:45:40 INFO     omni:  Completed listimages:
    
      Options as run:
    		aggregate: ['ig-utah']
    		framework: portal
    		project: ln-prj
    
      Args: listimages
    
      Result Summary: Images created by urn:publicid:IDN+ch.geni.net+user+lnevers at https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0:
    [
      {
        "url": "https://boss.utah.geniracks.net/image_metadata.php?uuid=30942743-0102-11e3-970d-000000000000", 
        "urn": "urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12"
      }
    ] 
    10:45:40 INFO     omni:  ============================================================
    
  1. An email will be sent to you to let you know that the image cloning has successfully completed and should look as follows:
    Subject: 	UTAHGENIRACK: Finished cloning image
    Date: 	Fri, 9 Aug 2013 08:47:08 -0600 (MDT)
    From: 	XXX
    To: 	XXX
    
    
    Image URN: urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12
    Image URL: https://boss.utah.geniracks.net/image_metadata.php?uuid=30942743-0102-11e3-970d-000000000000
    
    -----------------------------------------
    About to: '/usr/testbed/bin/sshtb -n -o ConnectTimeout=10 -host pcvm3-8 /usr/local/etc/emulab/reboot_prepare'
    About to: '/usr/testbed/bin/sshtb -n -host pc3 /usr/local/bin/create-image  -S 155.98.34.4 -F ch-geni-net/lncustub12 -s 2 pcvm3-8 -' as uid 0
    pc3: started image capture, waiting up to 72 minutes
    Container is still running. Waiting ...
    mysystem: '/usr/bin/sudo /usr/local/bin/imagezip -s 2 /dev/xen-vg/pcvm3-8 - | /usr/local/etc/emulab/frisupload -S 155.98.34.4 -F ch-geni-net/lncustub12 -P pcvm3-8 -'
    ch-geni-net/lncustub12: upload to 155.98.34.4:15672 from -
    pc3: still waiting ... it has been 2 minutes. Current image size: 543162368 bytes.
    6301613056 input (1966554112 compressed) bytes in 99.169 seconds
    Image size: 584056832 bytes
    18.912MB/second compressed
    Finished in 99.786 seconds
    ch-geni-net/lncustub12: upload completed after 584056832 bytes in 97.800 seconds
    /groups/ch-geni-net/ln-prj/images/lncustub12.ndz: 558 chunks, 2219 regions, 31394 hashregions, 1966554112 data bytes
    1966554112 bytes: inflate cycles: 46629105585
    Swapout signature file created
    Image creation succeeded.
    Image written to /groups/ch-geni-net/ln-prj/images/lncustub12.ndz.
    
    ------------------ Prepare Output ----------------
    
    
  2. Create an RSpec that uses nodes with the Ubuntu12 custom image, node definitions are as follows:
      <node client_id="cust-ub12-1" exclusive="false">
          <sliver_type name="emulab-xen">
          <disk_image name="urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12" />
          </sliver_type>
          <interface client_id="cust-ub12-1:if0" />
      </node>
    
      <node  client_id="cust-ub12-2" exclusive="false">
          <sliver_type name="emulab-xen">
          <disk_image name="urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12" />
          </sliver_type>
          <interface client_id="cust-ub12-2:if0" />
      </node>
    
      <link client_id="cust-ub12-1-and-cust-ub12-2">
        <interface_ref client_id="cust-ub12-1:if0"/>
        <interface_ref client_id="cust-ub12-2:if0"/>
        <property source_id="cust-ub12-1:if0" dest_id="cust-ub12-2:if0"/>
        <property source_id="cust-ub12-2:if0" dest_id="cust-ub12-1:if0"/>
      </link>
    </rspec>
    
  1. Create a slice and sliver using the custom Ubuntu 12 image
    $ omni.py createslice lnxenub12cust
    10:55:50 INFO     omni: Loading config file /home/lnevers/.gcf/omni_config
    10:55:50 INFO     omni: Using control framework portal
    10:55:52 INFO     omni: Created slice with Name lnxenub12cust, URN urn:publicid:IDN+ch.geni.net:ln-prj+slice+lnxenub12cust, Expiration 2013-08-16 14:55:51
    10:55:52 INFO     omni:  ------------------------------------------------------------
    10:55:52 INFO     omni:  Completed createslice:
    
      Options as run:
    		framework: portal
    		project: ln-prj
    
      Args: createslice lnxenub12cust
    
      Result Summary: Created slice with Name lnxenub12cust, URN urn:publicid:IDN+ch.geni.net:ln-prj+slice+lnxenub12cust, Expiration 2013-08-16 14:55:51
     
    10:55:52 INFO     omni:  ============================================================
    
    $ omni.py createsliver lnxenub12cust -a ig-utah ./insta-xen-cust-ub12.rspec
    10:57:23 INFO     omni: Loading config file /home/lnevers/.gcf/omni_config
    10:57:23 INFO     omni: Using control framework portal
    10:57:23 INFO     omni: Substituting AM nickname ig-utah with URL https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, URN urn:publicid:IDN+utah.geniracks.net+authority+cm
    10:57:24 INFO     omni: Slice urn:publicid:IDN+ch.geni.net:ln-prj+slice+lnxenub12cust expires on 2013-08-16 14:55:51 UTC
    10:57:24 INFO     omni: Substituting AM nickname ig-utah with URL https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, URN urn:publicid:IDN+utah.geniracks.net+authority+cm
    10:57:24 INFO     omni: Substituting AM nickname ig-utah with URL https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, URN urn:publicid:IDN+utah.geniracks.net+authority+cm
    10:57:24 INFO     omni: Creating sliver(s) from rspec file ./insta-xen-cust-ub12.rspec for slice urn:publicid:IDN+ch.geni.net:ln-prj+slice+lnxenub12cust
    10:57:37 INFO     omni:  (PG log url - look here for details on any failures: https://boss.utah.geniracks.net/spewlogfile.php3?logfile=c43151fea83a51083bfd3465ec2c10c1)
    10:57:37 INFO     omni: Got return from CreateSliver for slice lnxenub12cust at https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0:
    10:57:37 INFO     omni: <!-- Reserved resources for:
    	Slice: lnxenub12cust
    	at AM:
    	URN: urn:publicid:IDN+utah.geniracks.net+authority+cm
    	URL: https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0
     -->
    10:57:37 INFO     omni: <rspec xmlns="http://www.geni.net/resources/rspec/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3                            http://www.geni.net/resources/rspec/3/manifest.xsd" type="manifest">
    
      <node client_id="cust-ub12-1" exclusive="false" component_id="urn:publicid:IDN+utah.geniracks.net+node+pc3" component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+24398">
          <sliver_type name="emulab-xen">
          <disk_image name="urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12"/>
          </sliver_type>
          <interface client_id="cust-ub12-1:if0" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc3:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+24402" mac_address="02c0245d1fcf"><ip address="10.10.1.1" type="ipv4"/></interface>
      <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm3-9"/><host name="cust-ub12-1.lnxenub12cust.ch-geni-net.utah.geniracks.net"/><services><login authentication="ssh-keys" hostname="pc3.utah.geniracks.net" port="31546" username="lnevers"/></services></node>
    
      <node client_id="cust-ub12-2" exclusive="false" component_id="urn:publicid:IDN+utah.geniracks.net+node+pc3" component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+24399">
          <sliver_type name="emulab-xen">
          <disk_image name="urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12"/>
          </sliver_type>
          <interface client_id="cust-ub12-2:if0" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc3:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+24403" mac_address="027f260afb32"><ip address="10.10.1.2" type="ipv4"/></interface>
      <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm3-10"/><host name="cust-ub12-2.lnxenub12cust.ch-geni-net.utah.geniracks.net"/><services><login authentication="ssh-keys" hostname="pc3.utah.geniracks.net" port="31547" username="lnevers"/></services></node>
    
      <link client_id="cust-ub12-1-and-cust-ub12-2" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+24401">
        <interface_ref client_id="cust-ub12-1:if0" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc3:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+24402"/>
        <interface_ref client_id="cust-ub12-2:if0" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc3:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+24403"/>
        <property source_id="cust-ub12-1:if0" dest_id="cust-ub12-2:if0"/>
        <property source_id="cust-ub12-2:if0" dest_id="cust-ub12-1:if0"/>
      </link>
    </rspec>
    10:57:37 INFO     omni:  ------------------------------------------------------------
    10:57:37 INFO     omni:  Completed createsliver:
    
      Options as run:
    		aggregate: ['ig-utah']
    		framework: portal
    		project: ln-prj
    
      Args: createsliver lnxenub12cust ./insta-xen-cust-ub12.rspec
    
      Result Summary: Got Reserved resources RSpec from utah-geniracks-net 
    10:57:37 INFO     omni:  ============================================================
    

UBUNTU11-64-STD Custom Image

  1. Login to the Ubuntu 11 host and customize the image by adding packages iperf and XXX, modifying /etc/hosts definitions, and creating files in user and root area.
  1. From the sliver manifest determine information that is relevant for the creation of the custom images:
    <node client_id="Ub11" exclusive="false" component_id="urn:publicid:IDN+utah.geniracks.net+node+pc3"
    component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" 
    sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+24390">
    <sliver_type name="emulab-xen">
    <disk_image name="urn:publicid:IDN+utah.geniracks.net+image+emulab-ops:UBUNTU11-64-STD" os="Linux" version="11.04"/>      
    </sliver_type>
    <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm3-7"/>
    <host name="Ub11.lnxenos.ch-geni-net.utah.geniracks.net"/>
    <services>
    <login authentication="ssh-keys" hostname="pc3.utah.geniracks.net" port="30012" username="lnevers"/></services></node>
    

FBSSD82-STD Custom Image

  1. Login to the Free BSD 8.2 host and customize the image by adding packages iperf and XXX, modifying /etc/hosts definitions, and creating files in user and root area.
  1. From the sliver manifest determine information that is relevant for the creation of the custom images:
    <node client_id="BSD82" exclusive="false" component_id="urn:publicid:IDN+utah.geniracks.net+node+pc3" 
    component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" 
    sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+24388">
    <sliver_type name="emulab-xen">
    <disk_image name="urn:publicid:IDN+utah.geniracks.net+image+emulab-ops:FBSD82-STD" os="FreeBSD" version="8.2"/>
    </sliver_type>
    <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm3-1"/>
    <host name="BSD82.lnxenos.ch-geni-net.utah.geniracks.net"/>
    <services>
    <login authentication="ssh-keys" hostname="pc3.utah.geniracks.net" port="30010" username="lnevers"/></services></node>
    

FEDORA15-STD Custom Image

  1. Login to the Fedora 15 host and customize the image by adding packages iperf and XXX, modifying /etc/hosts definitions, and creating files in user and root area.
  1. From the sliver manifest determine information that is relevant for the creation of the custom images:
<node client_id="FED15" exclusive="false" component_id="urn:publicid:IDN+utah.geniracks.net+node+pc3" 
component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" 
sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+24389">
<sliver_type name="emulab-xen">
<disk_image name="urn:publicid:IDN+utah.geniracks.net+image+emulab-ops:FEDORA15-STD" os="Fedora" version="15"/>
</sliver_type>
<rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm3-6"/>
<host name="FED15.lnxenos.ch-geni-net.utah.geniracks.net"/>
<services>
<login authentication="ssh-keys" hostname="pc3.utah.geniracks.net" port="30011" username="lnevers"/></services></node>