= 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 [wiki:GENIRacksHome/InstageniRacks/XenTestStatus 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|| || || ||
|| 1. Customize image || [[Color(green,Pass)]] || || ||
|| 2. Get URN to create custom images || [[Color(green,Pass)]] || || ||
|| 3. Verify current list of custom images || [[Color(green,Pass)]] || || ||
|| 4. Create custom image || [[Color(green,Pass)]] || || ||
|| 5. Verify custom image is in listimage output || [[Color(green,Pass)]] || || ||
|| 6. Verify email for successful image cloning || [[Color(green,Pass)]] || || ||
|| 7. Create RSpec w/custom image || [[Color(green,Pass)]] || || ||
|| 8. Create sliver w/custom image || [[Color(green,Pass)]] || || ||
|| 9. Verify customizations are in images || [[Color(green,Pass)]] || || ||
|| 10. Delete customized image || [[Color(green,Pass)]] || || ||
|| 11. Verify removal of custom image || [[Color(green,Pass)]] || || ||
|| UBUNTU11-64-STD|| || || ||
|| 1. Customize image || || || ||
|| 2. Get URN to create custom images || || || ||
|| 3. Verify current list of custom images || || || ||
|| 4. Create custom image || || || ||
|| 5. Verify custom image is in listimage output || || || ||
|| 6. Verify email for successful image cloning || || || ||
|| 7. Create RSpec w/custom image || || || ||
|| 8. Create sliver w/custom image || || || ||
|| 9. Verify customizations are in images || || || ||
|| 10. Delete customized image || || || ||
|| 11. Verify removal of custom image || || || ||
|| FBSSD82-STD || || || ||
|| 1. Customize image || || || ||
|| 2. Get URN to create custom images || || || ||
|| 3. Verify current list of custom images || || || ||
|| 4. Create custom image || || || ||
|| 5. Verify custom image is in listimage output || || || ||
|| 6. Verify email for successful image cloning || || || ||
|| 7. Create RSpec w/custom image || || || ||
|| 8. Create sliver w/custom image || || || ||
|| 9. Verify customizations are in images || || || ||
|| 10. Delete customized image || || || ||
|| 11. Verify removal of custom image || || || ||
|| FEDORA15-STD || || || ||
|| 1. Customize image || || || ||
|| 2. Get URN to create custom images || || || ||
|| 3. Verify current list of custom images || || || ||
|| 4. Create custom image || || || ||
|| 5. Verify custom image is in listimage output || || || ||
|| 6. Verify email for successful image cloning || || || ||
|| 7. Create RSpec w/custom image || || || ||
|| 8. Create sliver w/custom image || || || ||
|| 9. Verify customizations are in images || || || ||
|| 10. Delete customized image || || || ||
|| 11. Verify removal of custom image || || || ||
[[BR]]
|| '''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. ||
[[BR]]
== 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, and creating files in user and root area.
2. From the sliver manifest determine information that is relevant for the creation of the custom images:
{{{
}}}
3. 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.
4. 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: ============================================================
}}}
5. 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: ============================================================
}}}
6. 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 ----------------
}}}
7. Create an RSpec that uses nodes with the Ubuntu12 custom image, node definitions are as follows:
{{{
}}}
8. 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:
10:57:37 INFO omni:
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: ============================================================
}}}
9. Once the sliver is ready login to host verify that customizations are present and that there is connectivity to the two customized hosts:
{{{
$ ssh -p 31546 -i /home/lnevers/.ssh/geni_cert_portal_key lnevers@pc3.utah.geniracks.net
Welcome to Ubuntu 12.04 LTS (GNU/Linux 2.6.38.7-1.0emulab x86_64)
cust-ub12-1:~% ls -l
total 4
-rw-r--r-- 1 lnevers ch--ln-prj 62 Aug 9 08:36 myfile
cust-ub12-1:~% whereis iperf
iperf: /usr/bin/iperf /usr/bin/X11/iperf /usr/share/man/man1/iperf.1.gz
cust-ub12-1:~%
cust-ub12-1:~% /sbin/ifconfig eth1
eth1 Link encap:Ethernet HWaddr 02:c0:24:5d:1f:cf
inet addr:10.10.1.1 Bcast:10.10.1.255 Mask:255.255.255.0
inet6 addr: fe80::c0:24ff:fe5d:1fcf/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19 errors:0 dropped:0 overruns:0 frame:0
TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1108 (1.1 KB) TX bytes:1834 (1.8 KB)
Interrupt:245
cust-ub12-1:~% ping 10.10.1.2 -c 5
PING 10.10.1.2 (10.10.1.2) 56(84) bytes of data.
64 bytes from 10.10.1.2: icmp_req=1 ttl=64 time=0.320 ms
64 bytes from 10.10.1.2: icmp_req=2 ttl=64 time=0.221 ms
64 bytes from 10.10.1.2: icmp_req=3 ttl=64 time=0.246 ms
64 bytes from 10.10.1.2: icmp_req=4 ttl=64 time=0.245 ms
64 bytes from 10.10.1.2: icmp_req=5 ttl=64 time=0.201 ms
--- 10.10.1.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3997ms
rtt min/avg/max/mdev = 0.201/0.246/0.320/0.043 ms
cust-ub12-1:~%
}}}
10. Delete the customized image:
{{{
$ omni.py deleteimage -a ig-utah urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12
11:14:59 INFO omni: Loading config file /home/lnevers/.gcf/omni_config
11:14:59 INFO omni: Using control framework portal
11:14:59 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
11:14:59 INFO omni: DeleteImage using image_urn 'urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12'
11:14:59 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
11:15:02 INFO omni: (PG log url - look here for details on any failures: https://boss.utah.geniracks.net/spewlogfile.php3?logfile=ed3fd4144dacbccbfcacc6c222ca4728)
11:15:02 INFO omni: Deleted image urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12 at https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0
11:15:02 INFO omni: ------------------------------------------------------------
11:15:02 INFO omni: Completed deleteimage:
Options as run:
aggregate: ['ig-utah']
framework: portal
project: ln-prj
Args: deleteimage urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12
Result Summary: Deleted image urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12 at https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0
11:15:02 INFO omni: ============================================================
}}}
11. Verify removal of custom image:
{{{
$ omni.py deleteimage -a ig-utah urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12
11:14:59 INFO omni: Loading config file /home/lnevers/.gcf/omni_config
11:14:59 INFO omni: Using control framework portal
11:14:59 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
11:14:59 INFO omni: DeleteImage using image_urn 'urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12'
11:14:59 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
11:15:02 INFO omni: (PG log url - look here for details on any failures: https://boss.utah.geniracks.net/spewlogfile.php3?logfile=ed3fd4144dacbccbfcacc6c222ca4728)
11:15:02 INFO omni: Deleted image urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12 at https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0
11:15:02 INFO omni: ------------------------------------------------------------
11:15:02 INFO omni: Completed deleteimage:
Options as run:
aggregate: ['ig-utah']
framework: portal
project: ln-prj
Args: deleteimage urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12
Result Summary: Deleted image urn:publicid:IDN+utah.geniracks.net+image+ch-geni-net:lncustub12 at https://boss.utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0
11:15:02 INFO omni: ============================================================
}}}
=== UBUNTU11-64-STD Custom Image ===
1. Login to the Ubuntu 11 host and customize the image by adding several packages, and creating files in user and root area.
2. From the sliver manifest determine information that is relevant for the creation of the custom images:
{{{
}}}
3. Before creating a custom image verify your current list of custom images:
4. Now create a custom image:
5. Verify that custom image is available via list image command:
6. An email will be sent to you to let you know that the image cloning has successfully completed and should look as follows:
7. Create an RSpec that uses nodes with the Ubuntu12 custom image, node definitions are as follows:
8. Create a slice and sliver using the custom Ubuntu 12 image
9. Once the sliver is ready login to host verify that customizations are present and that there is connectivity to the two customized hosts:
10. Delete the customized image:
11. Verify removal of custom image:
=== 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.
2. From the sliver manifest determine information that is relevant for the creation of the custom images:
{{{
}}}
3. Before creating a custom image verify your current list of custom images:
4. Now create a custom image:
5. Verify that custom image is available via list image command:
6. An email will be sent to you to let you know that the image cloning has successfully completed and should look as follows:
7. Create an RSpec that uses nodes with the Ubuntu12 custom image, node definitions are as follows:
8. Create a slice and sliver using the custom Ubuntu 12 image
9. Once the sliver is ready login to host verify that customizations are present and that there is connectivity to the two customized hosts:
10. Delete the customized image:
11. Verify removal of custom image:
=== FEDORA15-STD Custom Image ===
1. Login to the Fedora 15 host and customize the image by adding several packages, and creating files in user and root area.
2. From the sliver manifest determine information that is relevant for the creation of the custom images:
{{{
}}}
3. Before creating a custom image verify your current list of custom images:
4. Now create a custom image:
5. Verify that custom image is available via list image command:
6. An email will be sent to you to let you know that the image cloning has successfully completed and should look as follows:
7. Create an RSpec that uses nodes with the Ubuntu12 custom image, node definitions are as follows:
8. Create a slice and sliver using the custom Ubuntu 12 image
9. Once the sliver is ready login to host verify that customizations are present and that there is connectivity to the two customized hosts:
10. Delete the customized image:
11. Verify removal of custom image: