https://fedoraproject.org/w/api.php?action=feedcontributions&user=Derekh&feedformat=atomFedora Project Wiki - User contributions [en]2024-03-28T08:35:26ZUser contributionsMediaWiki 1.39.4https://fedoraproject.org/w/index.php?title=Test_Day:2013-04-02_OpenStack&diff=328889Test Day:2013-04-02 OpenStack2013-04-02T13:00:08Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Day<br />
| date = 2013-04-02<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-test-day #fedora-test-day] ([http://webchat.freenode.net/?channels=fedora-test-day, webirc])<br />
}}<br />
<br />
<br />
{{admon/note | Can't make the dates? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Development - [[User:Mrunge|Mrunge]] (mrunge)<br />
* Development - [[User:Eglynn|Eglynn]] (eglynn)<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Gkotton|GKotton]] (garyk)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik), [[User:spstarr|spstarr]] (spstarr)<br />
* Test - [[User:kashyapc|kashyapc]] (kashyap), [[User:spstarr|spstarr]] (spstarr)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 19 test day, but we have OpenStack Grizzly packages available for both Fedora 19 and Fedora 18.<br />
It would be advisable to download and install your Fedora 18 or Fedora 19 test systems before the test day if possible.<br />
<br />
=== Fedora 19 ===<br />
* [https://dl.fedoraproject.org/pub/alt/stage/ Fedora 19 Alpha live image] can be used to install a virtual machine.<br />
* Currently bare metal installs are not supported [https://bugzilla.redhat.com/show_bug.cgi?id=928228 #928228]<br />
* VMs should have at least 2G RAM and 16G disk made available [https://bugzilla.redhat.com/show_bug.cgi?id=928886 #928886]<br />
<br />
Please record common Fedora 19 issues here:<br />
* System doesn't boot after install until /run is manually created [https://bugzilla.redhat.com/show_bug.cgi?id=922988#c27 #922988]<br />
* Screen blanking/locking can't be undone. So disable immediately on first boot [https://bugzilla.redhat.com/show_bug.cgi?id=923364 #923364]<br />
<br />
* If you have an F18, machine, since F19 is branched, you can update to f19 using the below way:<br />
<br />
yum update yum; yum clean all ; yum --releasever=19 distro-sync --nogpgcheck -y;<br />
<br />
=== Fedora 18 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 18 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== SELinux ===<br />
<br />
SELinux should work with OpenStack services.<br />
If there are issues you can disable like:<br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|123456}} general - ....<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
'''Test day only''' Please use the official Fedora repositories otherwise<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/openstack-grizzly/fedora-openstack-grizzly.repo -o /etc/yum.repos.d/fedora-openstack-grizzly.repo<br />
<br />
So now the yum repositories are in place, so we'll install packstack.<br />
This can install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard, ceilometer.<br />
Note it configures and enables all but the quantum and ceilometer services at this time:<br />
'''Packstack is not working on F19 https://bugzilla.redhat.com/show_bug.cgi?id=927298'''<br />
sudo yum install -y openstack-packstack<br />
sudo packstack --gen-answer-file=ans.txt<br />
# edit ans.txt as required<br />
sudo packstack --answer-file=ans.txt<br />
<br />
'''packstack known issues : '''<br />
# packstack fails to start keystone, if you hit a keystone error during the packstack run, change the permission of the keystone log file and rerun packstack ([https://bugzilla.redhat.com/show_bug.cgi?id=946915 rhbz#946915])<br />
sudo chown keystone:keystone /var/log/keystone/keystone.log<br />
# if sometimes outputs an erorr when trying to start tdtd if this happens start it manually and rerun packstack<br />
sudo systemctl start tgtd<br />
<br />
Alternatively one can use the openstack-demo-install script to do the install:<br />
<br />
sudo yum install -y openstack-utils<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
# or if using packstack<br />
sudo cp /root/keystonerc_admin ~<br />
<br />
=== Known issues ===<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service automatically setup by packstack.<br />
If you ran openstack-demo-install instead please enable by following:<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[Quantum | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Heat basic functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and configuration]]<br />
# [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
# [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
<br />
Heat advanced functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_rununit|Run nose unit tests]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_LB|Run Load Balancing testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_RDS|Run Relational Database service testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EIP|Run EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS|Run EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS_EIP|Run EBS and EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance|Run Single Instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_Composed_Instances|Run Compsed Instances testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS|Run 2 instance EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS_EIP|Run 2 instances with EBS and EIP]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances|Run 2 instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_HAProxy_Single_Instance|Run HAProxy Single Instance testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_CFN_API_Actions|Run CFN API actions testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_AutoScalingMultiAZSample|Run AutoScaling testcase]]<br />
<br />
Ceilometer functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_ceilometer_install|Install ceilometer]]<br />
# [[QA:Testcase_OpenStack_ceilometer_metering_glance|Enable metering of glance]]<br />
# [[QA:Testcase_OpenStack_ceilometer_metering_nova|Enable metering of nova]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-heat openstack-heat] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-ceilometer openstack-ceilometer] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:rvaknin|Rami Vaknin]]<br />
| {{result|none}} Packstack installation fails due to "/etc/init.d/xinetd reload" command that it runs<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|fail}} <ref>{{bz|947427}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:rvaknin|Rami Vaknin]]<br />
| {{result|none}} Packstack installation fails due to syntax error in /etc/httpd/conf.d/ssl.conf (Fedora bug)<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|fail}} <ref>{{bz|947421}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:mrceresa|Mario Ceresa]]<br />
| {{result|none}} Packstack on f18 VM<ref> It worked but encountered {{bz|947419}} </ref><br />
| {{result|pass}} <ref>was already configured</ref><br />
| {{result|pass}} <ref>credentials in keystonerc_admin no keystonerc</ref><br />
| {{result|warn}} <br />
* Directly register a Fedora 16 appliance image got stuck for more than 2h with no network activity on iftop<br />
* tty images failed with "Could not resolve host: images.ansolabs.com; Name or service not known"<br />
* Manually downloading a cirros image + glance add name=cirros is_public=true disk_format=qcow2 container_format=bare < cirros-0.3.0-x86_64-disk.img worked.<br />
| {{result|pass}} <br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and login]]<br />
! [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
! [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
! References<br />
|-<br />
<br />
|-<br />
heat functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
<br />
|-<br />
Extra credit:<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2013-04-02_OpenStack&diff=328861Test Day:2013-04-02 OpenStack2013-04-02T11:19:33Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Day<br />
| date = 2013-04-02<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-test-day #fedora-test-day] ([http://webchat.freenode.net/?channels=fedora-test-day, webirc])<br />
}}<br />
<br />
<br />
{{admon/note | Can't make the dates? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Development - [[User:Mrunge|Mrunge]] (mrunge)<br />
* Development - [[User:Eglynn|Eglynn]] (eglynn)<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Gkotton|GKotton]] (garyk)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik), [[User:spstarr|spstarr]] (spstarr)<br />
* Test - [[User:kashyapc|kashyapc]] (kashyap), [[User:spstarr|spstarr]] (spstarr)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 19 test day, but we have OpenStack Grizzly packages available for both Fedora 19 and Fedora 18.<br />
It would be advisable to download and install your Fedora 18 or Fedora 19 test systems before the test day if possible.<br />
<br />
=== Fedora 19 ===<br />
* [https://dl.fedoraproject.org/pub/alt/stage/ Fedora 19 Alpha live image] can be used to install a virtual machine.<br />
* Currently bare metal installs are not supported [https://bugzilla.redhat.com/show_bug.cgi?id=928228 #928228]<br />
* VMs should have at least 2G RAM and 16G disk made available [https://bugzilla.redhat.com/show_bug.cgi?id=928886 #928886]<br />
<br />
Please record common Fedora 19 issues here:<br />
* System doesn't boot after install until /run is manually created [https://bugzilla.redhat.com/show_bug.cgi?id=922988#c27 #922988]<br />
* Screen blanking/locking can't be undone. So disable immediately on first boot [https://bugzilla.redhat.com/show_bug.cgi?id=923364 #923364]<br />
<br />
* If you have an F18, machine, since F19 is branched, you can update to f19 using the below way:<br />
<br />
yum update yum; yum clean all ; yum --releasever=19 distro-sync --nogpgcheck -y;<br />
<br />
=== Fedora 18 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 18 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== SELinux ===<br />
<br />
SELinux should work with OpenStack services.<br />
If there are issues you can disable like:<br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|123456}} general - ....<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
'''Test day only''' Please use the official Fedora repositories otherwise<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/openstack-grizzly/fedora-openstack-grizzly.repo -o /etc/yum.repos.d/fedora-openstack-grizzly.repo<br />
<br />
So now the yum repositories are in place, so we'll install packstack.<br />
This can install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard, ceilometer.<br />
Note it configures and enables all but the quantum and ceilometer services at this time:<br />
'''Packstack is not working on F19 https://bugzilla.redhat.com/show_bug.cgi?id=927298'''<br />
sudo yum install -y openstack-packstack<br />
sudo packstack --gen-answer-file=ans.txt<br />
# edit ans.txt as required<br />
sudo packstack --answer-file=ans.txt<br />
<br />
'''packstack known issues : '''<br />
# packstack fails to start keystone, if you hit a keystone error during the packstack run, change the permission of the keystone log file and rerun packstack ([https://bugzilla.redhat.com/show_bug.cgi?id=946915 rhbz#946915])<br />
sudo chown keystone:keystone /var/log/keystone/keystone.log<br />
# if sometimes outputs an erorr when trying to start tdtd if this happens start it manually and rerun packstack<br />
sudo systemctl start tgtd<br />
<br />
Alternatively one can use the openstack-demo-install script to do the install:<br />
<br />
sudo yum install -y openstack-utils<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[Quantum | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Heat basic functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and configuration]]<br />
# [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
# [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
<br />
Heat advanced functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_rununit|Run nose unit tests]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_LB|Run Load Balancing testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_RDS|Run Relational Database service testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EIP|Run EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS|Run EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS_EIP|Run EBS and EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance|Run Single Instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_Composed_Instances|Run Compsed Instances testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS|Run 2 instance EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS_EIP|Run 2 instances with EBS and EIP]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances|Run 2 instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_HAProxy_Single_Instance|Run HAProxy Single Instance testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_CFN_API_Actions|Run CFN API actions testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_AutoScalingMultiAZSample|Run AutoScaling testcase]]<br />
<br />
Ceilometer functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_ceilometer_install|Install ceilometer]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-heat openstack-heat] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-ceilometer openstack-ceilometer] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:mrceresa|Mario Ceresa]]<br />
| {{result|none}} <br />
| {{result|pass}} <ref>already configured by packstack</ref><br />
| {{result|pass}} <ref>packstack created keystonerc_admin no keystonerc</ref><br />
| {{result|none}} <br />
| {{result|none}} <br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and login]]<br />
! [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
! [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
! References<br />
|-<br />
<br />
|-<br />
heat functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
<br />
|-<br />
Extra credit:<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2013-04-02_OpenStack&diff=328811Test Day:2013-04-02 OpenStack2013-04-01T21:29:50Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Day<br />
| date = 2013-04-02<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the dates? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Test - [[User:kashyapc|kashyapc]] (kashyap)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 19 test day, but we have OpenStack Grizzly packages available for both Fedora 19 and Fedora 18.<br />
It would be advisable to download and install your Fedora 18 or Fedora 19 test systems before the test day if possible.<br />
<br />
=== Fedora 19 ===<br />
* [https://dl.fedoraproject.org/pub/alt/stage/ Fedora 19 Alpha live image] can be used to install a virtual machine.<br />
* Currently bare metal installs are not supported [https://bugzilla.redhat.com/show_bug.cgi?id=928228 #928228]<br />
* VMs should have at least 2G RAM and 16G disk made available [https://bugzilla.redhat.com/show_bug.cgi?id=928886 #928886]<br />
<br />
Please record common Fedora 19 issues here:<br />
* System doesn't boot after install until /run is manually created [https://bugzilla.redhat.com/show_bug.cgi?id=922988#c27 #922988]<br />
* Screen blanking/locking can't be undone. So disable immediately on first boot [https://bugzilla.redhat.com/show_bug.cgi?id=923364 #923364]<br />
<br />
=== Fedora 18 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 18 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== SELinux ===<br />
<br />
SELinux should work with OpenStack services.<br />
If there are issues you can disable like:<br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|123456}} general - ....<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
'''Test day only''' Please use the official Fedora repositories otherwise<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/openstack-grizzly/fedora-openstack-grizzly.repo -o /etc/yum.repos.d/fedora-openstack-grizzly.repo<br />
<br />
So now the yum repositories are in place, so we'll install packstack.<br />
This can install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard, ceilometer.<br />
Note it configures and enables all but the quantum and ceilometer services at this time:<br />
<br />
sudo yum install -y openstack-packstack<br />
sudo packstack --gen-answer-file=ans.txt<br />
# edit ans.txt as required<br />
sudo packstack --answer-file=ans.txt<br />
<br />
'''packstack known issues : '''<br />
# packstack fails to start keystone, if you hit a keystone error during the packstack run, change the permission of the keystone log file and rerun packstack<br />
sudo chown keystone:keystone /var/log/keystone/keystone.log<br />
<br />
Alternatively one can use the openstack-demo-install script to do the install:<br />
<br />
sudo yum install -y openstack-utils<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[Quantum | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Heat basic functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and configuration]]<br />
# [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
# [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
<br />
Heat advanced functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_rununit|Run nose unit tests]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_LB|Run Load Balancing testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_RDS|Run Relational Database service testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EIP|Run EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS|Run EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS_EIP|Run EBS and EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance|Run Single Instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_Composed_Instances|Run Compsed Instances testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS|Run 2 instance EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS_EIP|Run 2 instances with EBS and EIP]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances|Run 2 instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_HAProxy_Single_Instance|Run HAProxy Single Instance testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_CFN_API_Actions|Run CFN API actions testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_AutoScalingMultiAZSample|Run AutoScaling testcase]]<br />
<br />
Ceilometer functionality (recommended for all developers):<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-heat openstack-heat] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-ceilometer openstack-ceilometer] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and login]]<br />
! [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
! [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
! References<br />
|-<br />
<br />
|-<br />
heat functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
<br />
|-<br />
Extra credit:<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2013-04-02_OpenStack&diff=328807Test Day:2013-04-02 OpenStack2013-04-01T21:21:20Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Day<br />
| date = 2013-04-02<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the dates? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Test - [[User:kashyapc|kashyapc]] (kashyap)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 19 test day, but we have OpenStack Grizzly packages available for both Fedora 19 and Fedora 18.<br />
It would be advisable to download and install your Fedora 18 or Fedora 19 test systems before the test day if possible.<br />
<br />
=== Fedora 19 ===<br />
* [https://dl.fedoraproject.org/pub/alt/stage/ Fedora 19 Alpha live image] can be used to install a virtual machine.<br />
* Currently bare metal installs are not supported [https://bugzilla.redhat.com/show_bug.cgi?id=928228 #928228]<br />
* VMs should have at least 2G RAM and 16G disk made available [https://bugzilla.redhat.com/show_bug.cgi?id=928886 #928886]<br />
<br />
Please record common Fedora 19 issues here:<br />
* System doesn't boot after install until /run is manually created [https://bugzilla.redhat.com/show_bug.cgi?id=922988#c27 #922988]<br />
* Screen blanking/locking can't be undone. So disable immediately on first boot [https://bugzilla.redhat.com/show_bug.cgi?id=923364 #923364]<br />
<br />
=== Fedora 18 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 18 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== SELinux ===<br />
<br />
SELinux should work with OpenStack services.<br />
If there are issues you can disable like:<br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|123456}} general - ....<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
'''Test day only''' Please use the official Fedora repositories otherwise<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/openstack-grizzly/fedora-openstack-grizzly.repo -o /etc/yum.repos.d/fedora-openstack-grizzly.repo<br />
<br />
So now the yum repositories are in place, so we'll install packstack.<br />
This can install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard, ceilometer.<br />
Note it configures and enables all but the quantum and ceilometer services at this time:<br />
<br />
sudo yum install -y openstack-packstack<br />
sudo packstack --gen-answer-file=ans.txt<br />
# edit ans.txt as required<br />
sudo packstack --gen-answer-file=ans.txt<br />
<br />
'''packstack known issues : '''<br />
# packstack fails to start keystone, if you hit a keystone error during the packstack run, change the permission of the keystone log file and rerun packstack<br />
sudo chown keystone:keystone /var/log/keystone/keystone.log<br />
<br />
Alternatively one can use the openstack-demo-install script to do the install:<br />
<br />
sudo yum install -y openstack-utils<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[Quantum | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Heat basic functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and configuration]]<br />
# [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
# [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
<br />
Heat advanced functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_rununit|Run nose unit tests]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_LB|Run Load Balancing testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_RDS|Run Relational Database service testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EIP|Run EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS|Run EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS_EIP|Run EBS and EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance|Run Single Instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_Composed_Instances|Run Compsed Instances testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS|Run 2 instance EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS_EIP|Run 2 instances with EBS and EIP]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances|Run 2 instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_HAProxy_Single_Instance|Run HAProxy Single Instance testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_CFN_API_Actions|Run CFN API actions testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_AutoScalingMultiAZSample|Run AutoScaling testcase]]<br />
<br />
Ceilometer functionality (recommended for all developers):<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-heat openstack-heat] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-ceilometer openstack-ceilometer] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and login]]<br />
! [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
! [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
! References<br />
|-<br />
<br />
|-<br />
heat functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
<br />
|-<br />
Extra credit:<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=303281Test Day:2012-09-18 OpenStack2012-09-25T11:45:54Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18 and 2012-09-25<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | This test day is being rerun on Tue 2012-09-25 (using this same page)}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Development - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
* Development - [[User:nsantos|nsantos]] (nunofsantos)<br />
* Development - [[User:dprince|dprince]] (dprince)<br />
* Development - [[User:imain|imain]] (Slower)<br />
* Development - [[User:sdake|sdake]] (sdake)<br />
* Development - [[User:shardy|shardy]] (shardy)<br />
* Development - [[User:stevebake|stevebake]] (stevebake)<br />
* Development - [[User:Jpeeler|jpeeler]] (jpeeler)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
* The "swipe to remove" screen lock causes X corruption [https://bugzilla.redhat.com/show_bug.cgi?id=857017 #857017]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
* {{bz|809198}} rsync/swift replicator - rsync restricted by selinux <br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -o /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
<br />
'''FEDORA 18 ONLY''' To avoid issues with stale libvirt, netcf, virt-viewer packages in official Fedora 18 repositories<br />
please enable this side repository containing the latest such packages:<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/f18-testing/f18-testing.repo -o /etc/yum.repos.d/fedora-testing.repo<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858311}} issue with libvirtd auth:<br />
sudo yum install -y libvirt-daemon<br />
sudo sed -i 's/#\(auth_unix_r[ow] = "none"\)/\1/' /etc/libvirt/libvirtd.conf<br />
<br />
'''FEDORA 18 ONLY''' There is a SELinux bug {{bz|860201}} causing openstack-demo-install to exit early,<br />
when installing withing a VM. Please apply this workaround only if installing within a VM:<br />
sudo yum install -y openstack-utils<br />
sudo sed -i 's/setsebool -P/setsebool/' /usr/bin/openstack-demo-install<br />
<br />
To avoid issues with yum hanging on futex {{bz|860120}} when installing the package after openstack-dashboard,<br />
please ensure it's installed independently:<br />
sudo yum remove -y openstack-dashboard<br />
sudo yum install -y openstack-dashboard<br />
<br />
So now the yum repositories are in place, so we'll install the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo yum install -y openstack-utils<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[QA:Testcase_Quantum_V2#Setup | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Heat basic functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and configuration]]<br />
# [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
# [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
<br />
Heat advanced functionality (recommended for heat developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_rununit|Run nose unit tests]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_LB|Run Load Balancing testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_RDS|Run Relational Database service testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EIP|Run EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS|Run EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS_EIP|Run EBS and EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance|Run Single Instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_Composed_Instances|Run Compsed Instances testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS|Run 2 instance EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS_EIP|Run 2 instances with EBS and EIP]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances|Run 2 instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_HAProxy_Single_Instance|Run HAProxy Single Instance testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_CFN_API_Actions|Run CFN API actions testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_AutoScalingMultiAZSample|Run AutoScaling testcase]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=heat heat] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref> <ref>upload of ami-tty leaves image in state "queued" (with size 0)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik (2)]]<br />
| {{result|pass}}<br />
| {{result|}}<br />
| {{result|pass}} <ref>Encountered {{bz|858372}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM and F18 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady(2)]]<br />
| {{result|warn}} <ref>Encountered {{bz|860120}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F17 vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F18 Alpha vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Zaitcev|Pete Zaitcev]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:stevebake|Steve Baker]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:markmc|Mark McLoughlin]]<br />
| {{result|warn}} <ref>On F18</ref> <ref>{{bz|858188}}</ref> <ref>{{bz|858311}}</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}} <br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:bertux|Bertrand Juglas]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}} <br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <ref>On F17 x64 VM hosted on openstack essex ..:)</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|fail}} <ref>859358</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:shardy|Steve Hardy]]<br />
| {{result|pass}} <ref>On F18 Alpha bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins (TD2)]]<br />
| {{result|warn}} <ref> on F18 vm</ref><ref>needed setsebool workaround {{bz|860127}}</ref><br />
| {{result|warn}} <ref>needed workaround described on cinder page</ref><br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>See issue with libvirt_cpu_mode {{bz|858216}}</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Dipanov]]<br />
| {{result|pass}} <ref>Worked but had to restart nova-scheduler, see {{bz|858237}}</ref><br />
| {{result|fail}}<br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>F17 VM. F18 worked too after avoiding {{bz|858311}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}}<br />
| {{result|none}}<ref>Skipped since it was broken for everyone else already</ref><br />
| {{result|pass}}<br />
|<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|warn}} <ref> worked on both f17 and f18 ({{bz|858311}} on f18)</ref><br />
| {{result|}} <br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:zaitcev|Pete Zaitcev]]<br />
| {{result|fail}} <ref>Same as Nikola's {{bz|858237}}, but restart does not help.</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn (day2)]]<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Volume detach fails due to: {{bz|860227}}, suceeds with work-around now in instructions</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <ref>Fedora17 x64 VM</ref><br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}}<ref>F18</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins (TD2)]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref> rsync selinux AVC's {{bz|809198}} </ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|fail}} <ref>Access and Security unavailable</ref> <ref>Firewall not open on HTTP port (80)</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>Access and Security available</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|}}<br />
| {{result|fail}} <ref>Fedora17 x64 {{bz|859127}}</ref><br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|fail}} <ref>Tempest output at http://nsantos.fedorapeople.org/tempest.out</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]<br />
<br />
Bugs found:<br />
<br />
https://bugzilla.redhat.com/show_bug.cgi?id=858297</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_Swift_Auditor_Replicator&diff=303262QA:Testcase Swift Auditor Replicator2012-09-25T11:31:45Z<p>Derekh: </p>
<hr />
<div>{{QA/Test_Case<br />
|description=<br />
Testing the swift auditor and replicator.<br />
The swift auditor is responsible for checking files for bit rot, when it finds a file whose hash does not match what it should it moves it into the quarantine for a replicator to replace<br />
|setup=<br />
We first need to configure and enable rsync<br />
$> sudo yum install -y xinetd rsync<br />
$> sudo sed -i -e 's/disable.*/disable = no/g' /etc/xinetd.d/rsync<br />
<br />
Create the file /etc/rsyncd.conf with the following contents<br />
$> sudo tee /etc/rsyncd.conf <<EOF<br />
uid = swift<br />
gid = swift<br />
log file = /var/log/rsyncd.log<br />
pid file = /var/run/rsyncd.pid<br />
address = 127.0.0.1<br />
[account]<br />
max connections = 2<br />
path = /srv/node/<br />
read only = false<br />
lock file = /var/run/account.lock<br />
[container]<br />
max connections = 2<br />
path = /srv/node/<br />
read only = false<br />
lock file = /var/run/container.lock<br />
[object]<br />
max connections = 2<br />
path = /srv/node/<br />
read only = false<br />
lock file = /var/run/object.lock<br />
EOF<br />
<br />
Start xinetd<br />
$> sudo service xinetd restart<br />
$> sudo chkconfig xinetd on<br />
<br />
|actions=<br />
Select one of the data files on the a storage device and currupt its contents<br />
$> ls / <nowiki>|</nowiki> sudo tee /srv/node/device1/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
<br />
<br />
|results=<br />
After a short time ( < 1 minute), the corrupted file should have been moved by the auditor. <br />
And a fresh version should have been replaced by the replicater<br />
$> sudo find /srv/node/ -type f -name "1347830459.42610.data" -exec md5sum {} \;<br />
3482e30580475b04a1b552d41c559582 /srv/node/device1/quarantined/objects/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
ba1610dfb5b7fac8d6dd4a348761b5ee /srv/node/device1/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
ba1610dfb5b7fac8d6dd4a348761b5ee /srv/node/device2/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
ba1610dfb5b7fac8d6dd4a348761b5ee /srv/node/device3/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
<br />
<br />
}}</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_Swift_Upload_Download_Files&diff=303257QA:Testcase Swift Upload Download Files2012-09-25T11:28:50Z<p>Derekh: </p>
<hr />
<div><br />
{{QA/Test_Case<br />
|description=Test Swift file upload and download<br />
|setup=<br />
Set up your environment to use you openstack credentials<br />
$> cd<br />
$> . /path/to/keystonerc<br />
Create a sample data file<br />
$> dd if=/dev/urandom of=test.data bs=1024 count=10k<br />
<br />
<br />
|actions=<br />
Use the swift client to upload, download and list the file<br />
$> swift upload c1 test.data<br />
$> swift list<br />
$> swift list c1<br />
$> mkdir swift_test_1 ; cd swift_test_1<br />
$> swift download c1 test.data<br />
<br />
|results=<br />
Verify a copy of the uploaded file was placed on 3 of the swift storage devices<br />
$> sudo find /srv/node/ -type f -name "*data"<br />
<br />
Verify original and download file are identicle<br />
$> cd -<br />
$> md5sum test.data swift_test_1/test.data<br />
<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=303250Test Day:2012-09-18 OpenStack2012-09-25T11:22:27Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18 and 2012-09-25<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | This test day is being rerun on Tue 2012-09-25 (using this same page)}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Development - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
* Development - [[User:nsantos|nsantos]] (nunofsantos)<br />
* Development - [[User:dprince|dprince]] (dprince)<br />
* Development - [[User:imain|imain]] (Slower)<br />
* Development - [[User:sdake|sdake]] (sdake)<br />
* Development - [[User:shardy|shardy]] (shardy)<br />
* Development - [[User:stevebake|stevebake]] (stevebake)<br />
* Development - [[User:Jpeeler|jpeeler]] (jpeeler)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
* The "swipe to remove" screen lock causes X corruption [https://bugzilla.redhat.com/show_bug.cgi?id=857017 #857017]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -o /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
<br />
'''FEDORA 18 ONLY''' To avoid issues with stale libvirt, netcf, virt-viewer packages in official Fedora 18 repositories<br />
please enable this side repository containing the latest such packages:<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/f18-testing/f18-testing.repo -o /etc/yum.repos.d/fedora-testing.repo<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858311}} issue with libvirtd auth:<br />
sudo yum install -y libvirt-daemon<br />
sudo sed -i 's/#\(auth_unix_r[ow] = "none"\)/\1/' /etc/libvirt/libvirtd.conf<br />
<br />
'''FEDORA 18 ONLY''' There is a SELinux bug {{bz|860201}} causing openstack-demo-install to exit early,<br />
when installing withing a VM. Please apply this workaround only if installing within a VM:<br />
sudo yum install -y openstack-utils<br />
sudo sed -i 's/setsebool -P/setsebool/' /usr/bin/openstack-demo-install<br />
<br />
To avoid issues with yum hanging on futex {{bz|860120}} when installing the package after openstack-dashboard,<br />
please ensure it's installed independently:<br />
sudo yum remove -y openstack-dashboard<br />
sudo yum install -y openstack-dashboard<br />
<br />
So now the yum repositories are in place, so we'll install the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo yum install -y openstack-utils<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[QA:Testcase_Quantum_V2#Setup | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Heat basic functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and configuration]]<br />
# [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
# [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
<br />
Heat advanced functionality (recommended for heat developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_rununit|Run nose unit tests]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_LB|Run Load Balancing testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_RDS|Run Relational Database service testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EIP|Run EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS|Run EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS_EIP|Run EBS and EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance|Run Single Instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_Composed_Instances|Run Compsed Instances testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS|Run 2 instance EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS_EIP|Run 2 instances with EBS and EIP]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances|Run 2 instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_HAProxy_Single_Instance|Run HAProxy Single Instance testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_CFN_API_Actions|Run CFN API actions testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_AutoScalingMultiAZSample|Run AutoScaling testcase]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=heat heat] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref> <ref>upload of ami-tty leaves image in state "queued" (with size 0)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik (2)]]<br />
| {{result|pass}}<br />
| {{result|}}<br />
| {{result|pass}} <ref>Encountered {{bz|858372}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM and F18 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady(2)]]<br />
| {{result|warn}} <ref>Encountered {{bz|860120}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F17 vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F18 Alpha vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Zaitcev|Pete Zaitcev]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:stevebake|Steve Baker]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:markmc|Mark McLoughlin]]<br />
| {{result|warn}} <ref>On F18</ref> <ref>{{bz|858188}}</ref> <ref>{{bz|858311}}</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}} <br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:bertux|Bertrand Juglas]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}} <br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <ref>On F17 x64 VM hosted on openstack essex ..:)</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|fail}} <ref>859358</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:shardy|Steve Hardy]]<br />
| {{result|pass}} <ref>On F18 Alpha bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins (TD2)]]<br />
| {{result|warn}} <ref> on F18 vm</ref><ref>needed setsebool workaround {{bz|860127}}</ref><br />
| {{result|warn}} <ref>needed workaround described on cinder page</ref><br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>See issue with libvirt_cpu_mode {{bz|858216}}</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Dipanov]]<br />
| {{result|pass}} <ref>Worked but had to restart nova-scheduler, see {{bz|858237}}</ref><br />
| {{result|fail}}<br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>F17 VM. F18 worked too after avoiding {{bz|858311}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}}<br />
| {{result|none}}<ref>Skipped since it was broken for everyone else already</ref><br />
| {{result|pass}}<br />
|<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|warn}} <ref> worked on both f17 and f18 ({{bz|858311}} on f18)</ref><br />
| {{result|}} <br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:zaitcev|Pete Zaitcev]]<br />
| {{result|fail}} <ref>Same as Nikola's {{bz|858237}}, but restart does not help.</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn (day2)]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>Volume detach fails due to: {{bz|860227}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <ref>Fedora17 x64 VM</ref><br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}}<ref>F18</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|fail}} <ref>Access and Security unavailable</ref> <ref>Firewall not open on HTTP port (80)</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>Access and Security available</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|}}<br />
| {{result|fail}} <ref>Fedora17 x64 {{bz|859127}}</ref><br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|fail}} <ref>Tempest output at http://nsantos.fedorapeople.org/tempest.out</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]<br />
<br />
Bugs found:<br />
<br />
https://bugzilla.redhat.com/show_bug.cgi?id=858297</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=303162Test Day:2012-09-18 OpenStack2012-09-25T08:24:15Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18 and 2012-09-25<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | This test day is being rerun on Tue 2012-09-25 (using this same page)}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Development - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
* Development - [[User:nsantos|nsantos]] (nunofsantos)<br />
* Development - [[User:dprince|dprince]] (dprince)<br />
* Development - [[User:imain|imain]] (Slower)<br />
* Development - [[User:sdake|sdake]] (sdake)<br />
* Development - [[User:shardy|shardy]] (shardy)<br />
* Development - [[User:stevebake|stevebake]] (stevebake)<br />
* Development - [[User:Jpeeler|jpeeler]] (jpeeler)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
* The "swipe to remove" screen lock causes X corruption [https://bugzilla.redhat.com/show_bug.cgi?id=857017 #857017]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -o /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
<br />
'''FEDORA 18 ONLY''' To avoid issues with stale libvirt, netcf, virt-viewer packages in official Fedora 18 repositories<br />
please enable this side repository containing the latest such packages:<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/f18-testing/f18-testing.repo -o /etc/yum.repos.d/fedora-testing.repo<br />
<br />
To avoid issues with yum hanging on futex {{bz|860120}} when installing the package after openstack-dashboard,<br />
please remove it first, then re-install:<br />
sudo yum remove -y openstack-dashboard<br />
sudo yum install -y openstack-dashboard<br />
<br />
So now the yum repositories are in place as is the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
<br />
Note: there is a bug preventing openstack-demo-install from functioning. See {{bz|860127}} (workaround in sed command below). <br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo yum install -y openstack-utils<br />
sudo sed -i -e 's/.*virt_use_execmem.*/setsebool virt_use_execmem on/g' /usr/bin/openstack-demo-install<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[QA:Testcase_Quantum_V2#Setup | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Heat basic functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and configuration]]<br />
# [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
# [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
<br />
Heat advanced functionality (recommended for heat developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_rununit|Run nose unit tests]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_LB|Run Load Balancing testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_RDS|Run Relational Database service testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EIP|Run EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS|Run EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS_EIP|Run EBS and EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance|Run Single Instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_Composed_Instances|Run Compsed Instances testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS|Run 2 instance EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS_EIP|Run 2 instances with EBS and EIP]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances|Run 2 instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_HAProxy_Single_Instance|Run HAProxy Single Instance testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_CFN_API_Actions|Run CFN API actions testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_AutoScalingMultiAZSample|Run AutoScaling testcase]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=heat heat] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref> <ref>upload of ami-tty leaves image in state "queued" (with size 0)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM and F18 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady(2)]]<br />
| {{result|warn}} <ref>Encountered {{bz|860120}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F17 vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F18 Alpha vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Zaitcev|Pete Zaitcev]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:stevebake|Steve Baker]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:markmc|Mark McLoughlin]]<br />
| {{result|warn}} <ref>On F18</ref> <ref>{{bz|858188}}</ref> <ref>{{bz|858311}}</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}} <br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:bertux|Bertrand Juglas]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}} <br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <ref>On F17 x64 VM hosted on openstack essex ..:)</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|fail}} <ref>859358</ref><br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>See issue with libvirt_cpu_mode {{bz|858216}}</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Dipanov]]<br />
| {{result|pass}} <ref>Worked but had to restart nova-scheduler, see {{bz|858237}}</ref><br />
| {{result|fail}}<br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>F17 VM. F18 worked too after avoiding {{bz|858311}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}}<br />
| {{result|none}}<ref>Skipped since it was broken for everyone else already</ref><br />
| {{result|pass}}<br />
|<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|warn}} <ref> worked on both f17 and f18 ({{bz|858311}} on f18)</ref><br />
| {{result|}} <br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:zaitcev|Pete Zaitcev]]<br />
| {{result|fail}} <ref>Same as Nikola's {{bz|858237}}, but restart does not help.</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <ref>Fedora17 x64 VM</ref><br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}}<ref>F18</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|fail}} <ref>Access and Security unavailable</ref> <ref>Firewall not open on HTTP port (80)</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>Access and Security available</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|}}<br />
| {{result|fail}} <ref>Fedora17 x64 {{bz|859127}}</ref><br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|fail}} <ref>Tempest output at http://nsantos.fedorapeople.org/tempest.out</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]<br />
<br />
Bugs found:<br />
<br />
https://bugzilla.redhat.com/show_bug.cgi?id=858297</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=303161Test Day:2012-09-18 OpenStack2012-09-25T08:23:51Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18 and 2012-09-25<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | This test day is being rerun on Tue 2012-09-25 (using this same page)}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Development - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
* Development - [[User:nsantos|nsantos]] (nunofsantos)<br />
* Development - [[User:dprince|dprince]] (dprince)<br />
* Development - [[User:imain|imain]] (Slower)<br />
* Development - [[User:sdake|sdake]] (sdake)<br />
* Development - [[User:shardy|shardy]] (shardy)<br />
* Development - [[User:stevebake|stevebake]] (stevebake)<br />
* Development - [[User:Jpeeler|jpeeler]] (jpeeler)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
* The "swipe to remove" screen lock causes X corruption [https://bugzilla.redhat.com/show_bug.cgi?id=857017 #857017]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -o /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
<br />
'''FEDORA 18 ONLY''' To avoid issues with stale libvirt, netcf, virt-viewer packages in official Fedora 18 repositories<br />
please enable this side repository containing the latest such packages:<br />
sudo curl http://repos.fedorapeople.org/repos/openstack/f18-testing/f18-testing.repo -o /etc/yum.repos.d/fedora-testing.repo<br />
<br />
To avoid issues with yum hanging on futex {{bz|860120}} when installing the package after openstack-dashboard,<br />
please remove it first, then re-install:<br />
sudo yum remove -y openstack-dashboard<br />
sudo yum install -y openstack-dashboard<br />
<br />
So now the yum repositories are in place as is the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
<br />
Note: there is a bug preventing openstack-demo-install from functioning. See {{bz|860127}} (workaround in sed command below). <br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo yum install -y openstack-utils<br />
sudo sed -e 's/.*virt_use_execmem.*/setsebool virt_use_execmem on/g' /usr/bin/openstack-demo-install<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[QA:Testcase_Quantum_V2#Setup | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Heat basic functionality (recommended for all developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_setup|Basic heat setup and configuration]]<br />
# [[QA:Testcase_OpenStack_heat_launch|Launch a basic wordpress stack]]<br />
# [[QA:Testcase_OpenStack_heat_stop|Stop Heat services and uninstall Heat]]<br />
<br />
Heat advanced functionality (recommended for heat developers):<br />
<br />
# [[QA:Testcase_OpenStack_heat_rununit|Run nose unit tests]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_LB|Run Load Balancing testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_With_RDS|Run Relational Database service testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EIP|Run EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS|Run EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance_With_EBS_EIP|Run EBS and EIP testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_Single_Instance|Run Single Instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_Composed_Instances|Run Compsed Instances testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS|Run 2 instance EBS testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances_With_EBS_EIP|Run 2 instances with EBS and EIP]]<br />
# [[QA:Testcase_OpenStack_heat_run_WordPress_2_Instances|Run 2 instance Wordpress testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_HAProxy_Single_Instance|Run HAProxy Single Instance testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_CFN_API_Actions|Run CFN API actions testcase]]<br />
# [[QA:Testcase_OpenStack_heat_run_AutoScalingMultiAZSample|Run AutoScaling testcase]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=heat heat] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref> <ref>upload of ami-tty leaves image in state "queued" (with size 0)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM and F18 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady(2)]]<br />
| {{result|warn}} <ref>Encountered {{bz|860120}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F17 vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F18 Alpha vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Zaitcev|Pete Zaitcev]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:stevebake|Steve Baker]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:markmc|Mark McLoughlin]]<br />
| {{result|warn}} <ref>On F18</ref> <ref>{{bz|858188}}</ref> <ref>{{bz|858311}}</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}} <br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:bertux|Bertrand Juglas]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}} <br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <ref>On F17 x64 VM hosted on openstack essex ..:)</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|fail}} <ref>859358</ref><br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>See issue with libvirt_cpu_mode {{bz|858216}}</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Dipanov]]<br />
| {{result|pass}} <ref>Worked but had to restart nova-scheduler, see {{bz|858237}}</ref><br />
| {{result|fail}}<br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>F17 VM. F18 worked too after avoiding {{bz|858311}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}}<br />
| {{result|none}}<ref>Skipped since it was broken for everyone else already</ref><br />
| {{result|pass}}<br />
|<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|warn}} <ref> worked on both f17 and f18 ({{bz|858311}} on f18)</ref><br />
| {{result|}} <br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:zaitcev|Pete Zaitcev]]<br />
| {{result|fail}} <ref>Same as Nikola's {{bz|858237}}, but restart does not help.</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <ref>Fedora17 x64 VM</ref><br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}}<ref>F18</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|fail}} <ref>Access and Security unavailable</ref> <ref>Firewall not open on HTTP port (80)</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>Access and Security available</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gstaicu|Gabriel Staicu]]<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|}}<br />
| {{result|fail}} <ref>Fedora17 x64 {{bz|859127}}</ref><br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|fail}} <ref>Tempest output at http://nsantos.fedorapeople.org/tempest.out</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]<br />
<br />
Bugs found:<br />
<br />
https://bugzilla.redhat.com/show_bug.cgi?id=858297</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=302375Test Day:2012-09-18 OpenStack2012-09-19T09:40:43Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Deployment - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
* Development - [[User:nsantos|nsantos]] (nunofsantos)<br />
* Development - [[User:dprince|dprince]] (dprince)<br />
* Development - [[User:imain|imain]] (Slower)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
* The "swipe to remove" screen lock causes X corruption [https://bugzilla.redhat.com/show_bug.cgi?id=857017 #857017]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -O /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
<br />
'''FEDORA 18 ONLY''' To avoid issues with stale libvirt, netcf, virt-viewer packages in official Fedora 18 repositories<br />
please enable this side repository containing the latest such packages:<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/f18-testing/f18-testing.repo -O /etc/yum.repos.d/fedora-testing.repo<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858188}} issue with keystone you should do:<br />
<br />
sudo yum install -y openstack-keystone<br />
sudo openstack-config --del /etc/keystone/keystone.conf DEFAULT onready<br />
sudo sed -i 's/Type=notify/Type=simple/' /usr/lib/systemd/system/openstack-keystone.service<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858311}} issue with libvirtd auth:<br />
<br />
sudo yum install -y libvirt-daemon<br />
sudo sed -i 's/#\(auth_unix_r[ow] = "none"\)/\1/' /etc/libvirt/libvirtd.conf<br />
<br />
<br />
So now the yum repositories are in place as is the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo yum install -y openstack-utils<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
If you're running in a VM, then Nova needs this tweak to support nested virtualization, or otherwise you get {{bz|858216}} 'libvirtError: unsupported configuration: CPU specification not supported by hypervisor'<br />
when starting instances:<br />
<br />
sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_cpu_mode none<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[QA:Testcase_Quantum_V2#Setup | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref> <ref>upload of ami-tty leaves image in state "queued" (with size 0)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM and F18 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F17 vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F18 Alpha vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Zaitcev|Pete Zaitcev]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:stevebake|Steve Baker]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>See issue with libvirt_cpu_mode {{bz|858216}}</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Dipanov]]<br />
| {{result|pass}} <ref>Worked but had to restart nova-scheduler, see {{bz|858237}}</ref><br />
| {{result|fail}}<br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>F17 VM. F18 worked too after avoiding {{bz|858311}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}}<br />
| {{result|none}}<ref>Skipped since it was broken for everyone else already</ref><br />
| {{result|pass}}<br />
|<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|warn}} <ref> worked on both f17 and f18 ({{bz|858311}} on f18)</ref><br />
| {{result|}} <br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}}<ref>F18</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|fail}} <ref>Access and Security unavailable</ref> <ref>Firewall not open on HTTP port (80)</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>Access and Security available</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|fail}} <ref>Tempest output at http://nsantos.fedorapeople.org/tempest.out</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]<br />
<br />
Bugs found:<br />
<br />
https://bugzilla.redhat.com/show_bug.cgi?id=858297</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=302369Test Day:2012-09-18 OpenStack2012-09-19T09:13:23Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Deployment - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
* Development - [[User:nsantos|nsantos]] (nunofsantos)<br />
* Development - [[User:dprince|dprince]] (dprince)<br />
* Development - [[User:imain|imain]] (Slower)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
* The "swipe to remove" screen lock causes X corruption [https://bugzilla.redhat.com/show_bug.cgi?id=857017 #857017]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -O /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
<br />
'''FEDORA 18 ONLY''' To avoid issues with stale libvirt, netcf, virt-viewer packages in official Fedora 18 repositories<br />
please enable this side repository containing the latest such packages:<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/f18-testing/f18-testing.repo -O /etc/yum.repos.d/fedora-testing.repo<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858188}} issue with keystone you should do:<br />
<br />
sudo yum install -y openstack-keystone<br />
sudo openstack-config --del /etc/keystone/keystone.conf DEFAULT onready<br />
sudo sed -i 's/Type=notify/Type=simple/' /usr/lib/systemd/system/openstack-keystone.service<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858311}} issue with libvirtd auth:<br />
<br />
sudo yum install -y libvirt-daemon<br />
sudo sed -i 's/#\(auth_unix_r[ow] = "none"\)/\1/' /etc/libvirt/libvirtd.conf<br />
<br />
<br />
So now the yum repositories are in place as is the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo yum install -y openstack-utils<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
If you're running in a VM, then Nova needs this tweak to support nested virtualization, or otherwise you get {{bz|858216}} 'libvirtError: unsupported configuration: CPU specification not supported by hypervisor'<br />
when starting instances:<br />
<br />
sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_cpu_mode none<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[QA:Testcase_Quantum_V2#Setup | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref> <ref>upload of ami-tty leaves image in state "queued" (with size 0)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM and F18 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F17 vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F18 Alpha vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Zaitcev|Pete Zaitcev]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:stevebake|Steve Baker]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>See issue with libvirt_cpu_mode {{bz|858216}}</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Dipanov]]<br />
| {{result|pass}} <ref>Worked but had to restart nova-scheduler, see {{bz|858237}}</ref><br />
| {{result|fail}}<br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>F17 VM. F18 worked too after avoiding {{bz|858311}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}}<br />
| {{result|none}}<ref>Skipped since it was broken for everyone else already</ref><br />
| {{result|pass}}<br />
|<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|warn}} <ref> both f17 and f18 ({{bz|858311}} on f18)</ref><br />
| {{result|}} <br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}}<ref>F18</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|fail}} <ref>Access and Security unavailable</ref> <ref>Firewall not open on HTTP port (80)</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>Access and Security available</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|fail}} <ref>Tempest output at http://nsantos.fedorapeople.org/tempest.out</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]<br />
<br />
Bugs found:<br />
<br />
https://bugzilla.redhat.com/show_bug.cgi?id=858297</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_Swift_Auditor_Replicator&diff=302366QA:Testcase Swift Auditor Replicator2012-09-19T08:56:28Z<p>Derekh: </p>
<hr />
<div>{{QA/Test_Case<br />
|description=<br />
Testing the swift auditor and replicator.<br />
The swift auditor is responsible for checking files for bit rot, when it finds a file whose hash does not match what it should it moves it into the quarantine for a replicator to replace<br />
|setup=<br />
We first need to configure and enable rsync<br />
$> sudo yum install -y xinetd rsync<br />
$> sudo sed -i -e 's/disable.*/disable = no/g' /etc/xinetd.d/rsync<br />
<br />
Create the file /etc/rsyncd.conf with the following contents<br />
$> sudo tee /etc/rsyncd.conf <<EOF<br />
uid = swift<br />
gid = swift<br />
log file = /var/log/rsyncd.log<br />
pid file = /var/run/rsyncd.pid<br />
address = 127.0.0.1<br />
[account]<br />
max connections = 2<br />
path = /srv/node/<br />
read only = false<br />
lock file = /var/run/account.lock<br />
[container]<br />
max connections = 2<br />
path = /srv/node/<br />
read only = false<br />
lock file = /var/run/container.lock<br />
[object]<br />
max connections = 2<br />
path = /srv/node/<br />
read only = false<br />
lock file = /var/run/object.lock<br />
EOF<br />
<br />
Start xinetd<br />
$> sudo service xinetd restart<br />
$> sudo chkconfig xinetd on<br />
<br />
|actions=<br />
Select one of the data files on the a storage device and currupt its contents<br />
$> ls / <nowiki>|</nowiki> sudo tee /srv/node/device1/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
<br />
<br />
|results=<br />
After a short time ( < 1 minute), the corrupted file should have been moved by the auditor. <br />
And a fresh version should have been replaced by the replicater<br />
$> find /srv/node/ -type f -name "1347830459.42610.data" -exec md5sum {} \;<br />
3482e30580475b04a1b552d41c559582 /srv/node/device1/quarantined/objects/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
ba1610dfb5b7fac8d6dd4a348761b5ee /srv/node/device1/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
ba1610dfb5b7fac8d6dd4a348761b5ee /srv/node/device2/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
ba1610dfb5b7fac8d6dd4a348761b5ee /srv/node/device3/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
<br />
<br />
}}</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=302363Test Day:2012-09-18 OpenStack2012-09-19T08:34:09Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Deployment - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
* Development - [[User:nsantos|nsantos]] (nunofsantos)<br />
* Development - [[User:dprince|dprince]] (dprince)<br />
* Development - [[User:imain|imain]] (Slower)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
* The "swipe to remove" screen lock causes X corruption [https://bugzilla.redhat.com/show_bug.cgi?id=857017 #857017]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -O /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
<br />
'''FEDORA 18 ONLY''' To avoid issues with stale libvirt, netcf, virt-viewer packages in official Fedora 18 repositories<br />
please enable this side repository containing the latest such packages:<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/f18-testing/f18-testing.repo -O /etc/yum.repos.d/fedora-testing.repo<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858188}} issue with keystone you should do:<br />
<br />
sudo yum install -y openstack-keystone<br />
sudo openstack-config --del /etc/keystone/keystone.conf DEFAULT onready<br />
sudo sed -i 's/Type=notify/Type=simple/' /usr/lib/systemd/system/openstack-keystone.service<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858311}} issue with libvirtd auth:<br />
<br />
sudo yum install -y libvirt-daemon<br />
sudo sed -i 's/#\(auth_unix_r[ow] = "none"\)/\1/' /etc/libvirt/libvirtd.conf<br />
<br />
<br />
So now the yum repositories are in place as is the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo yum install -y openstack-utils<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
If you're running in a VM, then Nova needs this tweak to support nested virtualization, or otherwise you get {{bz|858216}} 'libvirtError: unsupported configuration: CPU specification not supported by hypervisor'<br />
when starting instances:<br />
<br />
sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_cpu_mode none<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[QA:Testcase_Quantum_V2#Setup | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref> <ref>upload of ami-tty leaves image in state "queued" (with size 0)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM and F18 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F17 vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F18 Alpha vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Zaitcev|Pete Zaitcev]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:stevebake|Steve Baker]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>See issue with libvirt_cpu_mode {{bz|858216}}</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Dipanov]]<br />
| {{result|pass}} <ref>Worked but had to restart nova-scheduler, see {{bz|858237}}</ref><br />
| {{result|fail}}<br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>F17 VM. F18 worked too after avoiding {{bz|858311}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}}<br />
| {{result|none}}<ref>Skipped since it was broken for everyone else already</ref><br />
| {{result|pass}}<br />
|<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|warn}} <ref> both f17 and f18 ({{bz|858311}} on f18)</ref><br />
| {{result|}} <br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|fail}} <ref>Access and Security unavailable</ref> <ref>Firewall not open on HTTP port (80)</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>Access and Security available</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|fail}} <ref>Tempest output at http://nsantos.fedorapeople.org/tempest.out</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]<br />
<br />
Bugs found:<br />
<br />
https://bugzilla.redhat.com/show_bug.cgi?id=858297</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=302362Test Day:2012-09-18 OpenStack2012-09-19T08:20:16Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Deployment - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
* Development - [[User:nsantos|nsantos]] (nunofsantos)<br />
* Development - [[User:dprince|dprince]] (dprince)<br />
* Development - [[User:imain|imain]] (Slower)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
* The "swipe to remove" screen lock causes X corruption [https://bugzilla.redhat.com/show_bug.cgi?id=857017 #857017]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -O /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
<br />
'''FEDORA 18 ONLY''' To avoid issues with stale libvirt, netcf, virt-viewer packages in official Fedora 18 repositories<br />
please enable this side repository containing the latest such packages:<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/f18-testing/f18-testing.repo -O /etc/yum.repos.d/fedora-testing.repo<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858188}} issue with keystone you should do:<br />
<br />
sudo yum install -y openstack-keystone<br />
sudo openstack-config --del /etc/keystone/keystone.conf DEFAULT onready<br />
sudo sed -i 's/Type=notify/Type=simple/' /usr/lib/systemd/system/openstack-keystone.service<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858311}} issue with libvirtd auth:<br />
<br />
sudo yum install -y libvirt-daemon<br />
sudo sed -i 's/#\(auth_unix_r[ow] = "none"\)/\1/' /etc/libvirt/libvirtd.conf<br />
<br />
<br />
So now the yum repositories are in place as is the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
If you're running in a VM, then Nova needs this tweak to support nested virtualization, or otherwise you get {{bz|858216}} 'libvirtError: unsupported configuration: CPU specification not supported by hypervisor'<br />
when starting instances:<br />
<br />
sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_cpu_mode none<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[QA:Testcase_Quantum_V2#Setup | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref> <ref>upload of ami-tty leaves image in state "queued" (with size 0)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM and F18 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F17 vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F18 Alpha vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Zaitcev|Pete Zaitcev]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:stevebake|Steve Baker]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>See issue with libvirt_cpu_mode {{bz|858216}}</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Dipanov]]<br />
| {{result|pass}} <ref>Worked but had to restart nova-scheduler, see {{bz|858237}}</ref><br />
| {{result|fail}}<br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>F17 VM. F18 worked too after avoiding {{bz|858311}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}}<br />
| {{result|none}}<ref>Skipped since it was broken for everyone else already</ref><br />
| {{result|pass}}<br />
|<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|warn}} <ref> both f17 and f18 ({{bz|858311}} on f18)</ref><br />
| {{result|}} <br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|fail}} <ref>Access and Security unavailable</ref> <ref>Firewall not open on HTTP port (80)</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>Access and Security available</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|fail}} <ref>Tempest output at http://nsantos.fedorapeople.org/tempest.out</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]<br />
<br />
Bugs found:<br />
<br />
https://bugzilla.redhat.com/show_bug.cgi?id=858297</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=302361Test Day:2012-09-18 OpenStack2012-09-19T08:14:31Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Deployment - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
* Development - [[User:nsantos|nsantos]] (nunofsantos)<br />
* Development - [[User:dprince|dprince]] (dprince)<br />
* Development - [[User:imain|imain]] (Slower)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
* The "swipe to remove" screen lock causes X corruption [https://bugzilla.redhat.com/show_bug.cgi?id=857017 #857017]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -O /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
<br />
'''FEDORA 18 ONLY''' To avoid issues with stale libvirt, netcf, virt-viewer packages in official Fedora 18 repositories<br />
please enable this side repository containing the latest such packages:<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/f18-testing/f18-testing.repo -O /etc/yum.repos.d/fedora-testing.repo<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858188}} issue with keystone you should do:<br />
<br />
sudo yum install -y openstack-keystone<br />
sudo openstack-config --del /etc/keystone/keystone.conf DEFAULT onready<br />
sudo sed -i 's/Type=notify/Type=simple/' /usr/lib/systemd/system/openstack-keystone.service<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858311}} issue with libvirtd auth:<br />
<br />
sudo yum install -y libvirt-daemon<br />
sudo sed -i 's/#\(auth_unix_r[ow] = "none"\)/\1/' /etc/libvirt/libvirtd.conf<br />
<br />
<br />
So now the yum repositories are in place as is the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Now copy the keystonerc file created by the install script above to your home directory,<br />
so that it can be easily sourced to provide the credentials used by the various OpenStack command line utilities.<br />
<br />
sudo cp /root/keystonerc ~<br />
<br />
=== Known issues ===<br />
<br />
If you're running in a VM, then Nova needs this tweak to support nested virtualization, or otherwise you get {{bz|858216}} 'libvirtError: unsupported configuration: CPU specification not supported by hypervisor'<br />
when starting instances:<br />
<br />
sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_cpu_mode none<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[QA:Testcase_Quantum_V2#Setup | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref> <ref>upload of ami-tty leaves image in state "queued" (with size 0)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM and F18 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F17 vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F18 Alpha vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Zaitcev|Pete Zaitcev]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:stevebake|Steve Baker]]<br />
| {{result|pass}} <ref>On F17 bare metal</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>{{bz|858372}}</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
Core functionality:<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>See issue with libvirt_cpu_mode {{bz|858216}}</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Dipanov]]<br />
| {{result|pass}} <ref>Worked but had to restart nova-scheduler, see {{bz|858237}}</ref><br />
| {{result|fail}}<br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>F17 VM. F18 worked too after avoiding {{bz|858311}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:russellb|Russell Bryant]]<br />
| {{result|pass}}<br />
| {{result|none}}<ref>Skipped since it was broken for everyone else already</ref><br />
| {{result|pass}}<br />
|<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref> both f17 and f18 </ref><br />
| {{result|}} <br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|fail}} <ref>Access and Security unavailable</ref> <ref>Firewall not open on HTTP port (80)</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>Access and Security available</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|fail}} <ref>Tempest output at http://nsantos.fedorapeople.org/tempest.out</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]<br />
<br />
Bugs found:<br />
<br />
https://bugzilla.redhat.com/show_bug.cgi?id=858297</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=302271Test Day:2012-09-18 OpenStack2012-09-18T16:29:29Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Deployment - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Development - [[User:sdake|sdake]] (sdake)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
* Development - [[User:nsantos|nsantos]] (nunofsantos)<br />
* Development - [[User:dprince|dprince]] (dprince)<br />
* Development - [[User:imain|imain]] (Slower)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
* The "swipe to remove" screen lock causes X corruption [https://bugzilla.redhat.com/show_bug.cgi?id=857017 #857017]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -O /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
sudo yum install http://kojipkgs.fedoraproject.org/packages/openstack-utils/2012.2/3.fc18/noarch/openstack-utils-2012.2-3.fc18.noarch.rpm<br />
<br />
'''FEDORA 18 ONLY''' To avoid issues with stale libvirt, netcf, virt-viewer packages in official Fedora 18 repositories<br />
please enable this side repository containing the latest such packages:<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/f18-testing/f18-testing.repo -O /etc/yum.repos.d/fedora-testing.repo<br />
<br />
'''FEDORA 18 ONLY''' To workaround {{bz|858188}} issue with keystone you should do:<br />
<br />
sudo yum install -y openstack-keystone<br />
sudo openstack-config --del /etc/keystone/keystone.conf DEFAULT onready<br />
sudo sed -i 's/Type=notify/Type=simple/' /usr/lib/systemd/system/openstack-keystone.service<br />
<br />
So now the yum repositories are in place as is the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
=== Known issues ===<br />
<br />
If you're running in a VM, then Nova needs this tweak to support nested virtualization, or otherwise you get {{bz|858216}} 'libvirtError: unsupported configuration: CPU specification not supported by hypervisor'<br />
when starting instances:<br />
<br />
sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_cpu_mode none<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
<br />
This is a commonly used service, so please enable using<br />
<br />
[[QA:Testcase_Create_Cinder_Volumes | Setup Cinder Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
<br />
[[QA:Testcase_Quantum_V2#Setup | Enable Quantum networking]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder],[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-quantum openstack-quantum] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_Create_Cinder_Volumes|Create Cinder Volumes]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref> <ref>upload of ami-tty leaves image in state "queued" (with size 0)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>ami-tty shows size 0</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F17 vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F18 Alpha vm</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}} <ref>On F17</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
Core functionality:<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>See issue with libvirt_cpu_mode {{bz|858216}}</ref><br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Dipanov]]<br />
| {{result|pass}}<br />
| {{result|fail}}<br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:nsantos|Nuno Santos]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>{{bz|858256}}</ref><br />
| {{result|pass}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
<br />
Nova boot-from-volume:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|fail}} <ref>Access and Security unavailable</ref> <ref>Firewall not open on HTTP port (80)</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:eglynn|Eoghan Glynn]]<br />
| {{result|pass}} <ref>Access and Security available</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]<br />
<br />
Bugs found:<br />
<br />
https://bugzilla.redhat.com/show_bug.cgi?id=858297</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_launch_an_instance_on_OpenStack&diff=302149QA:Testcase launch an instance on OpenStack2012-09-18T10:58:43Z<p>Derekh: replace euca commands</p>
<hr />
<div>{{QA/Test_Case<br />
|description=Launch an instance on OpenStack.<br />
|setup=Optionally include information on preparing the test environment<br />
# Follow [[QA:Testcase_register_images_with_OpenStack]]<br />
<br />
<br />
|actions=<br />
<br />
Launch an instance of one of the images downloaded and registered in the previous test case.<br />
$> . ./keystonerc<br />
$> <nowiki>nova boot --image $(nova image-list | grep ami-tty | awk '{print $2}') --flavor 1 --key_name nova_key testvm</nowiki><br />
<br />
|results=<br />
<br />
Verify that the instance has started.<br />
<br />
<br />
$> nova list<br />
+--------------------------------------+----------+--------+------------------+<br />
<nowiki>| ID | Name | Status | Networks |</nowiki><br />
+--------------------------------------+----------+--------+------------------+<br />
<nowiki>| a47a424a-014b-4b81-97e6-b34d31b5589d | Server 1 | ACTIVE | testnet=10.0.0.2 |</nowiki><br />
+--------------------------------------+----------+--------+------------------+<br />
<br />
<br />
It may take a while to transition from the BUILD to the ACTIVE state, as reported by 'nova list'<br />
<br />
If the instance goes into the ERROR state, then check the nova-compute logs for errors:<br />
<br />
$> grep ERROR /var/log/nova/compute.log<br />
<br />
Confirm the VM running with virsh:<br />
<br />
$> sudo virsh list<br />
Id Name State<br />
----------------------------------<br />
1 instance-00000001 running<br />
<br />
Get console output and ensure instance is fully started<br />
$> nova console-log --length 100 <instanceid><br />
<br />
Try SSH-ing into the instance:<br />
<br />
$> ssh -i nova_key.priv -o UserKnownHostsFile=/dev/null root@10.0.0.2<br />
<br />
Check for new errors in the logs:<br />
$> grep -i error /var/log/nova/*.log<br />
<br />
Notes:<br />
* We use <code>/dev/null</code> for known hosts because the fingerprints associated with these IPs will change when you start over with your testing; updating known hosts gets annoying<br />
* You've probably got a stale dnsmasq process around if you see:<br />
dnsmasq: failed to create listening socket for 10.0.0.1: Address already in use<br />
<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=302141Test Day:2012-09-18 OpenStack2012-09-18T10:44:07Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Deployment - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Development - [[User:sdake|sdake]] (sdake)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -O /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
sudo yum install http://kojipkgs.fedoraproject.org/packages/openstack-utils/2012.2/3.fc18/noarch/openstack-utils-2012.2-3.fc18.noarch.rpm<br />
<br />
'''FEDORA 18 ONLY''' openstack-demo-install can fail with installing virt-viewer/spike-gtk3 on Fedora 18.<br />
As a workaround install a specific version of virt-viewer:<br />
sudo yum install -y http://kojipkgs.fedoraproject.org//packages/virt-viewer/0.5.4/1.fc18/x86_64/virt-viewer-0.5.4-1.fc18.x86_64.rpm<br />
<br />
'''FEDORA 18 ONLY''' There is currently a issue with miss matching versions of libvirtd and netcf in Fedora 18.<br />
As a workaround install a specific version of netcf-libs:<br />
sudo yum install http://kojipkgs.fedoraproject.org/packages/netcf/0.2.1/1.fc18/x86_64/netcf-libs-0.2.1-1.fc18.x86_64.rpm<br />
<br />
So now the yum repositories are in place as is the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
=== Known issues ===<br />
<br />
* If you're running in a VM, then Nova needs this tweak to support nested virtualization,<br />
or otherwise you get 'libvirtError: unsupported configuration: CPU specification not supported by hypervisor'<br />
when starting instances:<br />
<br />
sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_cpu_mode none<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
This is a commonly used service, so<br />
please enable using [[QA:Testcase_Create_Cinder_Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
To enable follow [[QA:Testcase_Quantum_V2#Setup]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref> <ref>upload of ami-tty leaves image in state "queued" (with size 0)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|pass}}<br />
| {{result|warn}} <ref>ami-tty shows size 0</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|Derek Higgins]]<br />
| {{result|pass}} <ref>On F17 vm</ref><br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
Core functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
Nova boot-from-volume:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_register_images_with_OpenStack&diff=302131QA:Testcase register images with OpenStack2012-09-18T10:23:13Z<p>Derekh: fix typo</p>
<hr />
<div>{{QA/Test_Case<br />
|description=Test downloading and registering images with OpenStack.<br />
|setup=<br />
# Follow [[QA:Testcase_add_SSH_keypair_to_OpenStack]]<br />
|actions=<br />
<br />
1. Directly register a Fedora 16 appliance image. Note this will download a 200MB image (without a progress bar)<br />
<br />
$> glance add name=f16 is_public=true disk_format=qcow2 container_format=ovf \<br />
copy_from=http://berrange.fedorapeople.org/images/2012-02-29/f16-x86_64-openstack-sda.qcow2<br />
<br />
2. Download and register the tty images<br />
<br />
$> mkdir images<br />
$> cd images<br />
$> <nowiki>curl http://images.ansolabs.com/tty.tgz | tar -xzv</nowiki><br />
$> glance add name=aki-tty is_public=true container_format=aki disk_format=aki < aki-tty/image<br />
$> glance add name=ari-tty is_public=true container_format=ari disk_format=ari < ari-tty/image<br />
$><nowiki> glance add name=ami-tty is_public=true container_format=ami disk_format=ami \<br />
"kernel_id=$(glance index | awk '/aki-tty/ {print $1}')" \<br />
"ramdisk_id=$(glance index | awk '/ari-tty/ {print $1}')" \<br />
< <(zcat --force ami-tty/image)</nowiki><br />
<br />
|results=<br />
Verify that the images have been registered.<br />
<br />
$> glance index<br />
ID Name Disk Format Container Format Size <br />
------------------------------------ ------------------------------ -------------------- -------------------- --------------<br />
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ami-tty ami ami 25165824<br />
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ari-tty ari ari 5882349<br />
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx aki-tty aki aki 4404752<br />
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx f16 qcow2 ovf 213581824<br />
$> glance image-list<nowiki><br />
+--------------------------------------+---------+-------------+------------------+-----------+--------+<br />
| ID | Name | Disk Format | Container Format | Size | Status |<br />
+--------------------------------------+---------+-------------+------------------+-----------+--------+<br />
| xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | ami-tty | ami | ami | | queued |<br />
| xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | aki-tty | aki | aki | 4404752 | active |<br />
| xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | ari-tty | ari | ari | 5882349 | active |<br />
| xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | f16 | qcow2 | ovf | 213581824 | active |<br />
+--------------------------------------+---------+-------------+------------------+-----------+--------+<br />
</nowiki><br />
<br />
Check for errors in glance logs.<br />
$> grep -i error /var/log/glance/*.log<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=302127Test Day:2012-09-18 OpenStack2012-09-18T10:17:09Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
* Deployment - [[User:gkotton|gkotton]] (garyk)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:markmc|markmc]] (markmc)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Development - [[User:sdake|sdake]] (sdake)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Development - [[User:ndipanov|ndipanov]] (ndipanov)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, which is auto detected by the install script below}}<br />
<br />
This is a Fedora 18 test day, but we have OpenStack Folsom packages available for both Fedora 18 and Fedora 17.<br />
<br />
=== Fedora 18 ===<br />
[http://dl.fedoraproject.org/pub/alt/stage/18-Alpha-RC3/Live/x86_64 Fedora 18 Alpha live image] can be used to install a bare metal or virtual machine.<br />
Please record common Fedora 18 issues here:<br />
* Video doesn't work in a VM unless video type is set to 'vga' [https://bugzilla.redhat.com/848930 #848930]<br />
* Auto partitioning wipes the disk without warning [https://bugzilla.redhat.com/show_bug.cgi?id=855976 #855976]<br />
* The installing packages step can take over 30 minutes [https://bugzilla.redhat.com/show_bug.cgi?id=856993 #856993]<br />
<br />
Alternatively, try updating from Fedora 17 to Fedora 18 [[Upgrading Fedora using yum#Fedora_17_-.3E_Fedora_18|using yum]].<br />
<br />
=== Fedora 17 ===<br />
[http://alt.fedoraproject.org/pub/alt/live-respins/ Recent Fedora 17 live image respins] can be used to install a bare metal or virtual machine.<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "<span style="color:red;">non_root_user</span> ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* {{bz|856548}} general - Intermittent failures adding users to groups<br />
* {{bz|856653}} glance - api can't access mysql<br />
* {{bz|837330}} glance - 'name_connect' accesses on the tcp_socket<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -O /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
sudo yum install http://kojipkgs.fedoraproject.org/packages/openstack-utils/2012.2/2.fc18/noarch/openstack-utils-2012.2-2.fc18.noarch.rpm<br />
<br />
'''FEDORA 18 ONLY''' There is currently a issue with miss matching versions of libvirtd and netcf in Fedora 18<br />
Install a specific version of netcf-libs '''only if using Fedora 18'''<br />
wget http://kojipkgs.fedoraproject.org/packages/netcf/0.2.1/1.fc18/x86_64/netcf-libs-0.2.1-1.fc18.x86_64.rpm<br />
yum install netcf-libs-0.2.1-1.fc18.x86_64.rpm<br />
<br />
So now the yum repositories are in place as is the openstack-demo-install script.<br />
This script will install all OpenStack services on a single node, including:<br />
nova, glance, quantum, cinder, swift, keystone, dashboard.<br />
Note it configures and enables all but the quantum service at this time:<br />
<br />
sudo [https://github.com/fedora-openstack/openstack-utils/blob/master/utils/openstack-demo-install openstack-demo-install]<br />
<br />
Note this is a major test in itself, so please record any issues encountered.<br />
<br />
Known issues:<br />
* If openstack-demo-install fails with installing virt-viewer/spike-gtk3 on Fedora 18, do the following and then retry:<br />
<br />
sudo yum install -y http://kojipkgs.fedoraproject.org//packages/virt-viewer/0.5.4/1.fc18/x86_64/virt-viewer-0.5.4-1.fc18.x86_64.rpm<br />
<br />
* If you're running in a VM, then Nova needs this tweak to support nested virtualization,<br />
or otherwise you get 'libvirtError: unsupported configuration: CPU specification not supported by hypervisor'<br />
when starting instances:<br />
<br />
sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_cpu_mode none<br />
<br />
== Setup OpenStack volumes ==<br />
<br />
The OpenStack volume service provides persistent block level storage to instances.<br />
This is a commonly used service, so<br />
please enable using [[QA:Testcase_Create_Cinder_Volumes]]<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
As an option, you can replace the network manager<br />
internal to the OpenStack Nova project with Quantum.<br />
To enable follow [[QA:Testcase_Quantum_V2#Setup]]<br />
<br />
== Test Cases ==<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Nova boot-from-volume:<br />
<br />
# [[QA:Testcase_Nova_Create_Builder_Instance | Create a builder instance]]<br />
# [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
# [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
<br />
Quantum functionality:<br />
<br />
# [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
<br />
Swift functionality:<br />
<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-keystone openstack-keystone], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-cinder openstack-cinder] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=18&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! openstack-demo-install<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
<br />
|-<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|Gary Kotton]]<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Missing package euca2ools, and old keystone syntax.</ref><br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Vaneldik|Jan van Eldik]]<br />
| {{result|pass}} <ref>Typo in openstack-status script {{bz|858174}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}} <ref>Test pass, whilst in state SAVING command glance image-list takes a very long time (f16 image)</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:Pbrady|Pádraig Brady]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|pass}} <ref>Updated test to address issues mentioned by Gary Kotton</ref><br />
| {{result|}}<br />
| {{result|}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:ndipanov|Nikola Đipanov]]<br />
| {{result|pass}} <ref>On an F17 VM</ref><br />
| {{result|pass}}<br />
| {{result|warn}} <ref>ami-tty shows size 0</ref><br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_cinder_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
Core functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Nova_Create_Bootable_Volume | Create and boot from a bootable volume]]<br />
! [[QA:Testcase_Nova_Snapshot_Volume_Backed_Instance | Create an image from a running volume-backed instance]]<br />
! References<br />
|-<br />
Nova boot-from-volume:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Quantum_V2#How_to_test | Configure and use a network topology in Quantum]]<br />
! References<br />
|-<br />
Quantum functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
! [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
! [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
! [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
! References<br />
|-<br />
Swift functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
! [[QA:Testcase_OpenStack_dashboard_vnc|VNC access to instances through the dashboard]]<br />
! References<br />
|-<br />
Dashboard functionality:<br />
<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
|-<br />
Extra credit:<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_Swift_Add_Device&diff=301922QA:Testcase Swift Add Device2012-09-17T13:43:37Z<p>Derekh: Created page with "{{QA/Test_Case |description= Swift allows storage devices to be added to a running swift environment. In this test we will add a storage device to the ring file. And verfiy it..."</p>
<hr />
<div>{{QA/Test_Case<br />
|description=<br />
Swift allows storage devices to be added to a running swift environment. In this test we will add a storage device to the ring file. And verfiy it is being utilized<br />
<br />
|setup=<br />
So its more likely we'll see the effects of adding a device we upload more data to swift<br />
$> cd<br />
$> . /path/to/keystonerc<br />
$> for x in {1..10} ; do swift upload c$x test.data ; done<br />
<br />
Create a new loopback storage device (use a physical device if you have access to one)<br />
$> truncate /var/tmp/swift-storage-newdevice --size 5G<br />
$> DEVICE=$(losetup --show -f /var/tmp/swift-storage-newdevice)<br />
$> mkfs.ext4 -I 1024 $DEVICE<br />
$> mkdir -p /srv/node/newdevice<br />
$> mount -o noatime,nodiratime,nobarrier,user_xattr $DEVICE /srv/node/newdevice<br />
$> chown -R swift:swift /srv/node/newdevice<br />
<br />
|actions=<br />
Add the new device to the ring<br />
$> swift-ring-builder /etc/swift/account.builder add z1-127.0.0.1:6002/newdevice 100<br />
$> swift-ring-builder /etc/swift/container.builder add z1-127.0.0.1:6001/newdevice 100<br />
$> swift-ring-builder /etc/swift/object.builder add z1-127.0.0.1:6000/newdevice 100<br />
$> swift-ring-builder /etc/swift/object.builder pretend_min_part_hours_passed<br />
$> swift-ring-builder /etc/swift/account.builder pretend_min_part_hours_passed<br />
$> swift-ring-builder /etc/swift/container.builder pretend_min_part_hours_passed<br />
<br />
test for files on the new device (there should be none<br />
$> find /srv/node/newdevice -type f<br />
<br />
re-balance the ring file<br />
$> swift-ring-builder /etc/swift/account.builder rebalance<br />
$> swift-ring-builder /etc/swift/container.builder rebalance<br />
$> swift-ring-builder /etc/swift/object.builder rebalance<br />
<br />
|results=<br />
After a sort wait some files should be moved from the other devices to the new storage device<br />
$> find /srv/node/newdevice -type f<br />
<br />
}}</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_Swift_Auditor_Replicator&diff=301921QA:Testcase Swift Auditor Replicator2012-09-17T13:34:16Z<p>Derekh: Created page with "{{QA/Test_Case |description= Testing the swift auditor and replicator. The swift auditor is responsible for checking files for bit rot, when it finds a file whose hash does no..."</p>
<hr />
<div>{{QA/Test_Case<br />
|description=<br />
Testing the swift auditor and replicator.<br />
The swift auditor is responsible for checking files for bit rot, when it finds a file whose hash does not match what it should it moves it into the quarantine for a replicator to replace<br />
|setup=<br />
We first need to configure and enable rsync<br />
$> yum install -y xinetd rsync<br />
$> sed -i -e 's/disable.*/disable = no/g' /etc/xinetd.d/rsync<br />
<br />
Create the file /etc/rsyncd.conf with the following contents<br />
$> tee /etc/rsyncd.conf <<EOF<br />
uid = swift<br />
gid = swift<br />
log file = /var/log/rsyncd.log<br />
pid file = /var/run/rsyncd.pid<br />
address = 127.0.0.1<br />
[account]<br />
max connections = 2<br />
path = /srv/node/<br />
read only = false<br />
lock file = /var/run/account.lock<br />
[container]<br />
max connections = 2<br />
path = /srv/node/<br />
read only = false<br />
lock file = /var/run/container.lock<br />
[object]<br />
max connections = 2<br />
path = /srv/node/<br />
read only = false<br />
lock file = /var/run/object.lock<br />
EOF<br />
<br />
Start xinetd<br />
$> service xinetd restart<br />
$> chkconfig xinetd on<br />
<br />
|actions=<br />
Select one of the data files on the a storage device and currupt its contents<br />
$> ls / >> /srv/node/device1/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
<br />
<br />
|results=<br />
After a short time ( < 1 minute), the corrupted file should have been moved by the auditor. <br />
And a fresh version should have been replaced by the replicater<br />
$> find /srv/node/ -type f -name "1347830459.42610.data" -exec md5sum {} \;<br />
3482e30580475b04a1b552d41c559582 /srv/node/device1/quarantined/objects/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
ba1610dfb5b7fac8d6dd4a348761b5ee /srv/node/device1/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
ba1610dfb5b7fac8d6dd4a348761b5ee /srv/node/device2/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
ba1610dfb5b7fac8d6dd4a348761b5ee /srv/node/device3/objects/2970/d81/b9a470cf10b569cf56acb7e71dab3d81/1347830459.42610.data<br />
<br />
<br />
}}</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_Swift_Upload_Large_File&diff=301920QA:Testcase Swift Upload Large File2012-09-17T13:22:27Z<p>Derekh: Created page with "{{QA/Test_Case |description= Swift allowes files to be split into multiple parts while being uploaded. Using this clients can upload files that exceed the swift maximim file ..."</p>
<hr />
<div>{{QA/Test_Case<br />
|description=<br />
Swift allowes files to be split into multiple parts while being uploaded. Using this clients can upload files that exceed the swift maximim file size limit. Also multiple parts will be uploaded in parralell<br />
|setup=<br />
Set up your environment to use you openstack credentials<br />
$> cd<br />
$> . /path/to/keystonerc<br />
Create a sample data file<br />
$> dd if=/dev/urandom of=test.data bs=1024 count=10k<br />
<br />
<br />
|actions=<br />
Use the swift client to upload, download and list the file<br />
$> swift upload c2 test.data -S 4194304<br />
$> swift list<br />
$> swift list c2<br />
$> mkdir swift_test_2 ; cd swift_test_2<br />
$> swift download c2 test.data<br />
<br />
|results=<br />
Verify file has been uploaded in segemnts<br />
$> swift list c2_segments<br />
<br />
Verify original and download file are identical<br />
$> cd<br />
$> md5sum test.data swift_test_2/test.data<br />
<br />
}}</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_Swift_Upload_Download_Files&diff=301918QA:Testcase Swift Upload Download Files2012-09-17T13:15:12Z<p>Derekh: Created page with " {{QA/Test_Case |description=Test Swift file upload and download |setup= Set up your environment to use you openstack credentials $> cd $> . /path/to/keystonerc Create a sam..."</p>
<hr />
<div><br />
{{QA/Test_Case<br />
|description=Test Swift file upload and download<br />
|setup=<br />
Set up your environment to use you openstack credentials<br />
$> cd<br />
$> . /path/to/keystonerc<br />
Create a sample data file<br />
$> dd if=/dev/urandom of=test.data bs=1024 count=10k<br />
<br />
<br />
|actions=<br />
Use the swift client to upload, download and list the file<br />
$> swift upload c1 test.data<br />
$> swift list<br />
$> swift list c1<br />
$> mkdir swift_test_1 ; cd swift_test_1<br />
$> swift download c1 test.data<br />
<br />
|results=<br />
Verify a copy of the uploaded file was placed on 3 of the swift storage devices<br />
$> find /srv/node/ -type f -name "*data"<br />
<br />
Verify original and download file are identicle<br />
$> cd<br />
$> md5sum test.data swift_test_1/test.data<br />
<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=301916Test Day:2012-09-18 OpenStack2012-09-17T12:01:18Z<p>Derekh: Adding pointer to swift test cases</p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Deployment - [[User:gkotton|gkotton]] (garyk)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Development - [[User:sdake|sdake]] (sdake)<br />
* Development - [[User:Jpeeler|jpeeler]] (jpeeler)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
* Development - [[User:eglynn|eglynn]] (eglynn)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* A [http://alt.fedoraproject.org/pub/alt/live-respins/ fully updated Fedora 17 (virtual) machine].<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, with specific config noted below}}<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; echo "$USER ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* https://bugzilla.redhat.com/show_bug.cgi?id=856548<br />
* https://bugzilla.redhat.com/show_bug.cgi?id=856653<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -O /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
sudo yum install openstack-utils qpid-cpp-server-daemon<br />
sudo openstack-demo-install<br />
<br />
== Install and setup Quantum on a single node ==<br />
<br />
Please look at [https://fedoraproject.org/wiki/QA:Testcase_Quantum_V2 QuantumV2] for instructions.<br />
<br />
== Test Cases ==<br />
<br />
Swift functionality<br />
# [[QA:Testcase_Swift_Upload_Download_Files | Upload and download files]]<br />
# [[QA:Testcase_Swift_Upload_Large_File | Upload Segmented File]]<br />
# [[QA:Testcase_Swift_Auditor_Replicator | Test Auditor/Replicator]]<br />
# [[QA:Testcase_Swift_Add_Device | Add Storage Device to ring]]<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=301744Test Day:2012-09-18 OpenStack2012-09-14T20:54:28Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-18<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-openstack #fedora-openstack] ([http://webchat.freenode.net/?channels=fedora-openstack webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
* Development - [[User:Apevec|Apevec]] (apevec)<br />
* Deployment - [[User:Vaneldik|Vaneldik]] (vaneldik)<br />
* Deployment - [[User:gkotton|gkotton]] (garyk)<br />
* Deployment - [[User:sten|sten]] (sten)<br />
* Deployment - [[User:rbuilta|rbuilta]] (rbuilta)<br />
* Development - [[User:sdake|sdake]] (sdake)<br />
* Development - [[User:Jpeeler|jpeeler]] (jpeeler)<br />
* Consulting - [[User:kensey|kensey]] (kensey)<br />
* Development - [[User:Mrunge|mrunge]] (mrunge)<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* A [http://alt.fedoraproject.org/pub/alt/live-respins/ fully updated Fedora 17 (virtual) machine].<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, with specific config noted below}}<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== Configure sudo ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
(umask 337; name=<span style="color:red;">markmc</span>; echo "$name ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== Update your machine ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
sudo yum --enablerepo=updates-testing clean all<br />
sudo yum update -y<br />
<br />
=== Optionally Load nbd ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
sudo modprobe nbd<br />
echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
While SELinux mostly works with OpenStack services there are a few issues <br />
<br />
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
sudo setenforce permissive<br />
<br />
Please do note any AVC _denials_ you see in /var/log/audit/audit.log and file them in bugzilla, and update this list:<br />
<br />
* https://bugzilla.redhat.com/show_bug.cgi?id=856548<br />
* https://bugzilla.redhat.com/show_bug.cgi?id=856653<br />
<br />
== Install and setup all Openstack services on a single node ==<br />
<br />
sudo wget http://repos.fedorapeople.org/repos/openstack/openstack-folsom/fedora-openstack-folsom.repo -O /etc/yum.repos.d/fedora-openstack-folsom.repo<br />
sudo yum install openstack-utils<br />
sudo openstack-demo-install<br />
<br />
[[Category:Test Days]]<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-09-18_OpenStack&diff=299464Test Day:2012-09-18 OpenStack2012-08-24T12:58:52Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = OpenStack Test Days<br />
| date = 2012-09-04<br />
| time = all day<br />
| irc = [irc://irc.freenode.net/#fedora-cloud #fedora-cloud] ([http://webchat.freenode.net/?channels=fedora-cloud webirc])<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
* Development - [[User:Pbrady|Pbrady]] (pixelbeat)<br />
* Development - [[User:Derekh|Derekh]] (derekh)<br />
<br />
<br />
[[Category:Test Days]]<br />
[[Category:QA Templates]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Getting_started_with_OpenStack_EPEL&diff=294724Getting started with OpenStack EPEL2012-07-06T21:22:15Z<p>Derekh: </p>
<hr />
<div>= Basic Setup =<br />
<br />
These steps will setup OpenStack nova, glance, and keystone to be accessed by the OpenStack dashboard web UI on a single host, as well as launching our first instance (virtual machine).<br />
<br />
Many of the examples here require 'sudo' to be properly configured, please see [[Configuring Sudo]] if you need help.<br />
<br />
== Initial Installation ==<br />
<br />
$> sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm<br />
<br />
First let's pull in OpenStack and some optional dependencies:<br />
<br />
$> sudo yum --enablerepo=epel-testing install \<br />
openstack-nova openstack-glance openstack-keystone openstack-quantum \<br />
openstack-swift\* openstack-dashboard openstack-utils memcached qpid-cpp-server \<br />
mysql-server avahi<br />
<br />
Ensure auth=no is set in /etc/qpidd.conf<br />
<br />
Set selinux in permissive mode:<br />
$> sudo setenforce permissive<br />
<br />
Otherwise you will get issues like https://bugzilla.redhat.com/show_bug.cgi?id=734346<br />
/usr/bin/nova-dhcpbridge: No such file or directory<br />
<br />
if RHEL 6.2 based<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT force_dhcp_release False<br />
else if RHEL 6.3 based<br />
$> sudo yum install dnsmasq-utils # from the Red Hat '''optional''' channel<br />
<br />
<br />
Run the helper script to get MySQL configured for use with openstack-nova. If <code>mysql-server</code> is not already installed, this script will install it for you.<br />
<br />
$> sudo openstack-db --init --service nova<br />
<br />
Similarly, run the helper script to get MySQL configured for use with openstack-glance.<br />
<br />
$> sudo openstack-db --init --service glance<br />
<br />
Nova requires the QPID messaging server to be running.<br />
<br />
$> sudo service qpidd start && sudo chkconfig qpidd on<br />
<br />
Nova requires the libvirtd server to be running:<br />
<br />
$> sudo service libvirtd start && sudo chkconfig libvirtd on<br />
<br />
Next, you should enable the Glance API and registry services:<br />
$> for svc in api registry; do sudo service openstack-glance-$svc start; sudo chkconfig openstack-glance-$svc on ; done<br />
<br />
<br />
The openstack-nova-volume service requires an LVM Volume Group called nova-volumes to exist. We simply create this using a loopback sparse disk image.<br />
<br />
$> sudo dd if=/dev/zero of=/var/lib/nova/nova-volumes.img bs=1M seek=20k count=0<br />
$> sudo vgcreate nova-volumes $(sudo losetup --show -f /var/lib/nova/nova-volumes.img)<br />
<br />
If you are testing OpenStack in a virtual machine, you need to configure nova to use qemu without KVM and hardware virtualization.<br />
The second command relaxes SELinux rules to allow this mode of operation (https://bugzilla.redhat.com/show_bug.cgi?id=753589)<br />
The last 2 commands here work around a libvirt issue fixed in RHEL 6.4.<br />
Note nested virtualization will be the much slower TCG variety, and you should provide lots of memory to the top level guest,<br />
as the openstack created guests default to 2GM RAM with no overcommit.<br />
<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_type qemu<br />
$> setsebool -P virt_use_execmem on # This may take a while<br />
$> sudo ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64<br />
$> sudo service libvirtd restart<br />
<br />
If you intend to use guest images that don't have a single partition (like the Fedora 16 image linked below),<br />
then allow libguestfs to inspect the image so that files can be injected, by setting:<br />
<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_inject_partition -1<br />
<br />
<br />
Now you can start the various services:<br />
<br />
$> for svc in api objectstore compute network volume scheduler cert; do sudo service openstack-nova-$svc start ; sudo chkconfig openstack-nova-$svc on ; done<br />
<br />
<br />
Check that all the services started up correctly and look in the logs in <code>/var/log/nova</code> for errors. If there are none, then Nova is up and running!<br />
<br />
== Initial Keystone setup ==<br />
<br />
Keystone is the openstack identity service, providing a central place to<br />
set up openstack users, groups, and accounts that can be shared across all<br />
other services. This deprecates the old style user accounts manually set<br />
up with nova-manage.<br />
<br />
Setting up keystone is required for using the Openstack dashboard.<br />
<br />
* Configure the Keystone database, similar to how we do it for nova<br />
$> sudo openstack-db --init --service keystone<br />
<br />
* Set up a keystonerc file with a generated admin token and various passwords:<br />
$> cat > keystonerc <<EOF<br />
export ADMIN_TOKEN=$(openssl rand -hex 10)<br />
export OS_USERNAME=admin<br />
export OS_PASSWORD=verybadpass<br />
export OS_TENANT_NAME=admin<br />
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/<br />
EOF<br />
$> . ./keystonerc<br />
<br />
* Set the administrative token in the config file<br />
$> sudo openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN<br />
<br />
* Start and enable Keystone service<br />
$> sudo service openstack-keystone start && sudo chkconfig openstack-keystone on<br />
<br />
* Create sample Tenants, Users and Roles<br />
$> sudo ADMIN_PASSWORD=$OS_PASSWORD SERVICE_PASSWORD=servicepass openstack-keystone-sample-data<br />
<br />
* Test the Keystone CLI is working<br />
$> keystone user-list<br />
+----------------------------------+---------+-------------------+-------+<br />
| id | enabled | email | name |<br />
+----------------------------------+---------+-------------------+-------+<br />
| 05742d10109540d2892d17ec312a6cd9 | True | admin@example.com | admin |<br />
| 25fe47659d6a4255a663e6add1979d6c | True | admin@example.com | demo |<br />
+----------------------------------+---------+-------------------+-------+<br />
<br />
== Configure nova to use keystone ==<br />
<br />
* Change nova configuration to use keystone:<br />
sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_tenant_name service<br />
sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_user nova<br />
sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_password servicepass<br />
sudo openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone<br />
for svc in api compute; do sudo service openstack-nova-$svc restart; done<br />
<br />
* Verify that nova can talk with keystone (requires OS_* exports from previous keystone section)<br />
<br />
$> nova flavor-list<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| ID | Name | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Factor |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| 1 | m1.tiny | 512 | | 0 | 1 | 1.0 |<br />
| 2 | m1.small | 2048 | | 10 | 1 | 1.0 |<br />
| 3 | m1.medium | 4096 | | 10 | 2 | 1.0 |<br />
| 4 | m1.large | 8192 | | 10 | 4 | 1.0 |<br />
| 5 | m1.xlarge | 16384 | | 10 | 8 | 1.0 |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
<br />
== Configure glance to use keystone ==<br />
<br />
* Change glance configuration to use keystone:<br />
sudo openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone<br />
sudo openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone<br />
sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_tenant_name service<br />
sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_user glance<br />
sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_password servicepass<br />
sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_tenant_name service<br />
sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_user glance<br />
sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_password servicepass<br />
sudo service openstack-glance-api restart<br />
sudo service openstack-glance-registry restart<br />
<br />
* Verify that glance can talk with keystone (requires OS_* exports from the previous keystone section)<br />
<br />
$> glance index<br />
<br />
== Nova Network Setup ==<br />
<br />
To create the network do:<br />
<br />
$> sudo nova-manage network create demonet 10.0.0.0/24 1 256 --bridge=demonetbr0<br />
<br />
NB the network range here, should *not* be the one used on your existing physical network. It should be a range dedicated for the network that OpenStack will configure. So if 10.0.0.0/24 clashes with your local network, pick another range<br />
<br />
== Register an Image ==<br />
<br />
To run an instance, you are going to need an image. There are prebuilt Fedora 16 JEOS (Just Enough OS) images that can be downloaded. <br />
Note this will download a 200MB image (without a progress bar)<br />
<br />
$> glance add name=f16-jeos is_public=true disk_format=qcow2 container_format=ovf \<br />
copy_from=http://berrange.fedorapeople.org/images/2012-02-29/f16-x86_64-openstack-sda.qcow2<br />
<br />
== Launch an Instance ==<br />
<br />
Create a keypair:<br />
<br />
$> nova keypair-add mykey > oskey.priv<br />
$> chmod 600 oskey.priv<br />
<br />
Configure key injection mode, to allow guestfs to inject into multiple guest types:<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_inject_partition -1<br />
$> sudo service openstack-nova-compute restart<br />
<br />
Launch an instance:<br />
<br />
$> nova boot myserver --flavor 2 --key_name mykey \<br />
--image $(glance index | grep f16-jeos | awk '{print $1}')<br />
<br />
And then observe the instance running, observe the KVM VM running and SSH into the instance:<br />
<br />
$> sudo virsh list<br />
$> nova list<br />
$> ssh -i oskey.priv root@10.0.0.2 # use ec2-user instead of root if launching the image f16-x86_64-openstack-sda<br />
$> nova console-log myserver<br />
$> nova delete myserver<br />
<br />
== Configure the OpenStack Dashboard ==<br />
<br />
The OpenStack dashboard is the official web user interface for OpenStack. It should mostly work out of the box, as long as keystone has been configured properly.<br />
<br />
* Install the dashboard<br />
$> sudo yum install openstack-dashboard<br />
<br />
* Make sure httpd is running<br />
$> sudo service httpd restart<br />
$> sudo chkconfig httpd on<br />
<br />
* If selinux is enabled, you will have to allow httpd to access other network services (the dashboard talks to the http API of the other OpenStack services)<br />
$> sudo setsebool -P httpd_can_network_connect=on<br />
<br />
The dashboard should then be accessed with a web browser at http://localhost/dashboard . Account and password should be<br />
what you configured for the keystone setup.<br />
<br />
<br />
<br />
To open up the firewall ports for HTTP:<br />
$> sudo lokkit -p http:tcp<br />
$> sudo lokkit -p https:tcp<br />
<br />
== Configure swift with keystone ==<br />
These are the minimal steps required to setup a swift installation on RHEL which keystone authentication, this wouldn't be considered a working swift system but at the very least will provide you with a working swift API to test clients against, most notibly it doesn't include replication, multiple zones and loadbalancing<br />
<br />
Ensure the keystone env variables are still setup from the previous steps<br />
<br />
We need to create 5 configuration files<br />
<br />
$> cat > /tmp/swift.conf <<- EOF<br />
[swift-hash]<br />
swift_hash_path_suffix = randomestringchangeme<br />
EOF<br />
$> sudo mv /tmp/swift.conf /etc/swift/swift.conf<br />
<br />
$> cat > /tmp/proxy-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_port = 8080<br />
workers = 8<br />
user = swift<br />
[pipeline:main]<br />
pipeline = catch_errors healthcheck cache authtoken keystone proxy-server<br />
[app:proxy-server]<br />
use = egg:swift#proxy<br />
account_autocreate = true<br />
[filter:keystone]<br />
paste.filter_factory = keystone.middleware.swift_auth:filter_factory<br />
operator_roles = admin, swiftoperator<br />
[filter:authtoken]<br />
paste.filter_factory = keystone.middleware.auth_token:filter_factory<br />
auth_port = 35357<br />
auth_host = 127.0.0.1<br />
auth_protocol = http<br />
admin_token = ADMINTOKEN<br />
# ??? Are these needed?<br />
service_port = 5000<br />
service_host = 127.0.0.1<br />
service_protocol = http<br />
auth_token = ADMINTOKEN<br />
[filter:healthcheck]<br />
use = egg:swift#healthcheck<br />
[filter:cache]<br />
use = egg:swift#memcache<br />
memcache_servers = 127.0.0.1:11211<br />
[filter:catch_errors]<br />
use = egg:swift#catch_errors<br />
EOF<br />
$> sudo mv /tmp/proxy-server.conf /etc/swift/proxy-server.conf<br />
<br />
$> cat > /tmp/account-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = account-server<br />
[app:account-server]<br />
use = egg:swift#account<br />
[account-replicator]<br />
[account-auditor]<br />
[account-reaper]<br />
EOF<br />
$> sudo mv /tmp/account-server.conf /etc/swift/account-server.conf<br />
<br />
$> cat > /tmp/container-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = container-server<br />
[app:container-server]<br />
use = egg:swift#container<br />
[container-replicator]<br />
[container-updater]<br />
[container-auditor]<br />
EOF<br />
$> sudo mv /tmp/container-server.conf /etc/swift/container-server.conf<br />
<br />
$> cat > /tmp/object-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = object-server<br />
[app:object-server]<br />
use = egg:swift#object<br />
[object-replicator]<br />
[object-updater]<br />
[object-auditor]<br />
EOF<br />
$> sudo mv /tmp/object-server.conf /etc/swift/object-server.conf<br />
<br />
So that swift can authenticate tokens we need to set the keystone Admin token in the swift proxy file<br />
$> sudo openstack-config --set /etc/swift/proxy-server.conf filter:authtoken admin_token $ADMIN_TOKEN<br />
$> sudo openstack-config --set /etc/swift/proxy-server.conf filter:authtoken auth_token $ADMIN_TOKEN<br />
<br />
Create the stoage device for swift, these instructions use a loopback device but a physical devive or logical volume can be used<br />
$> truncate --size=20G /tmp/swiftstorage<br />
$> DEVICE=$(sudo losetup --show -f /tmp/swiftstorage)<br />
$> sudo mkfs.ext4 -I 1024 $DEVICE<br />
$> sudo mkdir -p /srv/node/partitions<br />
$> sudo mount $DEVICE /srv/node/partitions -t ext4 -o noatime,nodiratime,nobarrier,user_xattr<br />
<br />
$> cd /etc/swift<br />
<br />
Create the ring, with 1024 partitions (only suitable for a small test environment) and 1 zone<br />
$> sudo swift-ring-builder account.builder create 10 1 1<br />
$> sudo swift-ring-builder container.builder create 10 1 1<br />
$> sudo swift-ring-builder object.builder create 10 1 1<br />
<br />
Create a device for each of the account, container and object services<br />
$> sudo swift-ring-builder account.builder add z1-127.0.0.1:6002/partitions 100<br />
$> sudo swift-ring-builder container.builder add z1-127.0.0.1:6001/partitions 100<br />
$> sudo swift-ring-builder object.builder add z1-127.0.0.1:6000/partitions 100<br />
<br />
Rebalance the ring (allocates partitions to devices)<br />
$> sudo swift-ring-builder account.builder rebalance<br />
$> sudo swift-ring-builder container.builder rebalance<br />
$> sudo swift-ring-builder object.builder rebalance<br />
<br />
make sure swift owns appropriate files<br />
$> sudo chown -R swift:swift /etc/swift /srv/node/partitions<br />
<br />
Added the swift service and endpoint to keystone<br />
$> SERVICEID=$(keystone service-create --name=swift --type=object-store --description="Swift Service" | grep "id " | cut -d "|" -f 3)<br />
$> echo $SERVICEID # just making sure we got a SERVICEID<br />
$> keystone endpoint-create --service_id $SERVICEID --publicurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --adminurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --internalurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s"<br />
<br />
Start the services<br />
$> sudo service memcached start<br />
$> for srv in account container object proxy ; do sudo service openstack-swift-$srv start ; done<br />
<br />
Test the swift client and upload files<br />
$> swift list<br />
$> swift upload container /path/to/file<br />
<br />
= Additional Functionality =<br />
<br />
== Using Eucalyptus tools ==<br />
<br />
Set up a rc file for EC2 access (this expects a prior keystone configuration)<br />
<br />
$> . ./keystonerc<br />
$> USER_ID=$(keystone user-list | awk '/admin / {print $2}')<br />
$> ACCESS_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $4}')<br />
$> SECRET_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $6}')<br />
$> cat > novarc <<EOF<br />
export EC2_URL=http://localhost:8773/services/Cloud<br />
export EC2_ACCESS_KEY=$ACCESS_KEY<br />
export EC2_SECRET_KEY=$SECRET_KEY<br />
EOF<br />
$> chmod 600 novarc<br />
$> . ./novarc <br />
<br />
You should now be able to launch an image:<br />
<br />
$> euca-run-instances f16-jeos -k nova_key<br />
$> euca-describe-instances<br />
$> euca-get-console-output i-00000001<br />
$> euca-terminate-instances i-00000001<br />
<br />
== Images ==<br />
<br />
Rather than the prebuilt Fedora 16 JEOS image referenced above, there are other image options.<br />
<br />
# Building a Fedora 16 JEOS image using [http://aeolusproject.org/oz.html Oz]<br />
# Downloading ttylinux based minimal images used by OpenStack developers for testing<br />
<br />
=== Building Fedora 16 JEOS Images With Oz ===<br />
<br />
You can very easily build an image using Oz. First, make sure it's installed:<br />
<br />
$> sudo yum install /usr/bin/oz-install<br />
<br />
Create a template definition file called <code>f16-jeos.tdl</code> containing:<br />
<br />
<nowiki><br />
<template><br />
<name>fedora16_x86_64</name><br />
<description>My Fedora 16 x86_64 template</description><br />
<os><br />
<name>Fedora</name><br />
<version>16</version><br />
<arch>x86_64</arch><br />
<install type='url'><br />
<url>http://download.fedoraproject.org/pub/fedora/linux/releases/16/Fedora/x86_64/os/</url><br />
</install><br />
</os><br />
<commands><br />
<command name='setup-rc-local'><br />
sed -i 's/rhgb quiet/console=ttyS0/' /boot/grub/grub.conf<br />
<br />
cat >> /etc/rc.local &amp;lt;&amp;lt; EOF<br />
if [ ! -d /root/.ssh ]; then<br />
mkdir -p /root/.ssh<br />
chmod 700 /root/.ssh<br />
fi<br />
<br />
# Fetch public key using HTTP<br />
ATTEMPTS=10<br />
while [ ! -f /root/.ssh/authorized_keys ]; do<br />
curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/aws-key 2>/dev/null<br />
if [ \$? -eq 0 ]; then<br />
cat /tmp/aws-key >> /root/.ssh/authorized_keys<br />
chmod 0600 /root/.ssh/authorized_keys<br />
restorecon /root/.ssh/authorized_keys<br />
rm -f /tmp/aws-key<br />
echo "Successfully retrieved AWS public key from instance metadata"<br />
else<br />
FAILED=\$((\$FAILED + 1))<br />
if [ \$FAILED -ge \$ATTEMPTS ]; then<br />
echo "Failed to retrieve AWS public key after \$FAILED attempts, quitting"<br />
break<br />
fi<br />
echo "Could not retrieve AWS public key (attempt #\$FAILED/\$ATTEMPTS), retrying in 5 seconds..."<br />
sleep 5<br />
fi<br />
done<br />
EOF<br />
</command><br />
</commands><br />
</template><br />
</nowiki><br />
<br />
Then simply do:<br />
<br />
$> sudo oz-install -d4 -u f16-jeos.tdl<br />
<br />
Once built, you simply have to register the image with Nova:<br />
<br />
$> glance add name=f16-jeos is_public=true container_format=bare disk_format=raw < /var/lib/libvirt/images/fedora16_x86_64.dsk<br />
$> glance index<br />
<br />
The last command should return a list of the images registered with the Glance image registry.<br />
<br />
=== Downloading Existing Images ===<br />
<br />
If you don't need a functioning Fedora 16 and want the smallest possible images, just download this set of images commonly used by OpenStack developers for testing and register them with Nova:<br />
<br />
$> mkdir images<br />
$> cd images<br />
$> curl http://images.ansolabs.com/tty.tgz | tar xvfzo -<br />
$> glance add name=aki-tty disk_format=aki container_format=aki is_public=true < aki-tty/image<br />
$> glance add name=ami-tty disk_format=ami container_format=ami is_public=true < ami-tty/image<br />
$> glance add name=ari-tty disk_format=ari container_format=ari is_public=true < ari-tty/image<br />
<br />
Then to start the image:<br />
<br />
$> euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey<br />
<br />
== Volumes ==<br />
<br />
If you use the Chrome browser, kill it before embarking on this section, as it has been [https://bugzilla.redhat.com/show_bug.cgi?id=727925 known] to cause the lvcreate command to fail with 'incorrect semaphore state' errors.<br />
<br />
Start the SCSI target daemon<br />
<br />
$> sudo systemctl start tgtd.service<br />
$> sudo systemctl enable tgtd.service<br />
<br />
Create a new 1GB volume<br />
<br />
$> VOLUME=$(euca-create-volume -s 1 -z nova | awk '{print $2}')<br />
<br />
View the status of the new volume, and wait for it to become 'available'<br />
<br />
$> watch "euca-describe-volumes | grep $VOLUME | grep available"<br />
<br />
Re-run the previously terminated instance if necessary:<br />
<br />
$> INSTANCE=$(euca-run-instances f16-jeos -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
or:<br />
<br />
$> INSTANCE=$(euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
Make the storage available to the instance (note -d is the device on the compute node)<br />
<br />
$> euca-attach-volume -i $INSTANCE -d /dev/vdc $VOLUME<br />
<br />
ssh to the instance and verify that the vdc device is listed in /proc/partitions<br />
<br />
$> cat /proc/partitions<br />
<br />
Now make the device available if /dev/vdc is not already present<br />
<br />
$> mknod /dev/vdc b 252 32<br />
<br />
Create and mount a file system directly on the device<br />
<br />
$> mkfs.ext3 /dev/vdc<br />
$> mkdir /mnt/nova-volume<br />
$> mount /dev/vdc /mnt/nova-volume<br />
<br />
Display some file system details<br />
<br />
$> df -h /dev/vdc<br />
<br />
Create a temporary file:<br />
<br />
$> echo foo > /mnt/nova-volume/bar<br />
<br />
Terminate and re-run the instance, then re-attach the volume and re-mount within the instance as above. Your temporary file will have persisted:<br />
<br />
$> cat /mnt/nova-volume/bar<br />
<br />
Unmount the volume again:<br />
<br />
$> umount /mnt/nova-volume<br />
<br />
Exit from the ssh session, then detach and delete the volume:<br />
<br />
$> euca-detach-volume $VOLUME<br />
$> euca-delete-volume $VOLUME<br />
<br />
== Floating IPs ==<br />
<br />
You may carve out a block of public IPs and assign them to instances.<br />
<br />
First thing you need to do is make sure that nova is configured with the correct public network interface. The default is eth0, but you can change it by e.g.<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT public_interface em1<br />
$> sudo systemctl restart openstack-nova-network.service<br />
<br />
Then you can do e.g.<br />
<br />
$> sudo nova-manage floating create 172.31.0.224/28<br />
$> euca-allocate-address<br />
$> euca-associate-address -i i-00000012 172.31.0.224<br />
$> ssh -i nova_key.priv root@172.31.0.224<br />
$> euca-disassociate-address 172.31.0.224<br />
$> euca-release-address 172.31.0.224<br />
<br />
== VNC access ==<br />
<br />
To setup VNC access to guests through the dashboard:<br />
<br />
nova-novncproxy reads some parameters in /etc/nova/nova.conf file.<br />
First you need to configure your cloud controller to enable VNC<br />
<br />
novncproxy_host = 0.0.0.0<br />
novncproxy_port = 6080<br />
<br />
and in the nova compute nodes you need something like this<br />
<br />
<pre>novncproxy_base_url=http://NOVNCPROXY_FQDN:6080/vnc_auto.html<br />
vnc_enabled=true<br />
vncserver_listen=COMPUTE_FQDN<br />
vncserver_proxyclient_address=COMPUTE_FQDN</pre><br />
<br />
You should also make sure that openstack-nova-consoleauth has been started on the controller node:<br />
<pre><br />
$ controller> sudo /etc/init.d/openstack-nova-consoleauth restart</pre><br />
<br />
After restarting nova services on both nodes the newly created machines will run the qemu-kvm with a parameter -vnc compute_fqdn:display_number.<br />
Then after starting the novncproxy and connecting to the dashboard it will discover the host and point to the novncproxy with the appropriate values and connect to the VM.<br />
<br />
Note ensure than the iptables entries for VNC ports (5900+DISPLAYNUMBER) are allowed.<br />
<br />
= Deployment =<br />
<br />
== Adding a Compute Node ==<br />
<br />
Okay, everything so far has been done on a single node. The next step is to add another node for running VMs.<br />
<br />
Let's assume the machine you've set up above is called 'controller' and the new machine is called 'node'.<br />
<br />
First, open the qpid, MySQL, Nova API and iSCSI ports on controller:<br />
<br />
$ controller> sudo lokkit -p 3306:tcp<br />
$ controller> sudo lokkit -p 5672:tcp<br />
$ controller> sudo lokkit -p 9292:tcp<br />
$ controller> sudo lokkit -p 3260:tcp<br />
$ controller> sudo service libvirtd reload<br />
<br />
Then make sure that ntp is enabled on both machines:<br />
<br />
$> sudo yum install -y ntp<br />
$> sudo service ntpd start<br />
$> sudo chkconfig ntpd on<br />
<br />
Install libvirt and nova on node:<br />
<br />
$ node> sudo yum install --enablerepo=epel-testing openstack-nova python-keystone openstack-utils<br />
$ node> sudo service libvirtd start<br />
$ node> sudo chkconfig libvirtd on<br />
$ node> sudo setenforce 0<br />
<br />
Configure nova so that node can find the services on controller:<br />
<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@controller/nova<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT glance_api_servers controller:9292<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT iscsi_ip_prefix 172.31.0.107<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone<br />
(The {{{iscsi_ip_prefix}}} value is the IP address of the controller node)<br />
<br />
Configure the Network interfaces<br />
The bridge name should match what use used in the nova-manage command on the controller<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT flat_network_bridge demonetbr0<br />
<br />
The device which should be moved onto the bridge (nova will set up this bridge, once it done you can view it with the brctl command<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT flat_interface eth0<br />
$ controller> sudo openstack-config --set /etc/nova/nova.conf DEFAULT flat_interface eth0<br />
<br />
$ node> brctl show<br />
<br />
Enable the compute service:<br />
<br />
$ node> sudo service openstack-nova-compute start<br />
<br />
Now everything should be running as before, except the VMs are launched either on controller or node. You will only be able to ping/ssh to vm's from the controller node.<br />
<br />
== Manual Setup of MySQL ==<br />
<br />
As of <code>openstack-nova-2011.3-9.el6</code> and <code>openstack-nova-2011.3-8.fc16</code>, <code>openstack-nova</code> is now set up to use MySQL by default. If you're updating an older installation or prefer to set up MySQL manually instead of using the <code>openstack-nova-db-setup</code> script, this section shows how to do it.<br />
<br />
First install and enable MySQL:<br />
<br />
$> sudo yum install -y mysql-server<br />
$> sudo service mysqld start<br />
$> sudo chkconfig mysqld on<br />
<br />
Set a password for the root account and delete the anonymous accounts:<br />
<br />
$> mysql -u root<br />
mysql> update mysql.user set password = password('iamroot') where user = 'root';<br />
mysql> <nowiki>delete from mysql.user where user = ''</nowiki>;<br />
<br />
Create a database and user account specifically for nova:<br />
<br />
mysql> create database nova;<br />
mysql> create user 'nova'@'localhost' identified by 'nova';<br />
mysql> create user 'nova'@'%' identified by 'nova';<br />
mysql> grant all on nova.* to 'nova'@'%';<br />
<br />
(If anyone can explain why nova@localhost is required even though the anonymous accounts have been deleted, I'd be very grateful :-)<br />
<br />
Then configure nova to use the DB and install the schema:<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@localhost/nova<br />
$> sudo nova-manage db sync<br />
<br />
As a final sanity check:<br />
<br />
$> mysql -u nova -p nova<br />
Enter password:<br />
mysql> select * from migrate_version;<br />
<br />
= Miscellaneous =<br />
<br />
== Smoke Tests ==<br />
<br />
Nova comes with a selection of fairly basic smoke tests which you can run against your installation. It can be useful to use these to sanity check your configuration.<br />
<br />
First off, you need the nova-adminclient python library which isn't yet packaged:<br />
<br />
$> sudo yum install python-pip<br />
$> sudo pip-python install nova-adminclient<br />
<br />
Then you need a user and project both named admin:<br />
<br />
$> sudo nova-manage user admin admin<br />
$> sudo nova-manage project create admin admin<br />
$> sudo nova-manage project zipfile admin admin<br />
$> unzip nova.zip<br />
$> . ./novarc<br />
<br />
Make sure you have the tty images imported as described above. You also need a block of floating IPs created, also as described above.<br />
<br />
Then, run the tests from a fedpkg checkout:<br />
<br />
$> fedpkg clone openstack-nova<br />
$> cd openstack-nova<br />
$> fedpkg switch-branch f16<br />
$> fedpkg prep<br />
$> cd nova-2011.3/smoketests<br />
$> python ./run_tests.py<br />
<br />
All the tests should pass.<br />
<br />
If you run into import errors such as:<br />
<br />
ImportError: No module named nose<br />
<br />
or:<br />
<br />
ImportError (No module named paramiko)<br />
<br />
simply install the missing dependency as follows:<br />
<br />
$> sudo yum install -y python-nose.noarch<br />
$> sudo yum install -y python-paramiko.noarch<br />
<br />
== Cleanup ==<br />
<br />
While testing OpenStack, you might want to delete everything related to OpenStack and start testing with a clean slate again.<br />
<br />
Here's how. First, make sure to terminate all running instances:<br />
<br />
$> euca-terminate-instances ...<br />
<br />
Double check that you have no lingering VMs, perhaps saved to disk:<br />
<br />
$> virsh list --all && virsh undefine<br />
$> rm -f /var/lib/libvirt/qemu/save/instance-00000*<br />
<br />
Then stop all the services:<br />
<br />
$> for iii in /usr/lib/systemd/system/openstack-*.service; do sudo systemctl stop $(basename $iii); done<br />
<br />
Delete all the packages:<br />
<br />
$> sudo yum erase python-glance python-nova* python-keystone* openstack-swift* memcached<br />
<br />
Delete the nova and keystone tables from the MySQL DB:<br />
<br />
$> mysql -u root -p -e 'drop database nova;'<br />
$> mysql -u root -p -e 'drop database keystone;'<br />
<br />
Delete the nova-volumes VG:<br />
<br />
$> sudo vgchange -an nova-volumes<br />
$> sudo losetup -d /dev/loop0<br />
$> sudo rm -f /var/lib/nova/nova-volumes.img<br />
<br />
Take down the bridge and kill dnsmasq:<br />
<br />
$> sudo ip link set demonetbr0 down<br />
$> sudo brctl delbr demonetbr0<br />
$> sudo kill -9 $(cat /var/lib/nova/networks/nova-demonetbr0.pid)<br />
<br />
Remove all directories left behind from the packages:<br />
<br />
$> sudo rm -rf /etc/{glance,nova,swift,keystone,openstack-dashboard} /var/lib/{glance,nova,swift,keystone} /var/log/{glance,nova,swift,keystone} /var/run/{glance,nova,swift,keystone}<br />
<br />
Remove swift storage device (if we don't want the data)<br />
$> sudo umount /srv/node/partitions<br />
$> sudo losetup -d $DEVICE<br />
$> rm /tmp/swiftstorage <br />
<br />
Finally, restart iptables to clear out all rules added by Nova. You also need to reload libvirt's iptables rules:<br />
<br />
$> sudo service iptables restart<br />
$> sudo service libvirtd restart<br />
<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Getting_started_with_OpenStack_EPEL&diff=286427Getting started with OpenStack EPEL2012-05-03T09:30:24Z<p>Derekh: </p>
<hr />
<div>= Basic Setup =<br />
<br />
These steps will setup OpenStack nova, glance, and keystone to be accessed by the OpenStack dashboard web UI on a single host, as well as launching our first instance (virtual machine).<br />
<br />
Many of the examples here require 'sudo' to be properly configured, please see [[Configuring Sudo]] if you need help.<br />
<br />
== Initial Installation ==<br />
<br />
$> sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm<br />
<br />
First let's pull in OpenStack and some optional dependencies:<br />
<br />
$> sudo yum --enablerepo=epel-testing install \<br />
openstack-nova openstack-glance openstack-keystone openstack-quantum \<br />
openstack-swift\* openstack-dashboard openstack-utils memcached qpid-cpp-server<br />
<br />
Ensure auth=no is set in /etc/qpidd.conf<br />
<br />
Set selinux in permissive mode:<br />
$> sudo setenforce permissive<br />
<br />
Otherwise you will get issues like https://bugzilla.redhat.com/show_bug.cgi?id=734346<br />
/usr/bin/nova-dhcpbridge: No such file or directory<br />
<br />
if RHEL 6.2 based<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT force_dhcp_release False<br />
else if RHEL 6.3 based<br />
$> sudo yum install dnsmasq-utils<br />
<br />
<br />
Run the helper script to get MySQL configured for use with openstack-nova. If <code>mysql-server</code> is not already installed, this script will install it for you.<br />
<br />
$> sudo openstack-db --init --service nova<br />
<br />
Similarly, run the helper script to get MySQL configured for use with openstack-glance.<br />
<br />
$> sudo openstack-db --init --service glance<br />
<br />
Nova requires the QPID messaging server to be running.<br />
<br />
$> sudo service qpidd start && sudo chkconfig qpidd on<br />
<br />
Nova requires the libvirtd server to be running:<br />
<br />
$> sudo service libvirtd start && sudo chkconfig libvirtd on<br />
<br />
Next, you should enable the Glance API and registry services:<br />
$> for svc in api registry; do sudo service openstack-glance-$svc start; sudo chkconfig openstack-glance-$svc on ; done<br />
<br />
<br />
The openstack-nova-volume service requires an LVM Volume Group called nova-volumes to exist. We simply create this using a loopback sparse disk image.<br />
<br />
$> sudo dd if=/dev/zero of=/var/lib/nova/nova-volumes.img bs=1M seek=20k count=0<br />
$> sudo vgcreate nova-volumes $(sudo losetup --show -f /var/lib/nova/nova-volumes.img)<br />
<br />
If you are testing OpenStack in a virtual machine, you need to configure nova to use qemu without KVM and hardware virtualization.<br />
The last 2 commands here work around a libvirt issue fixed in RHEL 6.4.<br />
Note nested virtualization will be the much slower TCG variety, and you should provide lots of memory to the top level guest,<br />
as the openstack created guests default to 2GM RAM with no overcommit.<br />
<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_type qemu<br />
$> sudo ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64<br />
$> sudo service libvirtd restart<br />
<br />
Now you can start the various services:<br />
<br />
$> for svc in api objectstore compute network volume scheduler cert; do sudo service openstack-nova-$svc start ; sudo chkconfig openstack-nova-$svc on ; done<br />
<br />
<br />
Check that all the services started up correctly and look in the logs in <code>/var/log/nova</code> for errors. If there are none, then Nova is up and running!<br />
<br />
== Initial Keystone setup ==<br />
<br />
Keystone is the openstack identity service, providing a central place to<br />
set up openstack users, groups, and accounts that can be shared across all<br />
other services. This deprecates the old style user accounts manually set<br />
up with nova-manage.<br />
<br />
Setting up keystone is required for using the Openstack dashboard.<br />
<br />
* Configure the Keystone database, similar to how we do it for nova<br />
$> sudo openstack-db --init --service keystone<br />
<br />
* Set up a keystonerc file with a generated admin token and various passwords:<br />
$> cat > keystonerc <<EOF<br />
export ADMIN_TOKEN=$(openssl rand -hex 10)<br />
export OS_USERNAME=admin<br />
export OS_PASSWORD=verybadpass<br />
export OS_TENANT_NAME=admin<br />
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/<br />
EOF<br />
$> . ./keystonerc<br />
<br />
* Set the administrative token in the config file<br />
$> sudo openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN<br />
<br />
* Start and enable Keystone service<br />
$> sudo service openstack-keystone start && sudo chkconfig openstack-keystone on<br />
<br />
* Create sample Tenants, Users and Roles<br />
$> sudo ADMIN_PASSWORD=$OS_PASSWORD SERVICE_PASSWORD=servicepass openstack-keystone-sample-data<br />
<br />
* Test the Keystone CLI is working<br />
$> keystone user-list<br />
+----------------------------------+---------+-------------------+-------+<br />
| id | enabled | email | name |<br />
+----------------------------------+---------+-------------------+-------+<br />
| 05742d10109540d2892d17ec312a6cd9 | True | admin@example.com | admin |<br />
| 25fe47659d6a4255a663e6add1979d6c | True | admin@example.com | demo |<br />
+----------------------------------+---------+-------------------+-------+<br />
<br />
== Configure nova to use keystone ==<br />
<br />
* Change nova configuration to use keystone:<br />
$> sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_user nova<br />
$> sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone<br />
$> sudo service openstack-nova-api restart<br />
<br />
* Verify that nova can talk with keystone (requires OS_* exports from previous keystone section)<br />
<br />
$> nova flavor-list<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| ID | Name | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Factor |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| 1 | m1.tiny | 512 | | 0 | 1 | 1.0 |<br />
| 2 | m1.small | 2048 | | 10 | 1 | 1.0 |<br />
| 3 | m1.medium | 4096 | | 10 | 2 | 1.0 |<br />
| 4 | m1.large | 8192 | | 10 | 4 | 1.0 |<br />
| 5 | m1.xlarge | 16384 | | 10 | 8 | 1.0 |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
<br />
== Configure glance to use keystone ==<br />
<br />
* Change glance configuration to use keystone:<br />
$> sudo openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone<br />
$> sudo openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone<br />
$> sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo service openstack-glance-api restart<br />
$> sudo service openstack-glance-registry restart<br />
<br />
* Verify that glance can talk with keystone (requires OS_* exports from the previous keystone section)<br />
<br />
$> glance index<br />
<br />
== Nova Network Setup ==<br />
<br />
To create the network do:<br />
<br />
$> sudo nova-manage network create demonet 10.0.0.0/24 1 256 --bridge=demonetbr0<br />
<br />
NB the network range here, should *not* be the one used on your existing physical network. It should be a range dedicated for the network that OpenStack will configure. So if 10.0.0.0/24 clashes with your local network, pick another range<br />
<br />
== Register an Image ==<br />
<br />
To run an instance, you are going to need an image. There are prebuilt Fedora 16 JEOS (Just Enough OS) images that can be downloaded. <br />
Note this will download a 200MB image (without a progress bar)<br />
<br />
$> glance add name=f16-jeos is_public=true disk_format=qcow2 container_format=ovf \<br />
copy_from=http://berrange.fedorapeople.org/images/2012-02-29/f16-x86_64-openstack-sda.qcow2<br />
<br />
== Launch an Instance ==<br />
<br />
Create a keypair:<br />
<br />
$> nova keypair-add mykey > oskey.priv<br />
$> chmod 600 oskey.priv<br />
<br />
Configure key injection mode, to allow guestfs to inject into multiple guest types:<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_inject_partition -1<br />
$> sudo service openstack-nova-compute restart<br />
<br />
Launch an instance:<br />
<br />
$> nova boot myserver --flavor 2 --key_name mykey \<br />
--image $(glance index | grep f16-jeos | awk '{print $1}')<br />
<br />
And then observe the instance running, observe the KVM VM running and SSH into the instance:<br />
<br />
$> sudo virsh list<br />
$> nova list<br />
$> ssh -i oskey.priv ec2-user@10.0.0.2<br />
$> nova console-log myserver<br />
$> nova delete myserver<br />
<br />
== Configure the OpenStack Dashboard ==<br />
<br />
The OpenStack dashboard is the official web user interface for OpenStack. It should mostly work out of the box, as long as keystone has been configured properly.<br />
<br />
* Install the dashboard<br />
$> sudo yum install openstack-dashboard<br />
<br />
* Make sure httpd is running<br />
$> sudo service httpd restart<br />
$> sudo chkconfig httpd on<br />
<br />
* If selinux is enabled, you will have to allow httpd to access other network services (the dashboard talks to the http API of the other OpenStack services)<br />
$> sudo setsebool -P httpd_can_network_connect=on<br />
<br />
The dashboard should then be accessed with a web browser at http://localhost/dashboard . Account and password should be<br />
what you configured for the keystone setup.<br />
<br />
<br />
<br />
To open up the firewall ports for HTTP:<br />
$> sudo lokkit -p http:tcp<br />
$> sudo lokkit -p https:tcp<br />
<br />
== Configure swift with keystone ==<br />
These are the minimal steps required to setup a swift installation on RHEL which keystone authentication, this wouldn't be considered a working swift system but at the very least will provide you with a working swift API to test clients against, most notibly it doesn't include replication, multiple zones and loadbalancing<br />
<br />
Ensure the keystone env variables are still setup from the previous steps<br />
<br />
We need to create 5 configuration files<br />
<br />
$> cat > /tmp/swift.conf <<- EOF<br />
[swift-hash]<br />
swift_hash_path_suffix = randomestringchangeme<br />
EOF<br />
$> sudo mv /tmp/swift.conf /etc/swift/swift.conf<br />
<br />
$> cat > /tmp/proxy-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_port = 8080<br />
workers = 8<br />
user = swift<br />
[pipeline:main]<br />
pipeline = catch_errors healthcheck cache authtoken keystone proxy-server<br />
[app:proxy-server]<br />
use = egg:swift#proxy<br />
account_autocreate = true<br />
[filter:keystone]<br />
paste.filter_factory = keystone.middleware.swift_auth:filter_factory<br />
operator_roles = admin, swiftoperator<br />
[filter:authtoken]<br />
paste.filter_factory = keystone.middleware.auth_token:filter_factory<br />
auth_port = 35357<br />
auth_host = 127.0.0.1<br />
auth_protocol = http<br />
admin_token = ADMINTOKEN<br />
# ??? Are these needed?<br />
service_port = 5000<br />
service_host = 127.0.0.1<br />
service_protocol = http<br />
auth_token = ADMINTOKEN<br />
[filter:healthcheck]<br />
use = egg:swift#healthcheck<br />
[filter:cache]<br />
use = egg:swift#memcache<br />
memcache_servers = 127.0.0.1:11211<br />
[filter:catch_errors]<br />
use = egg:swift#catch_errors<br />
EOF<br />
$> sudo mv /tmp/proxy-server.conf /etc/swift/proxy-server.conf<br />
<br />
$> cat > /tmp/account-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = account-server<br />
[app:account-server]<br />
use = egg:swift#account<br />
[account-replicator]<br />
[account-auditor]<br />
[account-reaper]<br />
EOF<br />
$> sudo mv /tmp/account-server.conf /etc/swift/account-server.conf<br />
<br />
$> cat > /tmp/container-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = container-server<br />
[app:container-server]<br />
use = egg:swift#container<br />
[container-replicator]<br />
[container-updater]<br />
[container-auditor]<br />
EOF<br />
$> sudo mv /tmp/container-server.conf /etc/swift/container-server.conf<br />
<br />
$> cat > /tmp/object-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = object-server<br />
[app:object-server]<br />
use = egg:swift#object<br />
[object-replicator]<br />
[object-updater]<br />
[object-auditor]<br />
EOF<br />
$> sudo mv /tmp/object-server.conf /etc/swift/object-server.conf<br />
<br />
So that swift can authenticate tokens we need to set the keystone Admin token in the swift proxy file<br />
$> sudo openstack-config --set /etc/swift/proxy-server.conf filter:authtoken admin_token $ADMIN_TOKEN<br />
$> sudo openstack-config --set /etc/swift/proxy-server.conf filter:authtoken auth_token $ADMIN_TOKEN<br />
<br />
Create the stoage device for swift, these instructions use a loopback device but a physical devive or logical volume can be used<br />
$> truncate --size=20G /tmp/swiftstorage<br />
$> DEVICE=$(sudo losetup --show -f /tmp/swiftstorage)<br />
$> sudo mkfs.ext4 -I 1024 $DEVICE<br />
$> sudo mkdir -p /srv/node/partitions<br />
$> sudo mount $DEVICE /srv/node/partitions -t ext4 -o noatime,nodiratime,nobarrier,user_xattr<br />
<br />
$> cd /etc/swift<br />
<br />
Create the ring, with 1024 partitions (only suitable for a small test environment) and 1 zone<br />
$> sudo swift-ring-builder account.builder create 10 1 1<br />
$> sudo swift-ring-builder container.builder create 10 1 1<br />
$> sudo swift-ring-builder object.builder create 10 1 1<br />
<br />
Create a device for each of the account, container and object services<br />
$> sudo swift-ring-builder account.builder add z1-127.0.0.1:6002/partitions 100<br />
$> sudo swift-ring-builder container.builder add z1-127.0.0.1:6001/partitions 100<br />
$> sudo swift-ring-builder object.builder add z1-127.0.0.1:6000/partitions 100<br />
<br />
Rebalance the ring (allocates partitions to devices)<br />
$> sudo swift-ring-builder account.builder rebalance<br />
$> sudo swift-ring-builder container.builder rebalance<br />
$> sudo swift-ring-builder object.builder rebalance<br />
<br />
make sure swift owns appropriate files<br />
$> sudo chown -R swift:swift /etc/swift /srv/node/partitions<br />
<br />
Added the swift service and endpoint to keystone<br />
$> SERVICEID=$(keystone service-create --name=swift --type=object-store --description="Swift Service" | grep "id " | cut -d "|" -f 3)<br />
$> echo $SERVICEID # just making sure we got a SERVICEID<br />
$> keystone endpoint-create --service_id $SERVICEID --publicurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --adminurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --internalurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s"<br />
<br />
Start the services<br />
$> sudo service memcached start<br />
$> for srv in account container object proxy ; do sudo service openstack-swift-$srv start ; done<br />
<br />
Test the swift client and upload files<br />
$> swift list<br />
$> swift upload container /path/to/file<br />
<br />
= Additional Functionality =<br />
<br />
== Using Eucalyptus tools ==<br />
<br />
Set up a rc file for EC2 access (this expects a prior keystone configuration)<br />
<br />
$> . ./keystonerc<br />
$> USER_ID=$(keystone user-list | awk '/admin / {print $2}')<br />
$> ACCESS_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $4}')<br />
$> SECRET_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $6}')<br />
$> cat > novarc <<EOF<br />
export EC2_URL=http://localhost:8773/services/Cloud<br />
export EC2_ACCESS_KEY=$ACCESS_KEY<br />
export EC2_SECRET_KEY=$SECRET_KEY<br />
EOF<br />
$> chmod 600 novarc<br />
$> . ./novarc <br />
<br />
You should now be able to launch an image:<br />
<br />
$> euca-run-instances f16-jeos -k nova_key<br />
$> euca-describe-instances<br />
$> euca-get-console-output i-00000001<br />
$> euca-terminate-instances i-00000001<br />
<br />
== Images ==<br />
<br />
Rather than the prebuilt Fedora 16 JEOS image referenced above, there are other image options.<br />
<br />
# Building a Fedora 16 JEOS image using [http://aeolusproject.org/oz.html Oz]<br />
# Downloading ttylinux based minimal images used by OpenStack developers for testing<br />
<br />
=== Building Fedora 16 JEOS Images With Oz ===<br />
<br />
You can very easily build an image using Oz. First, make sure it's installed:<br />
<br />
$> sudo yum install /usr/bin/oz-install<br />
<br />
Create a template definition file called <code>f16-jeos.tdl</code> containing:<br />
<br />
<nowiki><br />
<template><br />
<name>fedora16_x86_64</name><br />
<description>My Fedora 16 x86_64 template</description><br />
<os><br />
<name>Fedora</name><br />
<version>16</version><br />
<arch>x86_64</arch><br />
<install type='url'><br />
<url>http://download.fedoraproject.org/pub/fedora/linux/releases/16/Fedora/x86_64/os/</url><br />
</install><br />
</os><br />
<commands><br />
<command name='setup-rc-local'><br />
sed -i 's/rhgb quiet/console=ttyS0/' /boot/grub/grub.conf<br />
<br />
cat >> /etc/rc.local &amp;lt;&amp;lt; EOF<br />
if [ ! -d /root/.ssh ]; then<br />
mkdir -p /root/.ssh<br />
chmod 700 /root/.ssh<br />
fi<br />
<br />
# Fetch public key using HTTP<br />
ATTEMPTS=10<br />
while [ ! -f /root/.ssh/authorized_keys ]; do<br />
curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/aws-key 2>/dev/null<br />
if [ \$? -eq 0 ]; then<br />
cat /tmp/aws-key >> /root/.ssh/authorized_keys<br />
chmod 0600 /root/.ssh/authorized_keys<br />
restorecon /root/.ssh/authorized_keys<br />
rm -f /tmp/aws-key<br />
echo "Successfully retrieved AWS public key from instance metadata"<br />
else<br />
FAILED=\$((\$FAILED + 1))<br />
if [ \$FAILED -ge \$ATTEMPTS ]; then<br />
echo "Failed to retrieve AWS public key after \$FAILED attempts, quitting"<br />
break<br />
fi<br />
echo "Could not retrieve AWS public key (attempt #\$FAILED/\$ATTEMPTS), retrying in 5 seconds..."<br />
sleep 5<br />
fi<br />
done<br />
EOF<br />
</command><br />
</commands><br />
</template><br />
</nowiki><br />
<br />
Then simply do:<br />
<br />
$> sudo oz-install -d4 -u f16-jeos.tdl<br />
<br />
Once built, you simply have to register the image with Nova:<br />
<br />
$> glance add name=f16-jeos is_public=true container_format=bare disk_format=raw < /var/lib/libvirt/images/fedora16_x86_64.dsk<br />
$> glance index<br />
<br />
The last command should return a list of the images registered with the Glance image registry.<br />
<br />
=== Downloading Existing Images ===<br />
<br />
If you don't need a functioning Fedora 16 and want the smallest possible images, just download this set of images commonly used by OpenStack developers for testing and register them with Nova:<br />
<br />
$> mkdir images<br />
$> cd images<br />
$> curl http://images.ansolabs.com/tty.tgz | tar xvfzo -<br />
$> glance add name=aki-tty disk_format=aki container_format=aki is_public=true < aki-tty/image<br />
$> glance add name=ami-tty disk_format=ami container_format=ami is_public=true < ami-tty/image<br />
$> glance add name=ari-tty disk_format=ari container_format=ari is_public=true < ari-tty/image<br />
<br />
Then to start the image:<br />
<br />
$> euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey<br />
<br />
== Volumes ==<br />
<br />
If you use the Chrome browser, kill it before embarking on this section, as it has been [https://bugzilla.redhat.com/show_bug.cgi?id=727925 known] to cause the lvcreate command to fail with 'incorrect semaphore state' errors.<br />
<br />
Start the SCSI target daemon<br />
<br />
$> sudo systemctl start tgtd.service<br />
$> sudo systemctl enable tgtd.service<br />
<br />
Create a new 1GB volume<br />
<br />
$> VOLUME=$(euca-create-volume -s 1 -z nova | awk '{print $2}')<br />
<br />
View the status of the new volume, and wait for it to become 'available'<br />
<br />
$> watch "euca-describe-volumes | grep $VOLUME | grep available"<br />
<br />
Re-run the previously terminated instance if necessary:<br />
<br />
$> INSTANCE=$(euca-run-instances f16-jeos -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
or:<br />
<br />
$> INSTANCE=$(euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
Make the storage available to the instance (note -d is the device on the compute node)<br />
<br />
$> euca-attach-volume -i $INSTANCE -d /dev/vdc $VOLUME<br />
<br />
ssh to the instance and verify that the vdc device is listed in /proc/partitions<br />
<br />
$> cat /proc/partitions<br />
<br />
Now make the device available if /dev/vdc is not already present<br />
<br />
$> mknod /dev/vdc b 252 32<br />
<br />
Create and mount a file system directly on the device<br />
<br />
$> mkfs.ext3 /dev/vdc<br />
$> mkdir /mnt/nova-volume<br />
$> mount /dev/vdc /mnt/nova-volume<br />
<br />
Display some file system details<br />
<br />
$> df -h /dev/vdc<br />
<br />
Create a temporary file:<br />
<br />
$> echo foo > /mnt/nova-volume/bar<br />
<br />
Terminate and re-run the instance, then re-attach the volume and re-mount within the instance as above. Your temporary file will have persisted:<br />
<br />
$> cat /mnt/nova-volume/bar<br />
<br />
Unmount the volume again:<br />
<br />
$> umount /mnt/nova-volume<br />
<br />
Exit from the ssh session, then detach and delete the volume:<br />
<br />
$> euca-detach-volume $VOLUME<br />
$> euca-delete-volume $VOLUME<br />
<br />
== Floating IPs ==<br />
<br />
You may carve out a block of public IPs and assign them to instances.<br />
<br />
First thing you need to do is make sure that nova is configured with the correct public network interface. The default is eth0, but you can change it by e.g.<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT public_interface em1<br />
$> sudo systemctl restart openstack-nova-network.service<br />
<br />
Then you can do e.g.<br />
<br />
$> sudo nova-manage floating create 172.31.0.224/28<br />
$> euca-allocate-address<br />
$> euca-associate-address -i i-00000012 172.31.0.224<br />
$> ssh -i nova_key.priv root@172.31.0.224<br />
$> euca-disassociate-address 172.31.0.224<br />
$> euca-release-address 172.31.0.224<br />
<br />
= Deployment =<br />
<br />
== Adding a Compute Node ==<br />
<br />
Okay, everything so far has been done on a single node. The next step is to add another node for running VMs.<br />
<br />
Let's assume the machine you've set up above is called 'controller' and the new machine is called 'node'.<br />
<br />
First, open the qpid, MySQL, Nova API and iSCSI ports on controller:<br />
<br />
$ controller> sudo lokkit -p 3306:tcp<br />
$ controller> sudo lokkit -p 5672:tcp<br />
$ controller> sudo lokkit -p 9292:tcp<br />
$ controller> sudo lokkit -p 3260:tcp<br />
$ controller> sudo service libvirtd reload<br />
<br />
Then make sure that ntp is enabled on both machines:<br />
<br />
$> sudo yum install -y ntp<br />
$> sudo service ntpd start<br />
$> sudo chkconfig ntpd on<br />
<br />
Install libvirt and nova on node:<br />
<br />
$ node> sudo yum install --enablerepo=epel-testing openstack-nova python-keystone openstack-utils<br />
$ node> sudo service libvirtd start<br />
$ node> sudo chkconfig libvirtd on<br />
$ node> sudo setenforce 0<br />
<br />
Configure nova so that node can find the services on controller:<br />
<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@controller/nova<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT glance_api_servers controller:9292<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT iscsi_ip_prefix 172.31.0.107<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone<br />
(The {{{iscsi_ip_prefix}}} value is the IP address of the controller node)<br />
<br />
Configure the Network interfaces<br />
The bridge name should match what use used in the nova-manage command on the controller<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT flat_network_bridge demonetbr0<br />
<br />
The device which should be moved onto the bridge (nova will set up this bridge, once it done you can view it with the brctl command<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT flat_interface eth0<br />
$ controller> sudo openstack-config --set /etc/nova/nova.conf DEFAULT flat_interface eth0<br />
<br />
$ node> brctl show<br />
<br />
Enable the compute service:<br />
<br />
$ node> sudo service openstack-nova-compute start<br />
<br />
Now everything should be running as before, except the VMs are launched either on controller or node. You will only be able to ping/ssh to vm's from the controller node.<br />
<br />
== Manual Setup of MySQL ==<br />
<br />
As of <code>openstack-nova-2011.3-9.el6</code> and <code>openstack-nova-2011.3-8.fc16</code>, <code>openstack-nova</code> is now set up to use MySQL by default. If you're updating an older installation or prefer to set up MySQL manually instead of using the <code>openstack-nova-db-setup</code> script, this section shows how to do it.<br />
<br />
First install and enable MySQL:<br />
<br />
$> sudo yum install -y mysql-server<br />
$> sudo service mysqld start<br />
$> sudo chkconfig mysqld on<br />
<br />
Set a password for the root account and delete the anonymous accounts:<br />
<br />
$> mysql -u root<br />
mysql> update mysql.user set password = password('iamroot') where user = 'root';<br />
mysql> <nowiki>delete from mysql.user where user = ''</nowiki>;<br />
<br />
Create a database and user account specifically for nova:<br />
<br />
mysql> create database nova;<br />
mysql> create user 'nova'@'localhost' identified by 'nova';<br />
mysql> create user 'nova'@'%' identified by 'nova';<br />
mysql> grant all on nova.* to 'nova'@'%';<br />
<br />
(If anyone can explain why nova@localhost is required even though the anonymous accounts have been deleted, I'd be very grateful :-)<br />
<br />
Then configure nova to use the DB and install the schema:<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@localhost/nova<br />
$> sudo nova-manage db sync<br />
<br />
As a final sanity check:<br />
<br />
$> mysql -u nova -p nova<br />
Enter password:<br />
mysql> select * from migrate_version;<br />
<br />
= Miscellaneous =<br />
<br />
== Smoke Tests ==<br />
<br />
Nova comes with a selection of fairly basic smoke tests which you can run against your installation. It can be useful to use these to sanity check your configuration.<br />
<br />
First off, you need the nova-adminclient python library which isn't yet packaged:<br />
<br />
$> sudo yum install python-pip<br />
$> sudo pip-python install nova-adminclient<br />
<br />
Then you need a user and project both named admin:<br />
<br />
$> sudo nova-manage user admin admin<br />
$> sudo nova-manage project create admin admin<br />
$> sudo nova-manage project zipfile admin admin<br />
$> unzip nova.zip<br />
$> . ./novarc<br />
<br />
Make sure you have the tty images imported as described above. You also need a block of floating IPs created, also as described above.<br />
<br />
Then, run the tests from a fedpkg checkout:<br />
<br />
$> fedpkg clone openstack-nova<br />
$> cd openstack-nova<br />
$> fedpkg switch-branch f16<br />
$> fedpkg prep<br />
$> cd nova-2011.3/smoketests<br />
$> python ./run_tests.py<br />
<br />
All the tests should pass.<br />
<br />
If you run into import errors such as:<br />
<br />
ImportError: No module named nose<br />
<br />
or:<br />
<br />
ImportError (No module named paramiko)<br />
<br />
simply install the missing dependency as follows:<br />
<br />
$> sudo yum install -y python-nose.noarch<br />
$> sudo yum install -y python-paramiko.noarch<br />
<br />
== Cleanup ==<br />
<br />
While testing OpenStack, you might want to delete everything related to OpenStack and start testing with a clean slate again.<br />
<br />
Here's how. First, make sure to terminate all running instances:<br />
<br />
$> euca-terminate-instances ...<br />
<br />
Double check that you have no lingering VMs, perhaps saved to disk:<br />
<br />
$> virsh list --all && virsh undefine<br />
$> rm -f /var/lib/libvirt/qemu/save/instance-00000*<br />
<br />
Then stop all the services:<br />
<br />
$> for iii in /usr/lib/systemd/system/openstack-*.service; do sudo systemctl stop $(basename $iii); done<br />
<br />
Delete all the packages:<br />
<br />
$> sudo yum erase python-glance python-nova* python-keystone* openstack-swift* memcached<br />
<br />
Delete the nova and keystone tables from the MySQL DB:<br />
<br />
$> mysql -u root -p -e 'drop database nova;'<br />
$> mysql -u root -p -e 'drop database keystone;'<br />
<br />
Delete the nova-volumes VG:<br />
<br />
$> sudo vgchange -an nova-volumes<br />
$> sudo losetup -d /dev/loop0<br />
$> sudo rm -f /var/lib/nova/nova-volumes.img<br />
<br />
Take down the bridge and kill dnsmasq:<br />
<br />
$> sudo ip link set demonetbr0 down<br />
$> sudo brctl delbr demonetbr0<br />
$> sudo kill -9 $(cat /var/lib/nova/networks/nova-demonetbr0.pid)<br />
<br />
Remove all directories left behind from the packages:<br />
<br />
$> sudo rm -rf /etc/{glance,nova,swift,keystone,openstack-dashboard} /var/lib/{glance,nova,swift,keystone} /var/log/{glance,nova,swift,keystone} /var/run/{glance,nova,swift,keystone}<br />
<br />
Remove swift storage device (if we don't want the data)<br />
$> sudo umount /srv/node/partitions<br />
$> sudo losetup -d $DEVICE<br />
$> rm /tmp/swiftstorage <br />
<br />
Finally, restart iptables to clear out all rules added by Nova. You also need to reload libvirt's iptables rules:<br />
<br />
$> sudo service iptables restart<br />
$> sudo service libvirtd restart<br />
<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Getting_started_with_OpenStack_EPEL&diff=286220Getting started with OpenStack EPEL2012-04-30T15:58:47Z<p>Derekh: </p>
<hr />
<div>= Basic Setup =<br />
<br />
These steps will setup OpenStack nova, glance, and keystone to be accessed by the OpenStack dashboard web UI on a single host, as well as launching our first instance (virtual machine).<br />
<br />
Many of the examples here require 'sudo' to be properly configured, please see [[Configuring Sudo]] if you need help.<br />
<br />
== Initial Installation ==<br />
<br />
$> sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm<br />
<br />
First let's pull in OpenStack and some optional dependencies:<br />
<br />
$> sudo yum --enablerepo=epel-testing install \<br />
openstack-nova openstack-glance openstack-keystone openstack-quantum \<br />
openstack-swift\* openstack-dashboard openstack-utils memcached qpid-cpp-server<br />
<br />
Ensure auth=no is set in /etc/qpidd.conf<br />
<br />
Set selinux in permissive mode:<br />
$> sudo setenforce permissive<br />
<br />
Otherwise you will get issues like https://bugzilla.redhat.com/show_bug.cgi?id=734346<br />
/usr/bin/nova-dhcpbridge: No such file or directory<br />
<br />
if RHEL 6.2 based<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT force_dhcp_release False<br />
else if RHEL 6.3 based<br />
$> sudo yum install dnsdmasq-utils<br />
<br />
<br />
Run the helper script to get MySQL configured for use with openstack-nova. If <code>mysql-server</code> is not already installed, this script will install it for you.<br />
<br />
$> sudo openstack-db --init --service nova<br />
<br />
Similarly, run the helper script to get MySQL configured for use with openstack-glance.<br />
<br />
$> sudo openstack-db --init --service glance<br />
<br />
Nova requires the QPID messaging server to be running.<br />
<br />
$> sudo service qpidd start && sudo chkconfig qpidd on<br />
<br />
Nova requires the libvirtd server to be running:<br />
<br />
$> sudo service libvirtd start && sudo chkconfig libvirtd on<br />
<br />
Next, you should enable the Glance API and registry services:<br />
$> for svc in api registry; do sudo service openstack-glance-$svc start; sudo chkconfig openstack-glance-$svc on ; done<br />
<br />
<br />
The openstack-nova-volume service requires an LVM Volume Group called nova-volumes to exist. We simply create this using a loopback sparse disk image.<br />
<br />
$> sudo dd if=/dev/zero of=/var/lib/nova/nova-volumes.img bs=1M seek=20k count=0<br />
$> sudo vgcreate nova-volumes $(sudo losetup --show -f /var/lib/nova/nova-volumes.img)<br />
<br />
If you are testing OpenStack in a virtual machine, you need to configure nova to use qemu without KVM and hardware virtualization.<br />
The last 2 commands here work around a libvirt issue fixed in RHEL 6.4.<br />
Note nested virtualization will be the much slower TCG variety, and you should provide lots of memory to the top level guest,<br />
as the openstack created guests default to 2GM RAM with no overcommit.<br />
<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_type qemu<br />
$> sudo ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64<br />
$> sudo service libvirtd restart<br />
<br />
Now you can start the various services:<br />
<br />
$> for svc in api objectstore compute network volume scheduler cert; do sudo service openstack-nova-$svc start ; sudo chkconfig openstack-nova-$svc on ; done<br />
<br />
<br />
Check that all the services started up correctly and look in the logs in <code>/var/log/nova</code> for errors. If there are none, then Nova is up and running!<br />
<br />
== Initial Keystone setup ==<br />
<br />
Keystone is the openstack identity service, providing a central place to<br />
set up openstack users, groups, and accounts that can be shared across all<br />
other services. This deprecates the old style user accounts manually set<br />
up with nova-manage.<br />
<br />
Setting up keystone is required for using the Openstack dashboard.<br />
<br />
* Configure the Keystone database, similar to how we do it for nova<br />
$> sudo openstack-db --init --service keystone<br />
<br />
* Set up a keystonerc file with a generated admin token and various passwords:<br />
$> cat > keystonerc <<EOF<br />
export ADMIN_TOKEN=$(openssl rand -hex 10)<br />
export OS_USERNAME=admin<br />
export OS_PASSWORD=verybadpass<br />
export OS_TENANT_NAME=admin<br />
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/<br />
EOF<br />
$> . ./keystonerc<br />
<br />
* Set the administrative token in the config file<br />
$> sudo openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN<br />
<br />
* Start and enable Keystone service<br />
$> sudo service openstack-keystone start && sudo chkconfig openstack-keystone on<br />
<br />
* Create sample Tenants, Users and Roles<br />
$> sudo ADMIN_PASSWORD=$OS_PASSWORD SERVICE_PASSWORD=servicepass openstack-keystone-sample-data<br />
<br />
* Test the Keystone CLI is working<br />
$> keystone user-list<br />
+----------------------------------+---------+-------------------+-------+<br />
| id | enabled | email | name |<br />
+----------------------------------+---------+-------------------+-------+<br />
| 05742d10109540d2892d17ec312a6cd9 | True | admin@example.com | admin |<br />
| 25fe47659d6a4255a663e6add1979d6c | True | admin@example.com | demo |<br />
+----------------------------------+---------+-------------------+-------+<br />
<br />
== Configure nova to use keystone ==<br />
<br />
* Change nova configuration to use keystone:<br />
$> sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_user nova<br />
$> sudo openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone<br />
$> sudo service openstack-nova-api restart<br />
<br />
* Verify that nova can talk with keystone (requires OS_* exports from previous keystone section)<br />
<br />
$> nova flavor-list<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| ID | Name | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Factor |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| 1 | m1.tiny | 512 | | 0 | 1 | 1.0 |<br />
| 2 | m1.small | 2048 | | 10 | 1 | 1.0 |<br />
| 3 | m1.medium | 4096 | | 10 | 2 | 1.0 |<br />
| 4 | m1.large | 8192 | | 10 | 4 | 1.0 |<br />
| 5 | m1.xlarge | 16384 | | 10 | 8 | 1.0 |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
<br />
== Configure glance to use keystone ==<br />
<br />
* Change glance configuration to use keystone:<br />
$> sudo openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone<br />
$> sudo openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone<br />
$> sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo service openstack-glance-api restart<br />
$> sudo service openstack-glance-registry restart<br />
<br />
* Verify that glance can talk with keystone (requires OS_* exports from the previous keystone section)<br />
<br />
$> glance index<br />
<br />
== Nova Network Setup ==<br />
<br />
To create the network do:<br />
<br />
$> sudo nova-manage network create demonet 10.0.0.0/24 1 256 --bridge=demonetbr0<br />
<br />
NB the network range here, should *not* be the one used on your existing physical network. It should be a range dedicated for the network that OpenStack will configure. So if 10.0.0.0/24 clashes with your local network, pick another range<br />
<br />
== Register an Image ==<br />
<br />
To run an instance, you are going to need an image. There are prebuilt Fedora 16 JEOS (Just Enough OS) images that can be downloaded. <br />
Note this will download a 200MB image (without a progress bar)<br />
<br />
$> glance add name=f16-jeos is_public=true disk_format=qcow2 container_format=ovf \<br />
copy_from=http://berrange.fedorapeople.org/images/2012-02-29/f16-x86_64-openstack-sda.qcow2<br />
<br />
== Launch an Instance ==<br />
<br />
Create a keypair:<br />
<br />
$> nova keypair-add mykey > oskey.priv<br />
$> chmod 600 oskey.priv<br />
<br />
Configure key injection mode, to allow guestfs to inject into multiple guest types:<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_inject_partition -1<br />
$> sudo service openstack-nova-compute restart<br />
<br />
Launch an instance:<br />
<br />
$> nova boot myserver --flavor 2 --key_name mykey \<br />
--image $(glance index | grep f16-jeos | awk '{print $1}')<br />
<br />
And then observe the instance running, observe the KVM VM running and SSH into the instance:<br />
<br />
$> sudo virsh list<br />
$> nova list<br />
$> ssh -i oskey.priv ec2-user@10.0.0.2<br />
$> nova console-log myserver<br />
$> nova delete myserver<br />
<br />
== Configure the OpenStack Dashboard ==<br />
<br />
The OpenStack dashboard is the official web user interface for OpenStack. It should mostly work out of the box, as long as keystone has been configured properly.<br />
<br />
* Install the dashboard<br />
$> sudo yum install openstack-dashboard<br />
<br />
* Make sure httpd is running<br />
$> sudo service httpd restart<br />
$> sudo chkconfig httpd on<br />
<br />
* If selinux is enabled, you will have to allow httpd to access other network services (the dashboard talks to the http API of the other OpenStack services)<br />
$> sudo setsebool -P httpd_can_network_connect=on<br />
<br />
The dashboard should then be accessed with a web browser at http://localhost/dashboard . Account and password should be<br />
what you configured for the keystone setup.<br />
<br />
<br />
<br />
To open up the firewall ports for HTTP:<br />
$> sudo lokkit -p http:tcp<br />
$> sudo lokkit -p https:tcp<br />
<br />
== Configure swift with keystone ==<br />
These are the minimal steps required to setup a swift installation on RHEL which keystone authentication, this wouldn't be considered a working swift system but at the very least will provide you with a working swift API to test clients against, most notibly it doesn't include replication, multiple zones and loadbalancing<br />
<br />
Ensure the keystone env variables are still setup from the previous steps<br />
<br />
We need to create 5 configuration files<br />
<br />
$> cat > /tmp/swift.conf <<- EOF<br />
[swift-hash]<br />
swift_hash_path_suffix = randomestringchangeme<br />
EOF<br />
$> sudo mv /tmp/swift.conf /etc/swift/swift.conf<br />
<br />
$> cat > /tmp/proxy-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_port = 8080<br />
workers = 8<br />
user = swift<br />
[pipeline:main]<br />
pipeline = catch_errors healthcheck cache authtoken keystone proxy-server<br />
[app:proxy-server]<br />
use = egg:swift#proxy<br />
account_autocreate = true<br />
[filter:keystone]<br />
paste.filter_factory = keystone.middleware.swift_auth:filter_factory<br />
operator_roles = admin, swiftoperator<br />
[filter:authtoken]<br />
paste.filter_factory = keystone.middleware.auth_token:filter_factory<br />
auth_port = 35357<br />
auth_host = 127.0.0.1<br />
auth_protocol = http<br />
admin_token = ADMINTOKEN<br />
# ??? Are these needed?<br />
service_port = 5000<br />
service_host = 127.0.0.1<br />
service_protocol = http<br />
auth_token = ADMINTOKEN<br />
[filter:healthcheck]<br />
use = egg:swift#healthcheck<br />
[filter:cache]<br />
use = egg:swift#memcache<br />
memcache_servers = 127.0.0.1:11211<br />
[filter:catch_errors]<br />
use = egg:swift#catch_errors<br />
EOF<br />
$> sudo mv /tmp/proxy-server.conf /etc/swift/proxy-server.conf<br />
<br />
$> cat > /tmp/account-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = account-server<br />
[app:account-server]<br />
use = egg:swift#account<br />
[account-replicator]<br />
[account-auditor]<br />
[account-reaper]<br />
EOF<br />
$> sudo mv /tmp/account-server.conf /etc/swift/account-server.conf<br />
<br />
$> cat > /tmp/container-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = container-server<br />
[app:container-server]<br />
use = egg:swift#container<br />
[container-replicator]<br />
[container-updater]<br />
[container-auditor]<br />
EOF<br />
$> sudo mv /tmp/container-server.conf /etc/swift/container-server.conf<br />
<br />
$> cat > /tmp/object-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = object-server<br />
[app:object-server]<br />
use = egg:swift#object<br />
[object-replicator]<br />
[object-updater]<br />
[object-auditor]<br />
EOF<br />
$> sudo mv /tmp/object-server.conf /etc/swift/object-server.conf<br />
<br />
So that swift can authenticate tokens we need to set the keystone Admin token in the swift proxy file<br />
$> sudo openstack-config --set /etc/swift/proxy-server.conf filter:authtoken admin_token $ADMIN_TOKEN<br />
$> sudo openstack-config --set /etc/swift/proxy-server.conf filter:authtoken auth_token $ADMIN_TOKEN<br />
<br />
Create the stoage device for swift, these instructions use a loopback device but a physical devive or logical volume can be used<br />
$> truncate --size=20G /tmp/swiftstorage<br />
$> DEVICE=$(sudo losetup --show -f /tmp/swiftstorage)<br />
$> sudo mkfs.ext4 -I 1024 $DEVICE<br />
$> sudo mkdir -p /srv/node/partitions<br />
$> sudo mount $DEVICE /srv/node/partitions -t ext4 -o noatime,nodiratime,nobarrier,user_xattr<br />
<br />
$> cd /etc/swift<br />
<br />
Create the ring, with 1024 partitions (only suitable for a small test environment) and 1 zone<br />
$> sudo swift-ring-builder account.builder create 10 1 1<br />
$> sudo swift-ring-builder container.builder create 10 1 1<br />
$> sudo swift-ring-builder object.builder create 10 1 1<br />
<br />
Create a device for each of the account, container and object services<br />
$> sudo swift-ring-builder account.builder add z1-127.0.0.1:6002/partitions 100<br />
$> sudo swift-ring-builder container.builder add z1-127.0.0.1:6001/partitions 100<br />
$> sudo swift-ring-builder object.builder add z1-127.0.0.1:6000/partitions 100<br />
<br />
Rebalance the ring (allocates partitions to devices)<br />
$> sudo swift-ring-builder account.builder rebalance<br />
$> sudo swift-ring-builder container.builder rebalance<br />
$> sudo swift-ring-builder object.builder rebalance<br />
<br />
make sure swift owns appropriate files<br />
$> sudo chown -R swift:swift /etc/swift /srv/node/partitions<br />
<br />
Added the swift service and endpoint to keystone<br />
$> SERVICEID=$(keystone service-create --name=swift --type=object-store --description="Swift Service" | grep "id " | cut -d "|" -f 3)<br />
$> echo $SERVICEID # just making sure we got a SERVICEID<br />
$> keystone endpoint-create --service_id $SERVICEID --publicurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --adminurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --internalurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s"<br />
<br />
Start the services<br />
$> sudo service memcached start<br />
$> for srv in account container object proxy ; do sudo service openstack-swift-$srv start ; done<br />
<br />
Test the swift client and upload files<br />
$> swift list<br />
$> swift upload container /path/to/file<br />
<br />
= Additional Functionality =<br />
<br />
== Using Eucalyptus tools ==<br />
<br />
Set up a rc file for EC2 access (this expects a prior keystone configuration)<br />
<br />
$> . ./keystonerc<br />
$> USER_ID=$(keystone user-list | awk '/admin / {print $2}')<br />
$> ACCESS_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $4}')<br />
$> SECRET_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $6}')<br />
$> cat > novarc <<EOF<br />
export EC2_URL=http://localhost:8773/services/Cloud<br />
export EC2_ACCESS_KEY=$ACCESS_KEY<br />
export EC2_SECRET_KEY=$SECRET_KEY<br />
EOF<br />
$> chmod 600 novarc<br />
$> . ./novarc <br />
<br />
You should now be able to launch an image:<br />
<br />
$> euca-run-instances f16-jeos -k nova_key<br />
$> euca-describe-instances<br />
$> euca-get-console-output i-00000001<br />
$> euca-terminate-instances i-00000001<br />
<br />
== Images ==<br />
<br />
Rather than the prebuilt Fedora 16 JEOS image referenced above, there are other image options.<br />
<br />
# Building a Fedora 16 JEOS image using [http://aeolusproject.org/oz.html Oz]<br />
# Downloading ttylinux based minimal images used by OpenStack developers for testing<br />
<br />
=== Building Fedora 16 JEOS Images With Oz ===<br />
<br />
You can very easily build an image using Oz. First, make sure it's installed:<br />
<br />
$> sudo yum install /usr/bin/oz-install<br />
<br />
Create a template definition file called <code>f16-jeos.tdl</code> containing:<br />
<br />
<nowiki><br />
<template><br />
<name>fedora16_x86_64</name><br />
<description>My Fedora 16 x86_64 template</description><br />
<os><br />
<name>Fedora</name><br />
<version>16</version><br />
<arch>x86_64</arch><br />
<install type='url'><br />
<url>http://download.fedoraproject.org/pub/fedora/linux/releases/16/Fedora/x86_64/os/</url><br />
</install><br />
</os><br />
<commands><br />
<command name='setup-rc-local'><br />
sed -i 's/rhgb quiet/console=ttyS0/' /boot/grub/grub.conf<br />
<br />
cat >> /etc/rc.local &amp;lt;&amp;lt; EOF<br />
if [ ! -d /root/.ssh ]; then<br />
mkdir -p /root/.ssh<br />
chmod 700 /root/.ssh<br />
fi<br />
<br />
# Fetch public key using HTTP<br />
ATTEMPTS=10<br />
while [ ! -f /root/.ssh/authorized_keys ]; do<br />
curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/aws-key 2>/dev/null<br />
if [ \$? -eq 0 ]; then<br />
cat /tmp/aws-key >> /root/.ssh/authorized_keys<br />
chmod 0600 /root/.ssh/authorized_keys<br />
restorecon /root/.ssh/authorized_keys<br />
rm -f /tmp/aws-key<br />
echo "Successfully retrieved AWS public key from instance metadata"<br />
else<br />
FAILED=\$((\$FAILED + 1))<br />
if [ \$FAILED -ge \$ATTEMPTS ]; then<br />
echo "Failed to retrieve AWS public key after \$FAILED attempts, quitting"<br />
break<br />
fi<br />
echo "Could not retrieve AWS public key (attempt #\$FAILED/\$ATTEMPTS), retrying in 5 seconds..."<br />
sleep 5<br />
fi<br />
done<br />
EOF<br />
</command><br />
</commands><br />
</template><br />
</nowiki><br />
<br />
Then simply do:<br />
<br />
$> sudo oz-install -d4 -u f16-jeos.tdl<br />
<br />
Once built, you simply have to register the image with Nova:<br />
<br />
$> glance add name=f16-jeos is_public=true container_format=bare disk_format=raw < /var/lib/libvirt/images/fedora16_x86_64.dsk<br />
$> glance index<br />
<br />
The last command should return a list of the images registered with the Glance image registry.<br />
<br />
=== Downloading Existing Images ===<br />
<br />
If you don't need a functioning Fedora 16 and want the smallest possible images, just download this set of images commonly used by OpenStack developers for testing and register them with Nova:<br />
<br />
$> mkdir images<br />
$> cd images<br />
$> curl http://images.ansolabs.com/tty.tgz | tar xvfzo -<br />
$> glance add name=aki-tty disk_format=aki container_format=aki is_public=true < aki-tty/image<br />
$> glance add name=ami-tty disk_format=ami container_format=ami is_public=true < ami-tty/image<br />
$> glance add name=ari-tty disk_format=ari container_format=ari is_public=true < ari-tty/image<br />
<br />
Then to start the image:<br />
<br />
$> euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey<br />
<br />
== Volumes ==<br />
<br />
If you use the Chrome browser, kill it before embarking on this section, as it has been [https://bugzilla.redhat.com/show_bug.cgi?id=727925 known] to cause the lvcreate command to fail with 'incorrect semaphore state' errors.<br />
<br />
Start the SCSI target daemon<br />
<br />
$> sudo systemctl start tgtd.service<br />
$> sudo systemctl enable tgtd.service<br />
<br />
Create a new 1GB volume<br />
<br />
$> VOLUME=$(euca-create-volume -s 1 -z nova | awk '{print $2}')<br />
<br />
View the status of the new volume, and wait for it to become 'available'<br />
<br />
$> watch "euca-describe-volumes | grep $VOLUME | grep available"<br />
<br />
Re-run the previously terminated instance if necessary:<br />
<br />
$> INSTANCE=$(euca-run-instances f16-jeos -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
or:<br />
<br />
$> INSTANCE=$(euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
Make the storage available to the instance (note -d is the device on the compute node)<br />
<br />
$> euca-attach-volume -i $INSTANCE -d /dev/vdc $VOLUME<br />
<br />
ssh to the instance and verify that the vdc device is listed in /proc/partitions<br />
<br />
$> cat /proc/partitions<br />
<br />
Now make the device available if /dev/vdc is not already present<br />
<br />
$> mknod /dev/vdc b 252 32<br />
<br />
Create and mount a file system directly on the device<br />
<br />
$> mkfs.ext3 /dev/vdc<br />
$> mkdir /mnt/nova-volume<br />
$> mount /dev/vdc /mnt/nova-volume<br />
<br />
Display some file system details<br />
<br />
$> df -h /dev/vdc<br />
<br />
Create a temporary file:<br />
<br />
$> echo foo > /mnt/nova-volume/bar<br />
<br />
Terminate and re-run the instance, then re-attach the volume and re-mount within the instance as above. Your temporary file will have persisted:<br />
<br />
$> cat /mnt/nova-volume/bar<br />
<br />
Unmount the volume again:<br />
<br />
$> umount /mnt/nova-volume<br />
<br />
Exit from the ssh session, then detach and delete the volume:<br />
<br />
$> euca-detach-volume $VOLUME<br />
$> euca-delete-volume $VOLUME<br />
<br />
== Floating IPs ==<br />
<br />
You may carve out a block of public IPs and assign them to instances.<br />
<br />
First thing you need to do is make sure that nova is configured with the correct public network interface. The default is eth0, but you can change it by e.g.<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT public_interface em1<br />
$> sudo systemctl restart openstack-nova-network.service<br />
<br />
Then you can do e.g.<br />
<br />
$> sudo nova-manage floating create 172.31.0.224/28<br />
$> euca-allocate-address<br />
$> euca-associate-address -i i-00000012 172.31.0.224<br />
$> ssh -i nova_key.priv root@172.31.0.224<br />
$> euca-disassociate-address 172.31.0.224<br />
$> euca-release-address 172.31.0.224<br />
<br />
= Deployment =<br />
<br />
== Adding a Compute Node ==<br />
<br />
Okay, everything so far has been done on a single node. The next step is to add another node for running VMs.<br />
<br />
Let's assume the machine you've set up above is called 'controller' and the new machine is called 'node'.<br />
<br />
First, open the qpid, MySQL, Nova API and iSCSI ports on controller:<br />
<br />
$ controller> sudo lokkit -p 3306:tcp<br />
$ controller> sudo lokkit -p 5672:tcp<br />
$ controller> sudo lokkit -p 9292:tcp<br />
$ controller> sudo lokkit -p 3260:tcp<br />
$ controller> sudo service libvirtd reload<br />
<br />
Then make sure that ntp is enabled on both machines:<br />
<br />
$> sudo yum install -y ntp<br />
$> sudo service ntpd start<br />
$> sudo chkconfig ntpd on<br />
<br />
Install libvirt and nova on node:<br />
<br />
$ node> sudo yum install --enablerepo=epel-testing openstack-nova python-keystone openstack-utils<br />
$ node> sudo service libvirtd start<br />
$ node> sudo chkconfig libvirtd on<br />
$ node> sudo setenforce 0<br />
<br />
Configure nova so that node can find the services on controller:<br />
<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@controller/nova<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT glance_api_servers controller:9292<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT iscsi_ip_prefix 172.31.0.107<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone<br />
(The {{{iscsi_ip_prefix}}} value is the IP address of the controller node)<br />
<br />
Configure the Network interfaces<br />
The bridge name should match what use used in the nova-manage command on the controller<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT flat_network_bridge demonetbr0<br />
<br />
The device which should be moved onto the bridge (nova will set up this bridge, once it done you can view it with the brctl command<br />
$ node> sudo openstack-config --set /etc/nova/nova.conf DEFAULT flat_interface eth0<br />
$ controller> sudo openstack-config --set /etc/nova/nova.conf DEFAULT flat_interface eth0<br />
<br />
$ node> brctl show<br />
<br />
Enable the compute service:<br />
<br />
$ node> sudo service openstack-nova-compute start<br />
<br />
Now everything should be running as before, except the VMs are launched either on controller or node. You will only be able to ping/ssh to vm's from the controller node.<br />
<br />
== Manual Setup of MySQL ==<br />
<br />
As of <code>openstack-nova-2011.3-9.el6</code> and <code>openstack-nova-2011.3-8.fc16</code>, <code>openstack-nova</code> is now set up to use MySQL by default. If you're updating an older installation or prefer to set up MySQL manually instead of using the <code>openstack-nova-db-setup</code> script, this section shows how to do it.<br />
<br />
First install and enable MySQL:<br />
<br />
$> sudo yum install -y mysql-server<br />
$> sudo service mysqld start<br />
$> sudo chkconfig mysqld on<br />
<br />
Set a password for the root account and delete the anonymous accounts:<br />
<br />
$> mysql -u root<br />
mysql> update mysql.user set password = password('iamroot') where user = 'root';<br />
mysql> <nowiki>delete from mysql.user where user = ''</nowiki>;<br />
<br />
Create a database and user account specifically for nova:<br />
<br />
mysql> create database nova;<br />
mysql> create user 'nova'@'localhost' identified by 'nova';<br />
mysql> create user 'nova'@'%' identified by 'nova';<br />
mysql> grant all on nova.* to 'nova'@'%';<br />
<br />
(If anyone can explain why nova@localhost is required even though the anonymous accounts have been deleted, I'd be very grateful :-)<br />
<br />
Then configure nova to use the DB and install the schema:<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@localhost/nova<br />
$> sudo nova-manage db sync<br />
<br />
As a final sanity check:<br />
<br />
$> mysql -u nova -p nova<br />
Enter password:<br />
mysql> select * from migrate_version;<br />
<br />
= Miscellaneous =<br />
<br />
== Smoke Tests ==<br />
<br />
Nova comes with a selection of fairly basic smoke tests which you can run against your installation. It can be useful to use these to sanity check your configuration.<br />
<br />
First off, you need the nova-adminclient python library which isn't yet packaged:<br />
<br />
$> sudo yum install python-pip<br />
$> sudo pip-python install nova-adminclient<br />
<br />
Then you need a user and project both named admin:<br />
<br />
$> sudo nova-manage user admin admin<br />
$> sudo nova-manage project create admin admin<br />
$> sudo nova-manage project zipfile admin admin<br />
$> unzip nova.zip<br />
$> . ./novarc<br />
<br />
Make sure you have the tty images imported as described above. You also need a block of floating IPs created, also as described above.<br />
<br />
Then, run the tests from a fedpkg checkout:<br />
<br />
$> fedpkg clone openstack-nova<br />
$> cd openstack-nova<br />
$> fedpkg switch-branch f16<br />
$> fedpkg prep<br />
$> cd nova-2011.3/smoketests<br />
$> python ./run_tests.py<br />
<br />
All the tests should pass.<br />
<br />
If you run into import errors such as:<br />
<br />
ImportError: No module named nose<br />
<br />
or:<br />
<br />
ImportError (No module named paramiko)<br />
<br />
simply install the missing dependency as follows:<br />
<br />
$> sudo yum install -y python-nose.noarch<br />
$> sudo yum install -y python-paramiko.noarch<br />
<br />
== Cleanup ==<br />
<br />
While testing OpenStack, you might want to delete everything related to OpenStack and start testing with a clean slate again.<br />
<br />
Here's how. First, make sure to terminate all running instances:<br />
<br />
$> euca-terminate-instances ...<br />
<br />
Double check that you have no lingering VMs, perhaps saved to disk:<br />
<br />
$> virsh list --all && virsh undefine<br />
$> rm -f /var/lib/libvirt/qemu/save/instance-00000*<br />
<br />
Then stop all the services:<br />
<br />
$> for iii in /usr/lib/systemd/system/openstack-*.service; do sudo systemctl stop $(basename $iii); done<br />
<br />
Delete all the packages:<br />
<br />
$> sudo yum erase python-glance python-nova* python-keystone* openstack-swift* memcached<br />
<br />
Delete the nova and keystone tables from the MySQL DB:<br />
<br />
$> mysql -u root -p -e 'drop database nova;'<br />
$> mysql -u root -p -e 'drop database keystone;'<br />
<br />
Delete the nova-volumes VG:<br />
<br />
$> sudo vgchange -an nova-volumes<br />
$> sudo losetup -d /dev/loop0<br />
$> sudo rm -f /var/lib/nova/nova-volumes.img<br />
<br />
Take down the bridge and kill dnsmasq:<br />
<br />
$> sudo ip link set demonetbr0 down<br />
$> sudo brctl delbr demonetbr0<br />
$> sudo kill -9 $(cat /var/lib/nova/networks/nova-demonetbr0.pid)<br />
<br />
Remove all directories left behind from the packages:<br />
<br />
$> sudo rm -rf /etc/{glance,nova,swift,keystone,openstack-dashboard} /var/lib/{glance,nova,swift,keystone} /var/log/{glance,nova,swift,keystone} /var/run/{glance,nova,swift,keystone}<br />
<br />
Remove swift storage device (if we don't want the data)<br />
$> sudo umount /srv/node/partitions<br />
$> sudo losetup -d $DEVICE<br />
$> rm /tmp/swiftstorage <br />
<br />
Finally, restart iptables to clear out all rules added by Nova. You also need to reload libvirt's iptables rules:<br />
<br />
$> sudo service iptables restart<br />
$> sudo service libvirtd restart<br />
<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Getting_started_with_OpenStack_on_Fedora_17&diff=285807Getting started with OpenStack on Fedora 172012-04-26T09:32:02Z<p>Derekh: </p>
<hr />
<div>= Basic Setup =<br />
<br />
These steps will setup OpenStack nova, glance, and keystone to be accessed by the OpenStack dashboard web UI on a single host, as well as launching our first instance (virtual machine).<br />
<br />
Many of the examples here require 'sudo' to be properly configured, please see [[Configuring Sudo]] if you need help.<br />
<br />
== Initial Installation ==<br />
<br />
(If you want to try latest OpenStack packages on Fedora 16, enable the [[OpenStack#Preview repository |OpenStack Preview Repository]] before following these steps)<br />
<br />
First let's pull in OpenStack and some optional dependencies:<br />
<br />
$> sudo yum install --enablerepo=updates-testing openstack-nova openstack-glance openstack-keystone openstack-dashboard qpid-cpp-server<br />
<br />
Run the helper script to get MySQL configured for use with openstack-nova. If <code>mysql-server</code> is not already installed, this script will install it for you.<br />
<br />
$> sudo openstack-nova-db-setup<br />
<br />
Similarly, run the helper script to get MySQL configured for use with openstack-glance.<br />
<br />
$> sudo openstack-glance-db-setup<br />
<br />
Nova requires the QPID messaging server to be running.<br />
<br />
$> sudo systemctl start qpidd.service && sudo systemctl enable qpidd.service<br />
<br />
Nova requires the libvirtd server to be running:<br />
<br />
$> sudo systemctl start libvirtd.service && sudo systemctl enable libvirtd.service<br />
<br />
Next, you should enable the Glance API and registry services:<br />
<br />
$> for svc in api registry; do sudo systemctl start openstack-glance-$svc.service; done<br />
$> for svc in api registry; do sudo systemctl enable openstack-glance-$svc.service; done<br />
<br />
The openstack-nova-volume service requires an LVM Volume Group called nova-volumes to exist. We simply create this using a loopback sparse disk image.<br />
<br />
$> sudo dd if=/dev/zero of=/var/lib/nova/nova-volumes.img bs=1M seek=20k count=0<br />
$> sudo vgcreate nova-volumes $(sudo losetup --show -f /var/lib/nova/nova-volumes.img)<br />
<br />
If you are testing OpenStack in a virtual machine, you need to configure nova to use qemu without KVM and hardware virtualization:<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT libvirt_type qemu<br />
<br />
Now you can start the various services:<br />
<br />
$> for svc in api objectstore compute network volume scheduler cert; do sudo systemctl start openstack-nova-$svc.service; done<br />
$> for svc in api objectstore compute network volume scheduler cert; do sudo systemctl enable openstack-nova-$svc.service; done<br />
<br />
Check that all the services started up correctly and look in the logs in <code>/var/log/nova</code> for errors. If there are none, then Nova is up and running!<br />
<br />
== Initial Keystone setup ==<br />
<br />
Keystone is the openstack identity service, providing a central place to<br />
set up openstack users, groups, and accounts that can be shared across all<br />
other services. This deprecates the old style user accounts manually set<br />
up with nova-manage.<br />
<br />
Setting up keystone is required for using the Openstack dashboard.<br />
<br />
* Configure the Keystone database, similar to how we do it for nova<br />
$> sudo openstack-keystone-db-setup<br />
<br />
* Set up a keystonerc file with a generated admin token and various passwords:<br />
$> cat > keystonerc <<EOF<br />
export ADMIN_TOKEN=$(openssl rand -hex 10)<br />
export OS_USERNAME=admin<br />
export OS_PASSWORD=verybadpass<br />
export OS_TENANT_NAME=admin<br />
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/<br />
EOF<br />
$> . ./keystonerc<br />
<br />
* Set the administrative token in the config file<br />
$> sudo openstack-config-set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN<br />
<br />
* Start and enable Keystone service<br />
$> sudo systemctl start openstack-keystone.service && sudo systemctl enable openstack-keystone.service<br />
<br />
* Create sample Tenants, Users and Roles<br />
$> sudo ADMIN_PASSWORD=$OS_PASSWORD SERVICE_PASSWORD=servicepass openstack-keystone-sample-data<br />
<br />
* Test the Keystone CLI is working<br />
$> keystone user-list<br />
+----------------------------------+---------+-------------------+-------+<br />
| id | enabled | email | name |<br />
+----------------------------------+---------+-------------------+-------+<br />
| 05742d10109540d2892d17ec312a6cd9 | True | admin@example.com | admin |<br />
| 25fe47659d6a4255a663e6add1979d6c | True | admin@example.com | demo |<br />
+----------------------------------+---------+-------------------+-------+<br />
<br />
== Configure nova to use keystone ==<br />
<br />
* Change nova configuration to use keystone:<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_user nova<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT auth_strategy keystone<br />
$> sudo systemctl restart openstack-nova-api.service<br />
<br />
* Verify that nova can talk with keystone (requires OS_* exports from previous keystone section)<br />
<br />
$> nova flavor-list<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| ID | Name | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Factor |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| 1 | m1.tiny | 512 | | 0 | 1 | 1.0 |<br />
| 2 | m1.small | 2048 | | 10 | 1 | 1.0 |<br />
| 3 | m1.medium | 4096 | | 10 | 2 | 1.0 |<br />
| 4 | m1.large | 8192 | | 10 | 4 | 1.0 |<br />
| 5 | m1.xlarge | 16384 | | 10 | 8 | 1.0 |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
<br />
== Configure glance to use keystone ==<br />
<br />
* Change glance configuration to use keystone:<br />
$> sudo openstack-config-set /etc/glance/glance-api.conf paste_deploy flavor keystone<br />
$> sudo openstack-config-set /etc/glance/glance-registry.conf paste_deploy flavor keystone<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo systemctl restart openstack-glance-api.service<br />
$> sudo systemctl restart openstack-glance-registry.service<br />
<br />
* Verify that glance can talk with keystone (requires OS_* exports from the previous keystone section)<br />
<br />
$> glance index<br />
<br />
== Nova Network Setup ==<br />
<br />
To create the network do:<br />
<br />
$> sudo nova-manage network create demonet 10.0.0.0/24 1 256 --bridge=demonetbr0<br />
<br />
NB the network range here, should *not* be the one used on your existing physical network. It should be a range dedicated for the network that OpenStack will configure. So if 10.0.0.0/24 clashes with your local network, pick another range<br />
<br />
== Register an Image ==<br />
<br />
To run an instance, you are going to need an image. There are prebuilt Fedora 16 JEOS (Just Enough OS) images that can be downloaded. <br />
Note this will download a 200MB image (without a progress bar)<br />
<br />
$> glance add name=f16-jeos is_public=true disk_format=qcow2 container_format=ovf \<br />
copy_from=http://berrange.fedorapeople.org/images/2012-02-29/f16-x86_64-openstack-sda.qcow2<br />
<br />
== Launch an Instance ==<br />
<br />
As a last step before launching, make sure the nbd kernel module is loaded so that injecting SSH key files into the filesystem on the qcow2 image works:<br />
<br />
$> sudo modprobe nbd<br />
<br />
Create a keypair:<br />
<br />
$> nova keypair-add mykey > oskey.priv<br />
$> chmod 600 oskey.priv<br />
<br />
Launch an instance:<br />
<br />
$> nova boot myserver --flavor 2 --key_name mykey \<br />
--image $(glance index | grep f16-jeos | awk '{print $1}')<br />
<br />
And then observe the instance running, observe the KVM VM running and SSH into the instance:<br />
<br />
$> sudo virsh list<br />
$> nova list<br />
$> ssh -i oskey.priv ec2-user@10.0.0.2<br />
$> nova console-log myserver<br />
$> nova delete myserver<br />
<br />
== Configure the OpenStack Dashboard ==<br />
<br />
The OpenStack dashboard is the official web user interface for OpenStack. It should mostly work out of the box, as long as keystone has been configured properly.<br />
<br />
* Install the dashboard<br />
$> sudo yum install openstack-dashboard<br />
<br />
* Make sure httpd is running<br />
$> sudo systemctl restart httpd.service<br />
$> sudo systemctl enable httpd.service<br />
<br />
* If selinux is enabled, you will have to allow httpd to access other network services (the dashboard talks to the http API of the other OpenStack services)<br />
$> sudo setsebool -P httpd_can_network_connect=on<br />
<br />
The dashboard should then be accessed with a web browser at http://localhost/dashboard . Account and password should be<br />
what you configured for the keystone setup.<br />
<br />
== Configure swift with keystone ==<br />
These are the minimal steps required to setup a swift installation with keystone authentication, this wouldn't be considered a working swift system but at the very least will provide you with a working swift API to test clients against, most notibly it doesn't include replication, multiple zones and loadbalancing<br />
<br />
Installing swift<br />
$> sudo yum install openstack-swift openstack-swift-proxy openstack-swift-account openstack-swift-container openstack-swift-object memcached<br />
<br />
Ensure the keystone env variables are still setup from the previous steps<br />
<br />
We need to create 5 configuration files<br />
<br />
$> cat > /tmp/swift.conf <<- EOF<br />
[swift-hash]<br />
swift_hash_path_suffix = randomestringchangeme<br />
EOF<br />
$> sudo mv /tmp/swift.conf /etc/swift/swift.conf<br />
<br />
$> cat > /tmp/proxy-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_port = 8080<br />
workers = 8<br />
user = swift<br />
[pipeline:main]<br />
pipeline = catch_errors healthcheck cache authtoken keystone proxy-server<br />
[app:proxy-server]<br />
use = egg:swift#proxy<br />
account_autocreate = true<br />
[filter:keystone]<br />
paste.filter_factory = keystone.middleware.swift_auth:filter_factory<br />
operator_roles = admin, swiftoperator<br />
[filter:authtoken]<br />
paste.filter_factory = keystone.middleware.auth_token:filter_factory<br />
auth_port = 35357<br />
auth_host = 127.0.0.1<br />
auth_protocol = http<br />
admin_token = ADMINTOKEN<br />
# ??? Are these needed?<br />
service_port = 5000<br />
service_host = 127.0.0.1<br />
service_protocol = http<br />
auth_token = ADMINTOKEN<br />
[filter:healthcheck]<br />
use = egg:swift#healthcheck<br />
[filter:cache]<br />
use = egg:swift#memcache<br />
memcache_servers = 127.0.0.1:11211<br />
[filter:catch_errors]<br />
use = egg:swift#catch_errors<br />
EOF<br />
$> sudo mv /tmp/proxy-server.conf /etc/swift/proxy-server.conf<br />
<br />
$> cat > /tmp/account-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = account-server<br />
[app:account-server]<br />
use = egg:swift#account<br />
[account-replicator]<br />
[account-auditor]<br />
[account-reaper]<br />
EOF<br />
$> sudo mv /tmp/account-server.conf /etc/swift/account-server.conf<br />
<br />
$> cat > /tmp/container-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = container-server<br />
[app:container-server]<br />
use = egg:swift#container<br />
[container-replicator]<br />
[container-updater]<br />
[container-auditor]<br />
EOF<br />
$> sudo mv /tmp/container-server.conf /etc/swift/container-server.conf<br />
<br />
$> cat > /tmp/object-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = object-server<br />
[app:object-server]<br />
use = egg:swift#object<br />
[object-replicator]<br />
[object-updater]<br />
[object-auditor]<br />
EOF<br />
$> sudo mv /tmp/object-server.conf /etc/swift/object-server.conf<br />
<br />
So that swift can authenticate tokens we need to set the keystone Admin token in the swift proxy file<br />
$> sudo openstack-config-set /etc/swift/proxy-server.conf filter:authtoken admin_token $ADMIN_TOKEN<br />
$> sudo openstack-config-set /etc/swift/proxy-server.conf filter:authtoken auth_token $ADMIN_TOKEN<br />
<br />
Create the stoage device for swift, these instructions use a loopback device but a physical devive or logical volume can be used<br />
$> truncate --size=20G /tmp/swiftstorage<br />
$> DEVICE=$(sudo losetup --show -f /tmp/swiftstorage)<br />
$> sudo mkfs.ext4 -I 1024 $DEVICE<br />
$> sudo mkdir -p /srv/node/partitions<br />
$> sudo mount $DEVICE /srv/node/partitions -t ext4 -o noatime,nodiratime,nobarrier,user_xattr<br />
<br />
$> cd /etc/swift<br />
<br />
Create the ring, with 1024 partitions (only suitable for a small test environment) and 1 zone<br />
$> sudo swift-ring-builder account.builder create 10 1 1<br />
$> sudo swift-ring-builder container.builder create 10 1 1<br />
$> sudo swift-ring-builder object.builder create 10 1 1<br />
<br />
Create a device for each of the account, container and object services<br />
$> sudo swift-ring-builder account.builder add z1-127.0.0.1:6002/partitions 100<br />
$> sudo swift-ring-builder container.builder add z1-127.0.0.1:6001/partitions 100<br />
$> sudo swift-ring-builder object.builder add z1-127.0.0.1:6000/partitions 100<br />
<br />
Rebalance the ring (allocates partitions to devices)<br />
$> sudo swift-ring-builder account.builder rebalance<br />
$> sudo swift-ring-builder container.builder rebalance<br />
$> sudo swift-ring-builder object.builder rebalance<br />
<br />
make sure swift owns appropriate files<br />
$> sudo chown -R swift:swift /etc/swift /srv/node/partitions<br />
<br />
Added the swift service and endpoint to keystone<br />
$> SERVICEID=$(keystone service-create --name=swift --type=object-store --description="Swift Service" | grep "id " | cut -d "|" -f 3)<br />
$> echo $SERVICEID # just making sure we got a SERVICEID<br />
$> keystone endpoint-create --service_id $SERVICEID --publicurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --adminurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --internalurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s"<br />
<br />
Start the services<br />
$> sudo service memcached start<br />
$> for srv in account container object proxy ; do sudo service openstack-swift-$srv start ; done<br />
<br />
Test the swift client and upload files<br />
$> swift list<br />
$> swift upload container /path/to/file<br />
<br />
<br />
= Additional Functionality =<br />
<br />
== Using Eucalyptus tools ==<br />
<br />
Set up a rc file for EC2 access (this expects a prior keystone configuration)<br />
<br />
$> . ./keystonerc<br />
$> USER_ID=$(keystone user-list | awk '/admin / {print $2}')<br />
$> ACCESS_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $4}')<br />
$> SECRET_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $6}')<br />
$> cat > novarc <<EOF<br />
export EC2_URL=http://localhost:8773/services/Cloud<br />
export EC2_ACCESS_KEY=$ACCESS_KEY<br />
export EC2_SECRET_KEY=$SECRET_KEY<br />
EOF<br />
$> chmod 600 novarc<br />
$> . ./novarc <br />
<br />
You should now be able to launch an image:<br />
<br />
$> euca-run-instances f16-jeos -k nova_key<br />
$> euca-describe-instances<br />
$> euca-get-console-output i-00000001<br />
$> euca-terminate-instances i-00000001<br />
<br />
== Images ==<br />
<br />
Rather than the prebuilt Fedora 16 JEOS image referenced above, there are other image options.<br />
<br />
# Building a Fedora 16 JEOS image using [http://aeolusproject.org/oz.html Oz]<br />
# Downloading ttylinux based minimal images used by OpenStack developers for testing<br />
<br />
=== Building Fedora 16 JEOS Images With Oz ===<br />
<br />
You can very easily build an image using Oz. First, make sure it's installed:<br />
<br />
$> sudo yum install /usr/bin/oz-install<br />
<br />
Create a template definition file called <code>f16-jeos.tdl</code> containing:<br />
<br />
<nowiki><br />
<template><br />
<name>fedora16_x86_64</name><br />
<description>My Fedora 16 x86_64 template</description><br />
<os><br />
<name>Fedora</name><br />
<version>16</version><br />
<arch>x86_64</arch><br />
<install type='url'><br />
<url>http://download.fedoraproject.org/pub/fedora/linux/releases/16/Fedora/x86_64/os/</url><br />
</install><br />
</os><br />
<commands><br />
<command name='setup-rc-local'><br />
sed -i 's/rhgb quiet/console=ttyS0/' /boot/grub/grub.conf<br />
<br />
cat >> /etc/rc.local &amp;lt;&amp;lt; EOF<br />
if [ ! -d /root/.ssh ]; then<br />
mkdir -p /root/.ssh<br />
chmod 700 /root/.ssh<br />
fi<br />
<br />
# Fetch public key using HTTP<br />
ATTEMPTS=10<br />
while [ ! -f /root/.ssh/authorized_keys ]; do<br />
curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/aws-key 2>/dev/null<br />
if [ \$? -eq 0 ]; then<br />
cat /tmp/aws-key >> /root/.ssh/authorized_keys<br />
chmod 0600 /root/.ssh/authorized_keys<br />
restorecon /root/.ssh/authorized_keys<br />
rm -f /tmp/aws-key<br />
echo "Successfully retrieved AWS public key from instance metadata"<br />
else<br />
FAILED=\$((\$FAILED + 1))<br />
if [ \$FAILED -ge \$ATTEMPTS ]; then<br />
echo "Failed to retrieve AWS public key after \$FAILED attempts, quitting"<br />
break<br />
fi<br />
echo "Could not retrieve AWS public key (attempt #\$FAILED/\$ATTEMPTS), retrying in 5 seconds..."<br />
sleep 5<br />
fi<br />
done<br />
EOF<br />
</command><br />
</commands><br />
</template><br />
</nowiki><br />
<br />
Then simply do:<br />
<br />
$> sudo oz-install -d4 -u f16-jeos.tdl<br />
<br />
Once built, you simply have to register the image with Nova:<br />
<br />
$> glance add name=f16-jeos is_public=true container_format=bare disk_format=raw < /var/lib/libvirt/images/fedora16_x86_64.dsk<br />
$> glance index<br />
<br />
The last command should return a list of the images registered with the Glance image registry.<br />
<br />
=== Downloading Existing Images ===<br />
<br />
If you don't need a functioning Fedora 16 and want the smallest possible images, just download this set of images commonly used by OpenStack developers for testing and register them with Nova:<br />
<br />
$> mkdir images<br />
$> cd images<br />
$> curl http://images.ansolabs.com/tty.tgz | tar xvfzo -<br />
$> glance add name=aki-tty disk_format=aki container_format=aki is_public=true < aki-tty/image<br />
$> glance add name=ami-tty disk_format=ami container_format=ami is_public=true < ami-tty/image<br />
$> glance add name=ari-tty disk_format=ari container_format=ari is_public=true < ari-tty/image<br />
<br />
Then to start the image:<br />
<br />
$> euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey<br />
<br />
== Volumes ==<br />
<br />
If you use the Chrome browser, kill it before embarking on this section, as it has been [https://bugzilla.redhat.com/show_bug.cgi?id=727925 known] to cause the lvcreate command to fail with 'incorrect semaphore state' errors.<br />
<br />
Start the SCSI target daemon<br />
<br />
$> sudo systemctl start tgtd.service<br />
$> sudo systemctl enable tgtd.service<br />
<br />
Create a new 1GB volume<br />
<br />
$> VOLUME=$(euca-create-volume -s 1 -z nova | awk '{print $2}')<br />
<br />
View the status of the new volume, and wait for it to become 'available'<br />
<br />
$> watch "euca-describe-volumes | grep $VOLUME | grep available"<br />
<br />
Re-run the previously terminated instance if necessary:<br />
<br />
$> INSTANCE=$(euca-run-instances f16-jeos -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
or:<br />
<br />
$> INSTANCE=$(euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
Make the storage available to the instance (note -d is the device on the compute node)<br />
<br />
$> euca-attach-volume -i $INSTANCE -d /dev/vdc $VOLUME<br />
<br />
ssh to the instance and verify that the vdc device is listed in /proc/partitions<br />
<br />
$> cat /proc/partitions<br />
<br />
Now make the device available if /dev/vdc is not already present<br />
<br />
$> mknod /dev/vdc b 252 32<br />
<br />
Create and mount a file system directly on the device<br />
<br />
$> mkfs.ext3 /dev/vdc<br />
$> mkdir /mnt/nova-volume<br />
$> mount /dev/vdc /mnt/nova-volume<br />
<br />
Display some file system details<br />
<br />
$> df -h /dev/vdc<br />
<br />
Create a temporary file:<br />
<br />
$> echo foo > /mnt/nova-volume/bar<br />
<br />
Terminate and re-run the instance, then re-attach the volume and re-mount within the instance as above. Your temporary file will have persisted:<br />
<br />
$> cat /mnt/nova-volume/bar<br />
<br />
Unmount the volume again:<br />
<br />
$> umount /mnt/nova-volume<br />
<br />
Exit from the ssh session, then detach and delete the volume:<br />
<br />
$> euca-detach-volume $VOLUME<br />
$> euca-delete-volume $VOLUME<br />
<br />
== Floating IPs ==<br />
<br />
You may carve out a block of public IPs and assign them to instances.<br />
<br />
First thing you need to do is make sure that nova is configured with the correct public network interface. The default is eth0, but you can change it by e.g.<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT public_interface em1<br />
$> sudo systemctl restart openstack-nova-network.service<br />
<br />
Then you can do e.g.<br />
<br />
$> sudo nova-manage floating create 172.31.0.224/28<br />
$> euca-allocate-address<br />
$> euca-associate-address -i i-00000012 172.31.0.224<br />
$> ssh -i nova_key.priv root@172.31.0.224<br />
$> euca-disassociate-address 172.31.0.224<br />
$> euca-release-address 172.31.0.224<br />
<br />
= Deployment =<br />
<br />
== Adding a Compute Node ==<br />
<br />
Okay, everything so far has been done on a single node. The next step is to add another node for running VMs.<br />
<br />
Let's assume the machine you've set up above is called 'controller' and the new machine is called 'node'.<br />
<br />
First, open the rabbitmq, MySQL, Nova API and iSCSI ports on controller:<br />
<br />
$ controller> sudo lokkit -p 3306:tcp<br />
$ controller> sudo lokkit -p 5672:tcp<br />
$ controller> sudo lokkit -p 9292:tcp<br />
$ controller> sudo lokkit -p 3260:tcp<br />
$ controller> sudo service libvirtd reload<br />
<br />
Then make sure that ntp is enabled on both machines:<br />
<br />
$> sudo yum install -y ntp<br />
$> sudo service ntpd start<br />
$> sudo chkconfig ntpd on<br />
<br />
Install libvirt and nova on node:<br />
<br />
$ node> sudo yum install --enablerepo=updates-testing openstack-nova<br />
$ node> sudo service libvirtd start<br />
$ node> sudo chkconfig libvirtd on<br />
$ node> sudo setenforce 0<br />
<br />
Configure nova so that node can find the services on controller:<br />
<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT rabbit_host controller<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@controller/nova<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT glance_api_servers controller:9292<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT iscsi_ip_prefix 172.31.0.107<br />
<br />
(The {{{iscsi_ip_prefix}}} value is the IP address of the controller node)<br />
<br />
Enable the compute service:<br />
<br />
$ node> for svc in compute network; do sudo service openstack-nova-$svc start; done<br />
<br />
Finally, you need to make sure the network is configured with a physical bridge interface:<br />
<br />
$ controller> sudo nova-manage network create demonet 10.0.0.0/24 --bridge=demonetbr0 --bridge_interface=em1<br />
<br />
Now everything should be running as before, except the VMs are launched either on controller or node.<br />
<br />
== Manual Setup of MySQL ==<br />
<br />
As of <code>openstack-nova-2011.3-9.el6</code> and <code>openstack-nova-2011.3-8.fc16</code>, <code>openstack-nova</code> is now set up to use MySQL by default. If you're updating an older installation or prefer to set up MySQL manually instead of using the <code>openstack-nova-db-setup</code> script, this section shows how to do it.<br />
<br />
First install and enable MySQL:<br />
<br />
$> sudo yum install -y mysql-server<br />
$> sudo service mysqld start<br />
$> sudo chkconfig mysqld on<br />
<br />
Set a password for the root account and delete the anonymous accounts:<br />
<br />
$> mysql -u root<br />
mysql> update mysql.user set password = password('iamroot') where user = 'root';<br />
mysql> <nowiki>delete from mysql.user where user = ''</nowiki>;<br />
<br />
Create a database and user account specifically for nova:<br />
<br />
mysql> create database nova;<br />
mysql> create user 'nova'@'localhost' identified by 'nova';<br />
mysql> create user 'nova'@'%' identified by 'nova';<br />
mysql> grant all on nova.* to 'nova'@'%';<br />
<br />
(If anyone can explain why nova@localhost is required even though the anonymous accounts have been deleted, I'd be very grateful :-)<br />
<br />
Then configure nova to use the DB and install the schema:<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@localhost/nova<br />
$> sudo nova-manage db sync<br />
<br />
As a final sanity check:<br />
<br />
$> mysql -u nova -p nova<br />
Enter password:<br />
mysql> select * from migrate_version;<br />
<br />
= Miscellaneous =<br />
<br />
== Smoke Tests ==<br />
<br />
Nova comes with a selection of fairly basic smoke tests which you can run against your installation. It can be useful to use these to sanity check your configuration.<br />
<br />
First off, you need the nova-adminclient python library which isn't yet packaged:<br />
<br />
$> sudo yum install python-pip<br />
$> sudo pip-python install nova-adminclient<br />
<br />
Then you need a user and project both named admin:<br />
<br />
$> sudo nova-manage user admin admin<br />
$> sudo nova-manage project create admin admin<br />
$> sudo nova-manage project zipfile admin admin<br />
$> unzip nova.zip<br />
$> . ./novarc<br />
<br />
Make sure you have the tty images imported as described above. You also need a block of floating IPs created, also as described above.<br />
<br />
Then, run the tests from a fedpkg checkout:<br />
<br />
$> fedpkg clone openstack-nova<br />
$> cd openstack-nova<br />
$> fedpkg switch-branch f16<br />
$> fedpkg prep<br />
$> cd nova-2011.3/smoketests<br />
$> python ./run_tests.py<br />
<br />
All the tests should pass.<br />
<br />
If you run into import errors such as:<br />
<br />
ImportError: No module named nose<br />
<br />
or:<br />
<br />
ImportError (No module named paramiko)<br />
<br />
simply install the missing dependency as follows:<br />
<br />
$> sudo yum install -y python-nose.noarch<br />
$> sudo yum install -y python-paramiko.noarch<br />
<br />
== Cleanup ==<br />
<br />
While testing OpenStack, you might want to delete everything related to OpenStack and start testing with a clean slate again.<br />
<br />
Here's how. First, make sure to terminate all running instances:<br />
<br />
$> euca-terminate-instances ...<br />
<br />
Double check that you have no lingering VMs, perhaps saved to disk:<br />
<br />
$> virsh list --all && virsh undefine<br />
$> rm -f /var/lib/libvirt/qemu/save/instance-00000*<br />
<br />
Then stop all the services:<br />
<br />
$> for iii in /usr/lib/systemd/system/openstack-*.service; do sudo systemctl stop $(basename $iii); done<br />
<br />
Delete all the packages:<br />
<br />
$> sudo yum erase python-glance python-nova* python-keystone* openstack-swift*<br />
<br />
Delete the nova and keystone tables from the MySQL DB:<br />
<br />
$> mysql -u root -p -e 'drop database nova;'<br />
$> mysql -u root -p -e 'drop database keystone;'<br />
<br />
Delete the nova-volumes VG:<br />
<br />
$> sudo vgchange -an nova-volumes<br />
$> sudo losetup -d /dev/loop0<br />
$> sudo rm -f /var/lib/nova/nova-volumes.img<br />
<br />
Take down the bridge and kill dnsmasq:<br />
<br />
$> sudo ip link set demonetbr0 down<br />
$> sudo brctl delbr demonetbr0<br />
$> sudo kill -9 $(cat /var/lib/nova/networks/nova-demonetbr0.pid)<br />
<br />
Remove all directories left behind from the packages:<br />
<br />
$> sudo rm -rf /etc/{glance,nova,swift,keystone,openstack-dashboard} /var/lib/{glance,nova,swift,keystone} /var/log/{glance,nova,swift,keystone} /var/run/{glance,nova,swift,keystone}<br />
<br />
Finally, restart iptables to clear out all rules added by Nova. You also need to reload libvirt's iptables rules:<br />
<br />
$> sudo service iptables restart<br />
$> sudo service libvirtd restart<br />
<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Getting_started_with_OpenStack_EPEL&diff=285720Getting started with OpenStack EPEL2012-04-25T22:59:30Z<p>Derekh: </p>
<hr />
<div>= Basic Setup =<br />
<br />
These steps will setup OpenStack nova, glance, and keystone to be accessed by the OpenStack dashboard web UI on a single host, as well as launching our first instance (virtual machine).<br />
<br />
Many of the examples here require 'sudo' to be properly configured, please see [[Configuring Sudo]] if you need help.<br />
<br />
== Initial Installation ==<br />
<br />
$>wget http://pbrady.fedorapeople.org/openstack-el6/epel-openstack-preview.repo<br />
$>sudo mv epel-openstack-preview.repo /etc/yum.repos.d<br />
<br />
Note that until EPEL Django gets updated to 1.3 or later, dashboard will not install correctly.<br />
To test, use the RPM from <br />
$> wget http://kojipkgs.fedoraproject.org/packages/Django/1.3.1/1.el6/noarch/Django-1.3.1-1.el6.noarch.rpm<br />
<br />
First let's pull in OpenStack and some optional dependencies:<br />
<br />
$> sudo yum install openstack-nova openstack-glance openstack-keystone openstack-quantum \<br />
openstack-dashboard openstack-utils qpid-cpp-server python-paste-deploy python-routes<br />
<br />
Ensure auth=no is set in /etc/qpidd.conf<br />
<br />
Set selinux in permissive mode:<br />
>$ sudo setenforce permissive<br />
<br />
Otherwise you will get issues like https://bugzilla.redhat.com/show_bug.cgi?id=734346<br />
/usr/bin/nova-dhcpbridge: No such file or directory<br />
<br />
if RHEL 6.2 based<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT force_dhcp_release False<br />
else if RHEL 6.3 based<br />
$> sudo yum install dnsdmasq-utils<br />
<br />
<br />
<br />
Run the helper script to get MySQL configured for use with openstack-nova. If <code>mysql-server</code> is not already installed, this script will install it for you.<br />
<br />
$> sudo openstack-nova-db-setup<br />
<br />
Similarly, run the helper script to get MySQL configured for use with openstack-glance.<br />
<br />
$> sudo openstack-glance-db-setup<br />
<br />
Nova requires the QPID messaging server to be running.<br />
<br />
$> sudo service qpidd start && sudo chkconfig qpidd on<br />
<br />
Nova requires the libvirtd server to be running:<br />
<br />
$> sudo service libvirtd start && sudo chkconfig libvirtd on<br />
<br />
Next, you should enable the Glance API and registry services:<br />
$> for svc in api registry; do sudo service openstack-glance-$svc start; sudo chkconfig openstack-glance-$svc on ; done<br />
<br />
<br />
The openstack-nova-volume service requires an LVM Volume Group called nova-volumes to exist. We simply create this using a loopback sparse disk image.<br />
<br />
$> sudo dd if=/dev/zero of=/var/lib/nova/nova-volumes.img bs=1M seek=20k count=0<br />
$> sudo vgcreate nova-volumes $(sudo losetup --show -f /var/lib/nova/nova-volumes.img)<br />
<br />
If you are testing OpenStack in a virtual machine, you need to configure nova to use qemu without KVM and hardware virtualization.<br />
The last 2 commands here work around a libvirt issue fixed in RHEL 6.4.<br />
Note nested virtualization will be the much slower TCG variety, and you should provide lots of memory to the top level guest,<br />
as the openstack created guests default to 2GM RAM with no overcommit.<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT libvirt_type qemu<br />
$> sudo ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64<br />
$> sudo service libvirtd restart<br />
<br />
Now you can start the various services:<br />
<br />
$> for svc in api objectstore compute network volume scheduler cert; do sudo service openstack-nova-$svc start ; sudo chkconfig openstack-nova-$svc on ; done<br />
<br />
<br />
Check that all the services started up correctly and look in the logs in <code>/var/log/nova</code> for errors. If there are none, then Nova is up and running!<br />
<br />
== Initial Keystone setup ==<br />
<br />
Keystone is the openstack identity service, providing a central place to<br />
set up openstack users, groups, and accounts that can be shared across all<br />
other services. This deprecates the old style user accounts manually set<br />
up with nova-manage.<br />
<br />
Setting up keystone is required for using the Openstack dashboard.<br />
<br />
* Configure the Keystone database, similar to how we do it for nova<br />
$> sudo openstack-keystone-db-setup<br />
<br />
* Set up a keystonerc file with a generated admin token and various passwords:<br />
$> cat > keystonerc <<EOF<br />
export ADMIN_TOKEN=$(openssl rand -hex 10)<br />
export OS_USERNAME=admin<br />
export OS_PASSWORD=verybadpass<br />
export OS_TENANT_NAME=admin<br />
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/<br />
EOF<br />
$> . ./keystonerc<br />
<br />
* Set the administrative token in the config file<br />
$> sudo openstack-config-set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN<br />
<br />
* Start and enable Keystone service<br />
$> sudo service openstack-keystone start && sudo chkconfig openstack-keystone on<br />
<br />
* Create sample Tenants, Users and Roles<br />
$> sudo ADMIN_PASSWORD=$OS_PASSWORD SERVICE_PASSWORD=servicepass openstack-keystone-sample-data<br />
<br />
* Test the Keystone CLI is working<br />
$> keystone user-list<br />
+----------------------------------+---------+-------------------+-------+<br />
| id | enabled | email | name |<br />
+----------------------------------+---------+-------------------+-------+<br />
| 05742d10109540d2892d17ec312a6cd9 | True | admin@example.com | admin |<br />
| 25fe47659d6a4255a663e6add1979d6c | True | admin@example.com | demo |<br />
+----------------------------------+---------+-------------------+-------+<br />
<br />
== Configure nova to use keystone ==<br />
<br />
* Change nova configuration to use keystone:<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_user nova<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT auth_strategy keystone<br />
$> sudo service openstack-nova-api restart<br />
<br />
* Verify that nova can talk with keystone (requires OS_* exports from previous keystone section)<br />
<br />
$> nova flavor-list<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| ID | Name | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Factor |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| 1 | m1.tiny | 512 | | 0 | 1 | 1.0 |<br />
| 2 | m1.small | 2048 | | 10 | 1 | 1.0 |<br />
| 3 | m1.medium | 4096 | | 10 | 2 | 1.0 |<br />
| 4 | m1.large | 8192 | | 10 | 4 | 1.0 |<br />
| 5 | m1.xlarge | 16384 | | 10 | 8 | 1.0 |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
<br />
== Configure glance to use keystone ==<br />
<br />
* Change glance configuration to use keystone:<br />
$> sudo openstack-config-set /etc/glance/glance-api.conf paste_deploy flavor keystone<br />
$> sudo openstack-config-set /etc/glance/glance-registry.conf paste_deploy flavor keystone<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo service openstack-glance-api restart<br />
$> sudo service openstack-glance-registry restart<br />
<br />
* Verify that glance can talk with keystone (requires OS_* exports from the previous keystone section)<br />
<br />
$> glance index<br />
<br />
== Nova Network Setup ==<br />
<br />
To create the network do:<br />
<br />
$> sudo nova-manage network create demonet 10.0.0.0/24 1 256 --bridge=demonetbr0<br />
<br />
NB the network range here, should *not* be the one used on your existing physical network. It should be a range dedicated for the network that OpenStack will configure. So if 10.0.0.0/24 clashes with your local network, pick another range<br />
<br />
== Register an Image ==<br />
<br />
To run an instance, you are going to need an image. There are prebuilt Fedora 16 JEOS (Just Enough OS) images that can be downloaded. <br />
Note this will download a 200MB image (without a progress bar)<br />
<br />
$> glance add name=f16-jeos is_public=true disk_format=qcow2 container_format=ovf \<br />
copy_from=http://berrange.fedorapeople.org/images/2012-02-29/f16-x86_64-openstack-sda.qcow2<br />
<br />
== Launch an Instance ==<br />
<br />
Create a keypair:<br />
<br />
$> nova keypair-add mykey > oskey.priv<br />
$> chmod 600 oskey.priv<br />
<br />
Modify key injection code:<br />
There is currently a mismatch between how various distributions expose volumes for mounting. The code that calls ''guestfs'' needs a tweak so that it works corectly for multiple Guest types.<br />
Edit the file /usr/lib/python2.6/site-packages/nova/virt/disk/guestfs.py, line 37, applying the following change:<br />
def mnt_dev(self):<br />
try:<br />
- partition = int(self.partition or 0)<br />
+ partition = -1<br />
except ValueError:<br />
self.error = _('unsupported partition: %s') % self.partition<br />
return False<br />
<br />
<br />
Launch an instance:<br />
<br />
$> nova boot myserver --flavor 2 --key_name mykey \<br />
--image $(glance index | grep f16-jeos | awk '{print $1}')<br />
<br />
And then observe the instance running, observe the KVM VM running and SSH into the instance:<br />
<br />
$> sudo virsh list<br />
$> nova list<br />
$> ssh -i oskey.priv ec2-user@10.0.0.2<br />
$> nova console-log myserver<br />
$> nova delete myserver<br />
<br />
== Configure the OpenStack Dashboard ==<br />
<br />
The OpenStack dashboard is the official web user interface for OpenStack. It should mostly work out of the box, as long as keystone has been configured properly.<br />
<br />
* Install the dashboard<br />
$> sudo yum install openstack-dashboard<br />
<br />
* Make sure httpd is running<br />
$> sudo service httpd restart<br />
$> sudo chkconfig httpd on<br />
<br />
* If selinux is enabled, you will have to allow httpd to access other network services (the dashboard talks to the http API of the other OpenStack services)<br />
$> sudo setsebool -P httpd_can_network_connect=on<br />
<br />
The dashboard should then be accessed with a web browser at http://localhost/dashboard . Account and password should be<br />
what you configured for the keystone setup.<br />
<br />
<br />
<br />
To open up the firewall ports for HTTP, edit /etc/sysconfig/iptables and add the following two lines:<br />
<br />
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT<br />
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT<br />
<br />
just before the line:<br />
<br />
-A INPUT -j REJECT --reject-with icmp-host-prohibited<br />
<br />
And restart iptables:<br />
>$ sudo service iptables restart<br />
<br />
<br />
== Configure swift with keystone ==<br />
These are the minimal steps required to setup a swift installation on RHEL which keystone authentication, this wouldn't be considered a working swift system but at the very least will provide you with a working swift API to test clients against, most notibly it doesn't include replication, multiple zones and loadbalancing<br />
<br />
Installing swift from epel-testing for now (the older one ignores the OS_* env variables)<br />
$> sudo yum install --enablerepo=epel-testing openstack-swift openstack-swift-proxy openstack-swift-account openstack-swift-container openstack-swift-object memcached<br />
<br />
Ensure the keystone env variables are still setup from the previous steps<br />
<br />
We need to create 5 configuration files<br />
<br />
$> cat > /tmp/swift.conf <<- EOF<br />
[swift-hash]<br />
swift_hash_path_suffix = randomestringchangeme<br />
EOF<br />
$> sudo mv /tmp/swift.conf /etc/swift/swift.conf<br />
<br />
$> cat > /tmp/proxy-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_port = 8080<br />
workers = 8<br />
user = swift<br />
[pipeline:main]<br />
pipeline = catch_errors healthcheck cache authtoken keystone proxy-server<br />
[app:proxy-server]<br />
use = egg:swift#proxy<br />
account_autocreate = true<br />
[filter:keystone]<br />
paste.filter_factory = keystone.middleware.swift_auth:filter_factory<br />
operator_roles = admin, swiftoperator<br />
[filter:authtoken]<br />
paste.filter_factory = keystone.middleware.auth_token:filter_factory<br />
auth_port = 35357<br />
auth_host = 127.0.0.1<br />
auth_protocol = http<br />
admin_token = ADMINTOKEN<br />
# ??? Are these needed?<br />
service_port = 5000<br />
service_host = 127.0.0.1<br />
service_protocol = http<br />
auth_token = ADMINTOKEN<br />
[filter:healthcheck]<br />
use = egg:swift#healthcheck<br />
[filter:cache]<br />
use = egg:swift#memcache<br />
memcache_servers = 127.0.0.1:11211<br />
[filter:catch_errors]<br />
use = egg:swift#catch_errors<br />
EOF<br />
$> sudo mv /tmp/proxy-server.conf /etc/swift/proxy-server.conf<br />
<br />
$> cat > /tmp/account-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = account-server<br />
[app:account-server]<br />
use = egg:swift#account<br />
[account-replicator]<br />
[account-auditor]<br />
[account-reaper]<br />
EOF<br />
$> sudo mv /tmp/account-server.conf /etc/swift/account-server.conf<br />
<br />
$> cat > /tmp/container-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = container-server<br />
[app:container-server]<br />
use = egg:swift#container<br />
[container-replicator]<br />
[container-updater]<br />
[container-auditor]<br />
EOF<br />
$> sudo mv /tmp/container-server.conf /etc/swift/container-server.conf<br />
<br />
$> cat > /tmp/object-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = object-server<br />
[app:object-server]<br />
use = egg:swift#object<br />
[object-replicator]<br />
[object-updater]<br />
[object-auditor]<br />
EOF<br />
$> sudo mv /tmp/object-server.conf /etc/swift/object-server.conf<br />
<br />
So that swift can authenticate tokens we need to set the keystone Admin token in the swift proxy file<br />
$> sudo openstack-config-set /etc/swift/proxy-server.conf filter:authtoken admin_token $ADMIN_TOKEN<br />
$> sudo openstack-config-set /etc/swift/proxy-server.conf filter:authtoken auth_token $ADMIN_TOKEN<br />
<br />
Create the stoage device for swift, these instructions use a loopback device but a physical devive or logical volume can be used<br />
$> truncate --size=20G /tmp/swiftstorage<br />
$> DEVICE=$(sudo losetup --show -f /tmp/swiftstorage)<br />
$> sudo mkfs.ext4 -I 1024 $DEVICE<br />
$> sudo mkdir -p /srv/node/partitions<br />
$> sudo mount $DEVICE /srv/node/partitions -t ext4 -o noatime,nodiratime,nobarrier,user_xattr<br />
<br />
$> cd /etc/swift<br />
<br />
Create the ring, with 1024 partitions (only suitable for a small test environment) and 1 zone<br />
$> sudo swift-ring-builder account.builder create 10 1 1<br />
$> sudo swift-ring-builder container.builder create 10 1 1<br />
$> sudo swift-ring-builder object.builder create 10 1 1<br />
<br />
Create a device for each of the account, container and object services<br />
$> sudo swift-ring-builder account.builder add z1-127.0.0.1:6002/partitions 100<br />
$> sudo swift-ring-builder container.builder add z1-127.0.0.1:6001/partitions 100<br />
$> sudo swift-ring-builder object.builder add z1-127.0.0.1:6000/partitions 100<br />
<br />
Rebalance the ring (allocates partitions to devices)<br />
$> sudo swift-ring-builder account.builder rebalance<br />
$> sudo swift-ring-builder container.builder rebalance<br />
$> sudo swift-ring-builder object.builder rebalance<br />
<br />
make sure swift owns appropriate files<br />
$> sudo chown -R swift:swift /etc/swift /srv/node/partitions<br />
<br />
Added the swift service and endpoint to keystone<br />
$> SERVICEID=$(keystone service-create --name=swift --type=object-store --description="Swift Service" | grep "id " | cut -d "|" -f 3)<br />
$> echo $SERVICEID # just making sure we got a SERVICEID<br />
$> keystone endpoint-create --service_id $SERVICEID --publicurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --adminurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --internalurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s"<br />
<br />
Start the services<br />
$> sudo service memcached start<br />
$> for srv in account container object proxy ; do sudo service openstack-swift-$srv start ; done<br />
<br />
Test the swift client and upload files<br />
$> swift list<br />
$> swift upload container /path/to/file<br />
<br />
= Additional Functionality =<br />
<br />
== Using Eucalyptus tools ==<br />
<br />
Set up a rc file for EC2 access (this expects a prior keystone configuration)<br />
<br />
$> . ./keystonerc<br />
$> USER_ID=$(keystone user-list | awk '/admin / {print $2}')<br />
$> ACCESS_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $4}')<br />
$> SECRET_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $6}')<br />
$> cat > novarc <<EOF<br />
export EC2_URL=http://localhost:8773/services/Cloud<br />
export EC2_ACCESS_KEY=$ACCESS_KEY<br />
export EC2_SECRET_KEY=$SECRET_KEY<br />
EOF<br />
$> chmod 600 novarc<br />
$> . ./novarc <br />
<br />
You should now be able to launch an image:<br />
<br />
$> euca-run-instances f16-jeos -k nova_key<br />
$> euca-describe-instances<br />
$> euca-get-console-output i-00000001<br />
$> euca-terminate-instances i-00000001<br />
<br />
== Images ==<br />
<br />
Rather than the prebuilt Fedora 16 JEOS image referenced above, there are other image options.<br />
<br />
# Building a Fedora 16 JEOS image using [http://aeolusproject.org/oz.html Oz]<br />
# Downloading ttylinux based minimal images used by OpenStack developers for testing<br />
<br />
=== Building Fedora 16 JEOS Images With Oz ===<br />
<br />
You can very easily build an image using Oz. First, make sure it's installed:<br />
<br />
$> sudo yum install /usr/bin/oz-install<br />
<br />
Create a template definition file called <code>f16-jeos.tdl</code> containing:<br />
<br />
<nowiki><br />
<template><br />
<name>fedora16_x86_64</name><br />
<description>My Fedora 16 x86_64 template</description><br />
<os><br />
<name>Fedora</name><br />
<version>16</version><br />
<arch>x86_64</arch><br />
<install type='url'><br />
<url>http://download.fedoraproject.org/pub/fedora/linux/releases/16/Fedora/x86_64/os/</url><br />
</install><br />
</os><br />
<commands><br />
<command name='setup-rc-local'><br />
sed -i 's/rhgb quiet/console=ttyS0/' /boot/grub/grub.conf<br />
<br />
cat >> /etc/rc.local &amp;lt;&amp;lt; EOF<br />
if [ ! -d /root/.ssh ]; then<br />
mkdir -p /root/.ssh<br />
chmod 700 /root/.ssh<br />
fi<br />
<br />
# Fetch public key using HTTP<br />
ATTEMPTS=10<br />
while [ ! -f /root/.ssh/authorized_keys ]; do<br />
curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/aws-key 2>/dev/null<br />
if [ \$? -eq 0 ]; then<br />
cat /tmp/aws-key >> /root/.ssh/authorized_keys<br />
chmod 0600 /root/.ssh/authorized_keys<br />
restorecon /root/.ssh/authorized_keys<br />
rm -f /tmp/aws-key<br />
echo "Successfully retrieved AWS public key from instance metadata"<br />
else<br />
FAILED=\$((\$FAILED + 1))<br />
if [ \$FAILED -ge \$ATTEMPTS ]; then<br />
echo "Failed to retrieve AWS public key after \$FAILED attempts, quitting"<br />
break<br />
fi<br />
echo "Could not retrieve AWS public key (attempt #\$FAILED/\$ATTEMPTS), retrying in 5 seconds..."<br />
sleep 5<br />
fi<br />
done<br />
EOF<br />
</command><br />
</commands><br />
</template><br />
</nowiki><br />
<br />
Then simply do:<br />
<br />
$> sudo oz-install -d4 -u f16-jeos.tdl<br />
<br />
Once built, you simply have to register the image with Nova:<br />
<br />
$> glance add name=f16-jeos is_public=true container_format=bare disk_format=raw < /var/lib/libvirt/images/fedora16_x86_64.dsk<br />
$> glance index<br />
<br />
The last command should return a list of the images registered with the Glance image registry.<br />
<br />
=== Downloading Existing Images ===<br />
<br />
If you don't need a functioning Fedora 16 and want the smallest possible images, just download this set of images commonly used by OpenStack developers for testing and register them with Nova:<br />
<br />
$> mkdir images<br />
$> cd images<br />
$> curl http://images.ansolabs.com/tty.tgz | tar xvfzo -<br />
$> glance add name=aki-tty disk_format=aki container_format=aki is_public=true < aki-tty/image<br />
$> glance add name=ami-tty disk_format=ami container_format=ami is_public=true < ami-tty/image<br />
$> glance add name=ari-tty disk_format=ari container_format=ari is_public=true < ari-tty/image<br />
<br />
Then to start the image:<br />
<br />
$> euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey<br />
<br />
== Volumes ==<br />
<br />
If you use the Chrome browser, kill it before embarking on this section, as it has been [https://bugzilla.redhat.com/show_bug.cgi?id=727925 known] to cause the lvcreate command to fail with 'incorrect semaphore state' errors.<br />
<br />
Start the SCSI target daemon<br />
<br />
$> sudo systemctl start tgtd.service<br />
$> sudo systemctl enable tgtd.service<br />
<br />
Create a new 1GB volume<br />
<br />
$> VOLUME=$(euca-create-volume -s 1 -z nova | awk '{print $2}')<br />
<br />
View the status of the new volume, and wait for it to become 'available'<br />
<br />
$> watch "euca-describe-volumes | grep $VOLUME | grep available"<br />
<br />
Re-run the previously terminated instance if necessary:<br />
<br />
$> INSTANCE=$(euca-run-instances f16-jeos -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
or:<br />
<br />
$> INSTANCE=$(euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
Make the storage available to the instance (note -d is the device on the compute node)<br />
<br />
$> euca-attach-volume -i $INSTANCE -d /dev/vdc $VOLUME<br />
<br />
ssh to the instance and verify that the vdc device is listed in /proc/partitions<br />
<br />
$> cat /proc/partitions<br />
<br />
Now make the device available if /dev/vdc is not already present<br />
<br />
$> mknod /dev/vdc b 252 32<br />
<br />
Create and mount a file system directly on the device<br />
<br />
$> mkfs.ext3 /dev/vdc<br />
$> mkdir /mnt/nova-volume<br />
$> mount /dev/vdc /mnt/nova-volume<br />
<br />
Display some file system details<br />
<br />
$> df -h /dev/vdc<br />
<br />
Create a temporary file:<br />
<br />
$> echo foo > /mnt/nova-volume/bar<br />
<br />
Terminate and re-run the instance, then re-attach the volume and re-mount within the instance as above. Your temporary file will have persisted:<br />
<br />
$> cat /mnt/nova-volume/bar<br />
<br />
Unmount the volume again:<br />
<br />
$> umount /mnt/nova-volume<br />
<br />
Exit from the ssh session, then detach and delete the volume:<br />
<br />
$> euca-detach-volume $VOLUME<br />
$> euca-delete-volume $VOLUME<br />
<br />
== Floating IPs ==<br />
<br />
You may carve out a block of public IPs and assign them to instances.<br />
<br />
First thing you need to do is make sure that nova is configured with the correct public network interface. The default is eth0, but you can change it by e.g.<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT public_interface em1<br />
$> sudo systemctl restart openstack-nova-network.service<br />
<br />
Then you can do e.g.<br />
<br />
$> sudo nova-manage floating create 172.31.0.224/28<br />
$> euca-allocate-address<br />
$> euca-associate-address -i i-00000012 172.31.0.224<br />
$> ssh -i nova_key.priv root@172.31.0.224<br />
$> euca-disassociate-address 172.31.0.224<br />
$> euca-release-address 172.31.0.224<br />
<br />
= Deployment =<br />
<br />
== Adding a Compute Node ==<br />
<br />
Okay, everything so far has been done on a single node. The next step is to add another node for running VMs.<br />
<br />
Let's assume the machine you've set up above is called 'controller' and the new machine is called 'node'.<br />
<br />
First, open the qpid, MySQL, Nova API and iSCSI ports on controller:<br />
<br />
$ controller> sudo lokkit -p 3306:tcp<br />
$ controller> sudo lokkit -p 5672:tcp<br />
$ controller> sudo lokkit -p 9292:tcp<br />
$ controller> sudo lokkit -p 3260:tcp<br />
$ controller> sudo service libvirtd reload<br />
<br />
Then make sure that ntp is enabled on both machines:<br />
<br />
$> sudo yum install -y ntp<br />
$> sudo service ntpd start<br />
$> sudo chkconfig ntpd on<br />
<br />
Install libvirt and nova on node:<br />
<br />
$ node> sudo yum install --enablerepo=updates-testing openstack-nova<br />
$ node> sudo service libvirtd start<br />
$ node> sudo chkconfig libvirtd on<br />
$ node> sudo setenforce 0<br />
<br />
Configure nova so that node can find the services on controller:<br />
<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT qpid_hostname controller<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@controller/nova<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT glance_api_servers controller:9292<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT iscsi_ip_prefix 172.31.0.107<br />
<br />
(The {{{iscsi_ip_prefix}}} value is the IP address of the controller node)<br />
<br />
Enable the compute service:<br />
<br />
$ node> for svc in compute network; do sudo service openstack-nova-$svc start; done<br />
<br />
Finally, you need to make sure the network is configured with a physical bridge interface:<br />
<br />
$ controller> sudo nova-manage network create demonet 10.0.0.0/24 --bridge=demonetbr0 --bridge_interface=em1<br />
<br />
Now everything should be running as before, except the VMs are launched either on controller or node.<br />
<br />
== Manual Setup of MySQL ==<br />
<br />
As of <code>openstack-nova-2011.3-9.el6</code> and <code>openstack-nova-2011.3-8.fc16</code>, <code>openstack-nova</code> is now set up to use MySQL by default. If you're updating an older installation or prefer to set up MySQL manually instead of using the <code>openstack-nova-db-setup</code> script, this section shows how to do it.<br />
<br />
First install and enable MySQL:<br />
<br />
$> sudo yum install -y mysql-server<br />
$> sudo service mysqld start<br />
$> sudo chkconfig mysqld on<br />
<br />
Set a password for the root account and delete the anonymous accounts:<br />
<br />
$> mysql -u root<br />
mysql> update mysql.user set password = password('iamroot') where user = 'root';<br />
mysql> <nowiki>delete from mysql.user where user = ''</nowiki>;<br />
<br />
Create a database and user account specifically for nova:<br />
<br />
mysql> create database nova;<br />
mysql> create user 'nova'@'localhost' identified by 'nova';<br />
mysql> create user 'nova'@'%' identified by 'nova';<br />
mysql> grant all on nova.* to 'nova'@'%';<br />
<br />
(If anyone can explain why nova@localhost is required even though the anonymous accounts have been deleted, I'd be very grateful :-)<br />
<br />
Then configure nova to use the DB and install the schema:<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@localhost/nova<br />
$> sudo nova-manage db sync<br />
<br />
As a final sanity check:<br />
<br />
$> mysql -u nova -p nova<br />
Enter password:<br />
mysql> select * from migrate_version;<br />
<br />
= Miscellaneous =<br />
<br />
== Smoke Tests ==<br />
<br />
Nova comes with a selection of fairly basic smoke tests which you can run against your installation. It can be useful to use these to sanity check your configuration.<br />
<br />
First off, you need the nova-adminclient python library which isn't yet packaged:<br />
<br />
$> sudo yum install python-pip<br />
$> sudo pip-python install nova-adminclient<br />
<br />
Then you need a user and project both named admin:<br />
<br />
$> sudo nova-manage user admin admin<br />
$> sudo nova-manage project create admin admin<br />
$> sudo nova-manage project zipfile admin admin<br />
$> unzip nova.zip<br />
$> . ./novarc<br />
<br />
Make sure you have the tty images imported as described above. You also need a block of floating IPs created, also as described above.<br />
<br />
Then, run the tests from a fedpkg checkout:<br />
<br />
$> fedpkg clone openstack-nova<br />
$> cd openstack-nova<br />
$> fedpkg switch-branch f16<br />
$> fedpkg prep<br />
$> cd nova-2011.3/smoketests<br />
$> python ./run_tests.py<br />
<br />
All the tests should pass.<br />
<br />
If you run into import errors such as:<br />
<br />
ImportError: No module named nose<br />
<br />
or:<br />
<br />
ImportError (No module named paramiko)<br />
<br />
simply install the missing dependency as follows:<br />
<br />
$> sudo yum install -y python-nose.noarch<br />
$> sudo yum install -y python-paramiko.noarch<br />
<br />
== Cleanup ==<br />
<br />
While testing OpenStack, you might want to delete everything related to OpenStack and start testing with a clean slate again.<br />
<br />
Here's how. First, make sure to terminate all running instances:<br />
<br />
$> euca-terminate-instances ...<br />
<br />
Double check that you have no lingering VMs, perhaps saved to disk:<br />
<br />
$> virsh list --all && virsh undefine<br />
$> rm -f /var/lib/libvirt/qemu/save/instance-00000*<br />
<br />
Then stop all the services:<br />
<br />
$> for iii in /usr/lib/systemd/system/openstack-*.service; do sudo systemctl stop $(basename $iii); done<br />
<br />
Delete all the packages:<br />
<br />
$> sudo yum erase python-glance python-nova* python-keystone* openstack-swift* memcached<br />
<br />
Delete the nova and keystone tables from the MySQL DB:<br />
<br />
$> mysql -u root -p -e 'drop database nova;'<br />
$> mysql -u root -p -e 'drop database keystone;'<br />
<br />
Delete the nova-volumes VG:<br />
<br />
$> sudo vgchange -an nova-volumes<br />
$> sudo losetup -d /dev/loop0<br />
$> sudo rm -f /var/lib/nova/nova-volumes.img<br />
<br />
Take down the bridge and kill dnsmasq:<br />
<br />
$> sudo ip link set demonetbr0 down<br />
$> sudo brctl delbr demonetbr0<br />
$> sudo kill -9 $(cat /var/lib/nova/networks/nova-demonetbr0.pid)<br />
<br />
Remove all directories left behind from the packages:<br />
<br />
$> sudo rm -rf /etc/{glance,nova,swift,keystone,openstack-dashboard} /var/lib/{glance,nova,swift,keystone} /var/log/{glance,nova,swift,keystone} /var/run/{glance,nova,swift,keystone}<br />
<br />
Remove swift storage device (if we don't want the data)<br />
$> sudo umount /srv/node/partitions<br />
$> sudo losetup -d $DEVICE<br />
$> rm /tmp/swiftstorage <br />
<br />
Finally, restart iptables to clear out all rules added by Nova. You also need to reload libvirt's iptables rules:<br />
<br />
$> sudo service iptables restart<br />
$> sudo service libvirtd restart<br />
<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Getting_started_with_OpenStack_EPEL&diff=285719Getting started with OpenStack EPEL2012-04-25T22:51:20Z<p>Derekh: </p>
<hr />
<div>= Basic Setup =<br />
<br />
These steps will setup OpenStack nova, glance, and keystone to be accessed by the OpenStack dashboard web UI on a single host, as well as launching our first instance (virtual machine).<br />
<br />
Many of the examples here require 'sudo' to be properly configured, please see [[Configuring Sudo]] if you need help.<br />
<br />
== Initial Installation ==<br />
<br />
$>wget http://pbrady.fedorapeople.org/openstack-el6/epel-openstack-preview.repo<br />
$>sudo mv epel-openstack-preview.repo /etc/yum.repos.d<br />
<br />
Note that until EPEL Django gets updated to 1.3 or later, dashboard will not install correctly.<br />
To test, use the RPM from <br />
$> wget http://kojipkgs.fedoraproject.org/packages/Django/1.3.1/1.el6/noarch/Django-1.3.1-1.el6.noarch.rpm<br />
<br />
First let's pull in OpenStack and some optional dependencies:<br />
<br />
$> sudo yum install openstack-nova openstack-glance openstack-keystone openstack-quantum \<br />
openstack-dashboard openstack-utils qpid-cpp-server python-paste-deploy python-routes<br />
<br />
Ensure auth=no is set in /etc/qpidd.conf<br />
<br />
Set selinux in permissive mode:<br />
>$ sudo setenforce permissive<br />
<br />
Otherwise you will get issues like https://bugzilla.redhat.com/show_bug.cgi?id=734346<br />
/usr/bin/nova-dhcpbridge: No such file or directory<br />
<br />
if RHEL 6.2 based<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT force_dhcp_release False<br />
else if RHEL 6.3 based<br />
$> sudo yum install dnsdmasq-utils<br />
<br />
<br />
<br />
Run the helper script to get MySQL configured for use with openstack-nova. If <code>mysql-server</code> is not already installed, this script will install it for you.<br />
<br />
$> sudo openstack-nova-db-setup<br />
<br />
Similarly, run the helper script to get MySQL configured for use with openstack-glance.<br />
<br />
$> sudo openstack-glance-db-setup<br />
<br />
Nova requires the QPID messaging server to be running.<br />
<br />
$> sudo service qpidd start && sudo chkconfig qpidd on<br />
<br />
Nova requires the libvirtd server to be running:<br />
<br />
$> sudo service libvirtd start && sudo chkconfig libvirtd on<br />
<br />
Next, you should enable the Glance API and registry services:<br />
$> for svc in api registry; do sudo service openstack-glance-$svc start; sudo chkconfig openstack-glance-$svc on ; done<br />
<br />
<br />
The openstack-nova-volume service requires an LVM Volume Group called nova-volumes to exist. We simply create this using a loopback sparse disk image.<br />
<br />
$> sudo dd if=/dev/zero of=/var/lib/nova/nova-volumes.img bs=1M seek=20k count=0<br />
$> sudo vgcreate nova-volumes $(sudo losetup --show -f /var/lib/nova/nova-volumes.img)<br />
<br />
If you are testing OpenStack in a virtual machine, you need to configure nova to use qemu without KVM and hardware virtualization.<br />
The last 2 commands here work around a libvirt issue fixed in RHEL 6.4.<br />
Note nested virtualization will be the much slower TCG variety, and you should provide lots of memory to the top level guest,<br />
as the openstack created guests default to 2GM RAM with no overcommit.<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT libvirt_type qemu<br />
$> sudo ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64<br />
$> service libvirtd restart<br />
<br />
Now you can start the various services:<br />
<br />
$> for svc in api objectstore compute network volume scheduler cert; do sudo service openstack-nova-$svc start ; sudo chkconfig openstack-nova-$svc on ; done<br />
<br />
<br />
Check that all the services started up correctly and look in the logs in <code>/var/log/nova</code> for errors. If there are none, then Nova is up and running!<br />
<br />
== Initial Keystone setup ==<br />
<br />
Keystone is the openstack identity service, providing a central place to<br />
set up openstack users, groups, and accounts that can be shared across all<br />
other services. This deprecates the old style user accounts manually set<br />
up with nova-manage.<br />
<br />
Setting up keystone is required for using the Openstack dashboard.<br />
<br />
* Configure the Keystone database, similar to how we do it for nova<br />
$> sudo openstack-keystone-db-setup<br />
<br />
* Set up a keystonerc file with a generated admin token and various passwords:<br />
$> cat > keystonerc <<EOF<br />
export ADMIN_TOKEN=$(openssl rand -hex 10)<br />
export OS_USERNAME=admin<br />
export OS_PASSWORD=verybadpass<br />
export OS_TENANT_NAME=admin<br />
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/<br />
EOF<br />
$> . ./keystonerc<br />
<br />
* Set the administrative token in the config file<br />
$> sudo openstack-config-set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN<br />
<br />
* Start and enable Keystone service<br />
$> sudo service openstack-keystone start && sudo chkconfig openstack-keystone on<br />
<br />
* Create sample Tenants, Users and Roles<br />
$> sudo ADMIN_PASSWORD=$OS_PASSWORD SERVICE_PASSWORD=servicepass openstack-keystone-sample-data<br />
<br />
* Test the Keystone CLI is working<br />
$> keystone user-list<br />
+----------------------------------+---------+-------------------+-------+<br />
| id | enabled | email | name |<br />
+----------------------------------+---------+-------------------+-------+<br />
| 05742d10109540d2892d17ec312a6cd9 | True | admin@example.com | admin |<br />
| 25fe47659d6a4255a663e6add1979d6c | True | admin@example.com | demo |<br />
+----------------------------------+---------+-------------------+-------+<br />
<br />
== Configure nova to use keystone ==<br />
<br />
* Change nova configuration to use keystone:<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_user nova<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT auth_strategy keystone<br />
$> sudo service openstack-nova-api restart<br />
<br />
* Verify that nova can talk with keystone (requires OS_* exports from previous keystone section)<br />
<br />
$> nova flavor-list<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| ID | Name | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Factor |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| 1 | m1.tiny | 512 | | 0 | 1 | 1.0 |<br />
| 2 | m1.small | 2048 | | 10 | 1 | 1.0 |<br />
| 3 | m1.medium | 4096 | | 10 | 2 | 1.0 |<br />
| 4 | m1.large | 8192 | | 10 | 4 | 1.0 |<br />
| 5 | m1.xlarge | 16384 | | 10 | 8 | 1.0 |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
<br />
== Configure glance to use keystone ==<br />
<br />
* Change glance configuration to use keystone:<br />
$> sudo openstack-config-set /etc/glance/glance-api.conf paste_deploy flavor keystone<br />
$> sudo openstack-config-set /etc/glance/glance-registry.conf paste_deploy flavor keystone<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo service openstack-glance-api restart<br />
$> sudo service openstack-glance-registry restart<br />
<br />
* Verify that glance can talk with keystone (requires OS_* exports from the previous keystone section)<br />
<br />
$> glance index<br />
<br />
== Nova Network Setup ==<br />
<br />
To create the network do:<br />
<br />
$> sudo nova-manage network create demonet 10.0.0.0/24 1 256 --bridge=demonetbr0<br />
<br />
NB the network range here, should *not* be the one used on your existing physical network. It should be a range dedicated for the network that OpenStack will configure. So if 10.0.0.0/24 clashes with your local network, pick another range<br />
<br />
== Register an Image ==<br />
<br />
To run an instance, you are going to need an image. There are prebuilt Fedora 16 JEOS (Just Enough OS) images that can be downloaded. <br />
Note this will download a 200MB image (without a progress bar)<br />
<br />
$> glance add name=f16-jeos is_public=true disk_format=qcow2 container_format=ovf \<br />
copy_from=http://berrange.fedorapeople.org/images/2012-02-29/f16-x86_64-openstack-sda.qcow2<br />
<br />
== Launch an Instance ==<br />
<br />
Create a keypair:<br />
<br />
$> nova keypair-add mykey > oskey.priv<br />
$> chmod 600 oskey.priv<br />
<br />
Modify key injection code:<br />
There is currently a mismatch between how various distributions expose volumes for mounting. The code that calls ''guestfs'' needs a tweak so that it works corectly for multiple Guest types. Edit the file <br />
/usr/lib/python2.6/site-packages/nova/virt/disk/guestfs.py, line 37, applying the following change:<br />
def mnt_dev(self):<br />
try:<br />
- partition = int(self.partition or 0)<br />
+ partition = -1<br />
except ValueError:<br />
self.error = _('unsupported partition: %s') % self.partition<br />
return False<br />
<br />
<br />
Launch an instance:<br />
<br />
$> nova boot myserver --flavor 2 --key_name mykey \<br />
--image $(glance index | grep f16-jeos | awk '{print $1}')<br />
<br />
And then observe the instance running, observe the KVM VM running and SSH into the instance:<br />
<br />
$> sudo virsh list<br />
$> nova list<br />
$> ssh -i oskey.priv ec2-user@10.0.0.2<br />
$> nova console-log myserver<br />
$> nova delete myserver<br />
<br />
== Configure the OpenStack Dashboard ==<br />
<br />
The OpenStack dashboard is the official web user interface for OpenStack. It should mostly work out of the box, as long as keystone has been configured properly.<br />
<br />
* Install the dashboard<br />
$> sudo yum install openstack-dashboard<br />
<br />
* Make sure httpd is running<br />
$> sudo service httpd restart<br />
$> sudo chkconfig httpd on<br />
<br />
* If selinux is enabled, you will have to allow httpd to access other network services (the dashboard talks to the http API of the other OpenStack services)<br />
$> sudo setsebool -P httpd_can_network_connect=on<br />
<br />
The dashboard should then be accessed with a web browser at http://localhost/dashboard . Account and password should be<br />
what you configured for the keystone setup.<br />
<br />
<br />
<br />
To open up the firewall ports for HTTP, edit /etc/sysconfig/iptables and add the following two lines:<br />
<br />
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT<br />
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT<br />
<br />
just before the line:<br />
<br />
-A INPUT -j REJECT --reject-with icmp-host-prohibited<br />
<br />
And restart iptables:<br />
>$ sudo service iptables restart<br />
<br />
<br />
== Configure swift with keystone ==<br />
These are the minimal steps required to setup a swift installation on RHEL which keystone authentication, this wouldn't be considered a working swift system but at the very least will provide you with a working swift API to test clients against, most notibly it doesn't include replication, multiple zones and loadbalancing<br />
<br />
Installing swift from epel-testing for now (the older one ignores the OS_* env variables)<br />
$> sudo yum install --enablerepo=epel-testing openstack-swift openstack-swift-proxy openstack-swift-account openstack-swift-container openstack-swift-object memcached<br />
<br />
Ensure the keystone env variables are still setup from the previous steps<br />
<br />
We need to create 5 configuration files<br />
<br />
$> cat > /tmp/swift.conf <<- EOF<br />
[swift-hash]<br />
swift_hash_path_suffix = randomestringchangeme<br />
EOF<br />
$> sudo mv /tmp/swift.conf /etc/swift/swift.conf<br />
<br />
$> cat > /tmp/proxy-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_port = 8080<br />
workers = 8<br />
user = swift<br />
[pipeline:main]<br />
pipeline = catch_errors healthcheck cache authtoken keystone proxy-server<br />
[app:proxy-server]<br />
use = egg:swift#proxy<br />
account_autocreate = true<br />
[filter:keystone]<br />
paste.filter_factory = keystone.middleware.swift_auth:filter_factory<br />
operator_roles = admin, swiftoperator<br />
[filter:authtoken]<br />
paste.filter_factory = keystone.middleware.auth_token:filter_factory<br />
auth_port = 35357<br />
auth_host = 127.0.0.1<br />
auth_protocol = http<br />
admin_token = ADMINTOKEN<br />
# ??? Are these needed?<br />
service_port = 5000<br />
service_host = 127.0.0.1<br />
service_protocol = http<br />
auth_token = ADMINTOKEN<br />
[filter:healthcheck]<br />
use = egg:swift#healthcheck<br />
[filter:cache]<br />
use = egg:swift#memcache<br />
memcache_servers = 127.0.0.1:11211<br />
[filter:catch_errors]<br />
use = egg:swift#catch_errors<br />
EOF<br />
$> sudo mv /tmp/proxy-server.conf /etc/swift/proxy-server.conf<br />
<br />
$> cat > /tmp/account-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = account-server<br />
[app:account-server]<br />
use = egg:swift#account<br />
[account-replicator]<br />
[account-auditor]<br />
[account-reaper]<br />
EOF<br />
$> sudo mv /tmp/account-server.conf /etc/swift/account-server.conf<br />
<br />
$> cat > /tmp/container-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = container-server<br />
[app:container-server]<br />
use = egg:swift#container<br />
[container-replicator]<br />
[container-updater]<br />
[container-auditor]<br />
EOF<br />
$> sudo mv /tmp/container-server.conf /etc/swift/container-server.conf<br />
<br />
$> cat > /tmp/object-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = object-server<br />
[app:object-server]<br />
use = egg:swift#object<br />
[object-replicator]<br />
[object-updater]<br />
[object-auditor]<br />
EOF<br />
$> sudo mv /tmp/object-server.conf /etc/swift/object-server.conf<br />
<br />
So that swift can authenticate tokens we need to set the keystone Admin token in the swift proxy file<br />
$> sudo openstack-config-set /etc/swift/proxy-server.conf filter:authtoken admin_token $ADMIN_TOKEN<br />
$> sudo openstack-config-set /etc/swift/proxy-server.conf filter:authtoken auth_token $ADMIN_TOKEN<br />
<br />
Create the stoage device for swift, these instructions use a loopback device but a physical devive or logical volume can be used<br />
$> truncate --size=20G /tmp/swiftstorage<br />
$> DEVICE=$(sudo losetup --show -f /tmp/swiftstorage)<br />
$> sudo mkfs.ext4 -I 1024 $DEVICE<br />
$> sudo mkdir -p /srv/node/partitions<br />
$> sudo mount $DEVICE /srv/node/partitions -t ext4 -o noatime,nodiratime,nobarrier,user_xattr<br />
<br />
$> cd /etc/swift<br />
<br />
Create the ring, with 1024 partitions (only suitable for a small test environment) and 1 zone<br />
$> sudo swift-ring-builder account.builder create 10 1 1<br />
$> sudo swift-ring-builder container.builder create 10 1 1<br />
$> sudo swift-ring-builder object.builder create 10 1 1<br />
<br />
Create a device for each of the account, container and object services<br />
$> sudo swift-ring-builder account.builder add z1-127.0.0.1:6002/partitions 100<br />
$> sudo swift-ring-builder container.builder add z1-127.0.0.1:6001/partitions 100<br />
$> sudo swift-ring-builder object.builder add z1-127.0.0.1:6000/partitions 100<br />
<br />
Rebalance the ring (allocates partitions to devices)<br />
$> sudo swift-ring-builder account.builder rebalance<br />
$> sudo swift-ring-builder container.builder rebalance<br />
$> sudo swift-ring-builder object.builder rebalance<br />
<br />
make sure swift owns appropriate files<br />
$> sudo chown -R swift:swift /etc/swift /srv/node/partitions<br />
<br />
Added the swift service and endpoint to keystone<br />
$> SERVICEID=$(keystone service-create --name=swift --type=object-store --description="Swift Service" | grep "id " | cut -d "|" -f 3)<br />
$> echo $SERVICEID # just making sure we got a SERVICEID<br />
$> keystone endpoint-create --service_id $SERVICEID --publicurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --adminurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --internalurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s"<br />
<br />
Start the services<br />
$> sudo service memcached start<br />
$> for srv in account container object proxy ; do sudo service openstack-swift-$srv start ; done<br />
<br />
Test the swift client and upload files<br />
$> swift list<br />
$> swift upload container /path/to/file<br />
<br />
= Additional Functionality =<br />
<br />
== Using Eucalyptus tools ==<br />
<br />
Set up a rc file for EC2 access (this expects a prior keystone configuration)<br />
<br />
$> . ./keystonerc<br />
$> USER_ID=$(keystone user-list | awk '/admin / {print $2}')<br />
$> ACCESS_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $4}')<br />
$> SECRET_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $6}')<br />
$> cat > novarc <<EOF<br />
export EC2_URL=http://localhost:8773/services/Cloud<br />
export EC2_ACCESS_KEY=$ACCESS_KEY<br />
export EC2_SECRET_KEY=$SECRET_KEY<br />
EOF<br />
$> chmod 600 novarc<br />
$> . ./novarc <br />
<br />
You should now be able to launch an image:<br />
<br />
$> euca-run-instances f16-jeos -k nova_key<br />
$> euca-describe-instances<br />
$> euca-get-console-output i-00000001<br />
$> euca-terminate-instances i-00000001<br />
<br />
== Images ==<br />
<br />
Rather than the prebuilt Fedora 16 JEOS image referenced above, there are other image options.<br />
<br />
# Building a Fedora 16 JEOS image using [http://aeolusproject.org/oz.html Oz]<br />
# Downloading ttylinux based minimal images used by OpenStack developers for testing<br />
<br />
=== Building Fedora 16 JEOS Images With Oz ===<br />
<br />
You can very easily build an image using Oz. First, make sure it's installed:<br />
<br />
$> sudo yum install /usr/bin/oz-install<br />
<br />
Create a template definition file called <code>f16-jeos.tdl</code> containing:<br />
<br />
<nowiki><br />
<template><br />
<name>fedora16_x86_64</name><br />
<description>My Fedora 16 x86_64 template</description><br />
<os><br />
<name>Fedora</name><br />
<version>16</version><br />
<arch>x86_64</arch><br />
<install type='url'><br />
<url>http://download.fedoraproject.org/pub/fedora/linux/releases/16/Fedora/x86_64/os/</url><br />
</install><br />
</os><br />
<commands><br />
<command name='setup-rc-local'><br />
sed -i 's/rhgb quiet/console=ttyS0/' /boot/grub/grub.conf<br />
<br />
cat >> /etc/rc.local &amp;lt;&amp;lt; EOF<br />
if [ ! -d /root/.ssh ]; then<br />
mkdir -p /root/.ssh<br />
chmod 700 /root/.ssh<br />
fi<br />
<br />
# Fetch public key using HTTP<br />
ATTEMPTS=10<br />
while [ ! -f /root/.ssh/authorized_keys ]; do<br />
curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/aws-key 2>/dev/null<br />
if [ \$? -eq 0 ]; then<br />
cat /tmp/aws-key >> /root/.ssh/authorized_keys<br />
chmod 0600 /root/.ssh/authorized_keys<br />
restorecon /root/.ssh/authorized_keys<br />
rm -f /tmp/aws-key<br />
echo "Successfully retrieved AWS public key from instance metadata"<br />
else<br />
FAILED=\$((\$FAILED + 1))<br />
if [ \$FAILED -ge \$ATTEMPTS ]; then<br />
echo "Failed to retrieve AWS public key after \$FAILED attempts, quitting"<br />
break<br />
fi<br />
echo "Could not retrieve AWS public key (attempt #\$FAILED/\$ATTEMPTS), retrying in 5 seconds..."<br />
sleep 5<br />
fi<br />
done<br />
EOF<br />
</command><br />
</commands><br />
</template><br />
</nowiki><br />
<br />
Then simply do:<br />
<br />
$> sudo oz-install -d4 -u f16-jeos.tdl<br />
<br />
Once built, you simply have to register the image with Nova:<br />
<br />
$> glance add name=f16-jeos is_public=true container_format=bare disk_format=raw < /var/lib/libvirt/images/fedora16_x86_64.dsk<br />
$> glance index<br />
<br />
The last command should return a list of the images registered with the Glance image registry.<br />
<br />
=== Downloading Existing Images ===<br />
<br />
If you don't need a functioning Fedora 16 and want the smallest possible images, just download this set of images commonly used by OpenStack developers for testing and register them with Nova:<br />
<br />
$> mkdir images<br />
$> cd images<br />
$> curl http://images.ansolabs.com/tty.tgz | tar xvfzo -<br />
$> glance add name=aki-tty disk_format=aki container_format=aki is_public=true < aki-tty/image<br />
$> glance add name=ami-tty disk_format=ami container_format=ami is_public=true < ami-tty/image<br />
$> glance add name=ari-tty disk_format=ari container_format=ari is_public=true < ari-tty/image<br />
<br />
Then to start the image:<br />
<br />
$> euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey<br />
<br />
== Volumes ==<br />
<br />
If you use the Chrome browser, kill it before embarking on this section, as it has been [https://bugzilla.redhat.com/show_bug.cgi?id=727925 known] to cause the lvcreate command to fail with 'incorrect semaphore state' errors.<br />
<br />
Start the SCSI target daemon<br />
<br />
$> sudo systemctl start tgtd.service<br />
$> sudo systemctl enable tgtd.service<br />
<br />
Create a new 1GB volume<br />
<br />
$> VOLUME=$(euca-create-volume -s 1 -z nova | awk '{print $2}')<br />
<br />
View the status of the new volume, and wait for it to become 'available'<br />
<br />
$> watch "euca-describe-volumes | grep $VOLUME | grep available"<br />
<br />
Re-run the previously terminated instance if necessary:<br />
<br />
$> INSTANCE=$(euca-run-instances f16-jeos -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
or:<br />
<br />
$> INSTANCE=$(euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
Make the storage available to the instance (note -d is the device on the compute node)<br />
<br />
$> euca-attach-volume -i $INSTANCE -d /dev/vdc $VOLUME<br />
<br />
ssh to the instance and verify that the vdc device is listed in /proc/partitions<br />
<br />
$> cat /proc/partitions<br />
<br />
Now make the device available if /dev/vdc is not already present<br />
<br />
$> mknod /dev/vdc b 252 32<br />
<br />
Create and mount a file system directly on the device<br />
<br />
$> mkfs.ext3 /dev/vdc<br />
$> mkdir /mnt/nova-volume<br />
$> mount /dev/vdc /mnt/nova-volume<br />
<br />
Display some file system details<br />
<br />
$> df -h /dev/vdc<br />
<br />
Create a temporary file:<br />
<br />
$> echo foo > /mnt/nova-volume/bar<br />
<br />
Terminate and re-run the instance, then re-attach the volume and re-mount within the instance as above. Your temporary file will have persisted:<br />
<br />
$> cat /mnt/nova-volume/bar<br />
<br />
Unmount the volume again:<br />
<br />
$> umount /mnt/nova-volume<br />
<br />
Exit from the ssh session, then detach and delete the volume:<br />
<br />
$> euca-detach-volume $VOLUME<br />
$> euca-delete-volume $VOLUME<br />
<br />
== Floating IPs ==<br />
<br />
You may carve out a block of public IPs and assign them to instances.<br />
<br />
First thing you need to do is make sure that nova is configured with the correct public network interface. The default is eth0, but you can change it by e.g.<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT public_interface em1<br />
$> sudo systemctl restart openstack-nova-network.service<br />
<br />
Then you can do e.g.<br />
<br />
$> sudo nova-manage floating create 172.31.0.224/28<br />
$> euca-allocate-address<br />
$> euca-associate-address -i i-00000012 172.31.0.224<br />
$> ssh -i nova_key.priv root@172.31.0.224<br />
$> euca-disassociate-address 172.31.0.224<br />
$> euca-release-address 172.31.0.224<br />
<br />
= Deployment =<br />
<br />
== Adding a Compute Node ==<br />
<br />
Okay, everything so far has been done on a single node. The next step is to add another node for running VMs.<br />
<br />
Let's assume the machine you've set up above is called 'controller' and the new machine is called 'node'.<br />
<br />
First, open the qpid, MySQL, Nova API and iSCSI ports on controller:<br />
<br />
$ controller> sudo lokkit -p 3306:tcp<br />
$ controller> sudo lokkit -p 5672:tcp<br />
$ controller> sudo lokkit -p 9292:tcp<br />
$ controller> sudo lokkit -p 3260:tcp<br />
$ controller> sudo service libvirtd reload<br />
<br />
Then make sure that ntp is enabled on both machines:<br />
<br />
$> sudo yum install -y ntp<br />
$> sudo service ntpd start<br />
$> sudo chkconfig ntpd on<br />
<br />
Install libvirt and nova on node:<br />
<br />
$ node> sudo yum install --enablerepo=updates-testing openstack-nova<br />
$ node> sudo service libvirtd start<br />
$ node> sudo chkconfig libvirtd on<br />
$ node> sudo setenforce 0<br />
<br />
Configure nova so that node can find the services on controller:<br />
<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT qpid_hostname controller<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@controller/nova<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT glance_api_servers controller:9292<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT iscsi_ip_prefix 172.31.0.107<br />
<br />
(The {{{iscsi_ip_prefix}}} value is the IP address of the controller node)<br />
<br />
Enable the compute service:<br />
<br />
$ node> for svc in compute network; do sudo service openstack-nova-$svc start; done<br />
<br />
Finally, you need to make sure the network is configured with a physical bridge interface:<br />
<br />
$ controller> sudo nova-manage network create demonet 10.0.0.0/24 --bridge=demonetbr0 --bridge_interface=em1<br />
<br />
Now everything should be running as before, except the VMs are launched either on controller or node.<br />
<br />
== Manual Setup of MySQL ==<br />
<br />
As of <code>openstack-nova-2011.3-9.el6</code> and <code>openstack-nova-2011.3-8.fc16</code>, <code>openstack-nova</code> is now set up to use MySQL by default. If you're updating an older installation or prefer to set up MySQL manually instead of using the <code>openstack-nova-db-setup</code> script, this section shows how to do it.<br />
<br />
First install and enable MySQL:<br />
<br />
$> sudo yum install -y mysql-server<br />
$> sudo service mysqld start<br />
$> sudo chkconfig mysqld on<br />
<br />
Set a password for the root account and delete the anonymous accounts:<br />
<br />
$> mysql -u root<br />
mysql> update mysql.user set password = password('iamroot') where user = 'root';<br />
mysql> <nowiki>delete from mysql.user where user = ''</nowiki>;<br />
<br />
Create a database and user account specifically for nova:<br />
<br />
mysql> create database nova;<br />
mysql> create user 'nova'@'localhost' identified by 'nova';<br />
mysql> create user 'nova'@'%' identified by 'nova';<br />
mysql> grant all on nova.* to 'nova'@'%';<br />
<br />
(If anyone can explain why nova@localhost is required even though the anonymous accounts have been deleted, I'd be very grateful :-)<br />
<br />
Then configure nova to use the DB and install the schema:<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@localhost/nova<br />
$> sudo nova-manage db sync<br />
<br />
As a final sanity check:<br />
<br />
$> mysql -u nova -p nova<br />
Enter password:<br />
mysql> select * from migrate_version;<br />
<br />
= Miscellaneous =<br />
<br />
== Smoke Tests ==<br />
<br />
Nova comes with a selection of fairly basic smoke tests which you can run against your installation. It can be useful to use these to sanity check your configuration.<br />
<br />
First off, you need the nova-adminclient python library which isn't yet packaged:<br />
<br />
$> sudo yum install python-pip<br />
$> sudo pip-python install nova-adminclient<br />
<br />
Then you need a user and project both named admin:<br />
<br />
$> sudo nova-manage user admin admin<br />
$> sudo nova-manage project create admin admin<br />
$> sudo nova-manage project zipfile admin admin<br />
$> unzip nova.zip<br />
$> . ./novarc<br />
<br />
Make sure you have the tty images imported as described above. You also need a block of floating IPs created, also as described above.<br />
<br />
Then, run the tests from a fedpkg checkout:<br />
<br />
$> fedpkg clone openstack-nova<br />
$> cd openstack-nova<br />
$> fedpkg switch-branch f16<br />
$> fedpkg prep<br />
$> cd nova-2011.3/smoketests<br />
$> python ./run_tests.py<br />
<br />
All the tests should pass.<br />
<br />
If you run into import errors such as:<br />
<br />
ImportError: No module named nose<br />
<br />
or:<br />
<br />
ImportError (No module named paramiko)<br />
<br />
simply install the missing dependency as follows:<br />
<br />
$> sudo yum install -y python-nose.noarch<br />
$> sudo yum install -y python-paramiko.noarch<br />
<br />
== Cleanup ==<br />
<br />
While testing OpenStack, you might want to delete everything related to OpenStack and start testing with a clean slate again.<br />
<br />
Here's how. First, make sure to terminate all running instances:<br />
<br />
$> euca-terminate-instances ...<br />
<br />
Double check that you have no lingering VMs, perhaps saved to disk:<br />
<br />
$> virsh list --all && virsh undefine<br />
$> rm -f /var/lib/libvirt/qemu/save/instance-00000*<br />
<br />
Then stop all the services:<br />
<br />
$> for iii in /usr/lib/systemd/system/openstack-*.service; do sudo systemctl stop $(basename $iii); done<br />
<br />
Delete all the packages:<br />
<br />
$> sudo yum erase python-glance python-nova* python-keystone* openstack-swift* memcached<br />
<br />
Delete the nova and keystone tables from the MySQL DB:<br />
<br />
$> mysql -u root -p -e 'drop database nova;'<br />
$> mysql -u root -p -e 'drop database keystone;'<br />
<br />
Delete the nova-volumes VG:<br />
<br />
$> sudo vgchange -an nova-volumes<br />
$> sudo losetup -d /dev/loop0<br />
$> sudo rm -f /var/lib/nova/nova-volumes.img<br />
<br />
Take down the bridge and kill dnsmasq:<br />
<br />
$> sudo ip link set demonetbr0 down<br />
$> sudo brctl delbr demonetbr0<br />
$> sudo kill -9 $(cat /var/lib/nova/networks/nova-demonetbr0.pid)<br />
<br />
Remove all directories left behind from the packages:<br />
<br />
$> sudo rm -rf /etc/{glance,nova,swift,keystone,openstack-dashboard} /var/lib/{glance,nova,swift,keystone} /var/log/{glance,nova,swift,keystone} /var/run/{glance,nova,swift,keystone}<br />
<br />
Remove swift storage device (if we don't want the data)<br />
$> sudo umount /srv/node/partitions<br />
$> sudo losetup -d $DEVICE<br />
$> rm /tmp/swiftstorage <br />
<br />
Finally, restart iptables to clear out all rules added by Nova. You also need to reload libvirt's iptables rules:<br />
<br />
$> sudo service iptables restart<br />
$> sudo service libvirtd restart<br />
<br />
[[Category:OpenStack]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Getting_started_with_OpenStack_EPEL&diff=285089Getting started with OpenStack EPEL2012-04-19T17:12:46Z<p>Derekh: </p>
<hr />
<div>= Basic Setup =<br />
<br />
These steps will setup OpenStack nova, glance, and keystone to be accessed by the OpenStack dashboard web UI on a single host, as well as launching our first instance (virtual machine).<br />
<br />
Many of the examples here require 'sudo' to be properly configured, please see [[Configuring Sudo]] if you need help.<br />
<br />
== Initial Installation ==<br />
<br />
$>wget http://pbrady.fedorapeople.org/openstack-el6/epel-openstack-preview.repo<br />
$>sudo mv epel-openstack-preview.repo /etc/yum.repos.d<br />
<br />
Note that until EPEL Django gets updated to 1.3 or later, dashboard will not install correctly.<br />
To test, use the RPM from <br />
$> wget http://kojipkgs.fedoraproject.org/packages/Django/1.3.1/1.el6/noarch/Django-1.3.1-1.el6.noarch.rpm<br />
<br />
First let's pull in OpenStack and some optional dependencies:<br />
<br />
$> sudo yum install openstack-nova openstack-glance openstack-keystone openstack-quantum \<br />
openstack-dashboard openstack-utils qpid-cpp-server python-paste-deploy python-routes<br />
<br />
Ensure auth=no is set in /etc/qpidd.conf<br />
<br />
Set selinux in permissive mode:<br />
>$ sudo setenforce permissive<br />
<br />
Otherwise you will get issues like https://bugzilla.redhat.com/show_bug.cgi?id=734346<br />
/usr/bin/nova-dhcpbridge: No such file or directory<br />
<br />
if RHEL 6.2 based<br />
$> sudo openstack-config --set /etc/nova/nova.conf DEFAULT force_dhcp_release False<br />
else if RHEL 6.3 based<br />
$> sudo yum install dnsdmasq-utils<br />
<br />
<br />
<br />
Run the helper script to get MySQL configured for use with openstack-nova. If <code>mysql-server</code> is not already installed, this script will install it for you.<br />
<br />
$> sudo openstack-nova-db-setup<br />
<br />
Similarly, run the helper script to get MySQL configured for use with openstack-glance.<br />
<br />
$> sudo openstack-glance-db-setup<br />
<br />
Nova requires the QPID messaging server to be running.<br />
<br />
$> sudo service qpidd start && sudo chkconfig qpidd on<br />
<br />
Nova requires the libvirtd server to be running:<br />
<br />
$> sudo service libvirtd start && sudo chkconfig libvirtd on<br />
<br />
Next, you should enable the Glance API and registry services:<br />
$> for svc in api registry; do sudo service openstack-glance-$svc start; sudo chkconfig openstack-glance-$svc on ; done<br />
<br />
<br />
The openstack-nova-volume service requires an LVM Volume Group called nova-volumes to exist. We simply create this using a loopback sparse disk image.<br />
<br />
$> sudo dd if=/dev/zero of=/var/lib/nova/nova-volumes.img bs=1M seek=20k count=0<br />
$> sudo vgcreate nova-volumes $(sudo losetup --show -f /var/lib/nova/nova-volumes.img)<br />
<br />
If you are testing OpenStack in a virtual machine, you need to configure nova to use qemu without KVM and hardware virtualization.<br />
The last 2 commands here work around a libvirt issue fixed in RHEL 6.4.<br />
Note nested virtualization will be the much slower TCG variety, and you should provide lots of memory to the top level guest,<br />
as the openstack created guests default to 2GM RAM with no overcommit.<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT libvirt_type qemu<br />
$> sudo ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64<br />
$> service libvirtd restart<br />
<br />
Now you can start the various services:<br />
<br />
$> for svc in api objectstore compute network volume scheduler cert; do sudo service openstack-nova-$svc start ; sudo chkconfig openstack-nova-$svc on ; done<br />
<br />
<br />
Check that all the services started up correctly and look in the logs in <code>/var/log/nova</code> for errors. If there are none, then Nova is up and running!<br />
<br />
== Initial Keystone setup ==<br />
<br />
Keystone is the openstack identity service, providing a central place to<br />
set up openstack users, groups, and accounts that can be shared across all<br />
other services. This deprecates the old style user accounts manually set<br />
up with nova-manage.<br />
<br />
Setting up keystone is required for using the Openstack dashboard.<br />
<br />
* Configure the Keystone database, similar to how we do it for nova<br />
$> sudo openstack-keystone-db-setup<br />
<br />
* Set up a keystonerc file with a generated admin token and various passwords:<br />
$> cat > keystonerc <<EOF<br />
export ADMIN_TOKEN=$(openssl rand -hex 10)<br />
export OS_USERNAME=admin<br />
export OS_PASSWORD=verybadpass<br />
export OS_TENANT_NAME=admin<br />
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/<br />
EOF<br />
$> . ./keystonerc<br />
<br />
* Set the administrative token in the config file<br />
$> sudo openstack-config-set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN<br />
<br />
* Start and enable Keystone service<br />
$> sudo service openstack-keystone start && sudo chkconfig openstack-keystone on<br />
<br />
* Create sample Tenants, Users and Roles<br />
$> sudo ADMIN_PASSWORD=$OS_PASSWORD SERVICE_PASSWORD=servicepass openstack-keystone-sample-data<br />
<br />
* Test the Keystone CLI is working<br />
$> keystone user-list<br />
+----------------------------------+---------+-------------------+-------+<br />
| id | enabled | email | name |<br />
+----------------------------------+---------+-------------------+-------+<br />
| 05742d10109540d2892d17ec312a6cd9 | True | admin@example.com | admin |<br />
| 25fe47659d6a4255a663e6add1979d6c | True | admin@example.com | demo |<br />
+----------------------------------+---------+-------------------+-------+<br />
<br />
== Configure nova to use keystone ==<br />
<br />
* Change nova configuration to use keystone:<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_user nova<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT auth_strategy keystone<br />
$> sudo service openstack-nova-api restart<br />
<br />
* Verify that nova can talk with keystone (requires OS_* exports from previous keystone section)<br />
<br />
$> nova flavor-list<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| ID | Name | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Factor |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| 1 | m1.tiny | 512 | | 0 | 1 | 1.0 |<br />
| 2 | m1.small | 2048 | | 10 | 1 | 1.0 |<br />
| 3 | m1.medium | 4096 | | 10 | 2 | 1.0 |<br />
| 4 | m1.large | 8192 | | 10 | 4 | 1.0 |<br />
| 5 | m1.xlarge | 16384 | | 10 | 8 | 1.0 |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
<br />
== Configure glance to use keystone ==<br />
<br />
* Change glance configuration to use keystone:<br />
$> sudo openstack-config-set /etc/glance/glance-api.conf paste_deploy flavor keystone<br />
$> sudo openstack-config-set /etc/glance/glance-registry.conf paste_deploy flavor keystone<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_tenant_name service<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_user glance<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_password servicepass<br />
$> sudo service openstack-glance-api restart<br />
$> sudo service openstack-glance-registry restart<br />
<br />
* Verify that glance can talk with keystone (requires OS_* exports from the previous keystone section)<br />
<br />
$> glance index<br />
<br />
== Nova Network Setup ==<br />
<br />
To create the network do:<br />
<br />
$> sudo nova-manage network create demonet 10.0.0.0/24 1 256 --bridge=demonetbr0<br />
<br />
NB the network range here, should *not* be the one used on your existing physical network. It should be a range dedicated for the network that OpenStack will configure. So if 10.0.0.0/24 clashes with your local network, pick another range<br />
<br />
== Register an Image ==<br />
<br />
To run an instance, you are going to need an image. There are prebuilt Fedora 16 JEOS (Just Enough OS) images that can be downloaded. <br />
Note this will download a 200MB image (without a progress bar)<br />
<br />
$> glance add name=f16-jeos is_public=true disk_format=qcow2 container_format=ovf \<br />
copy_from=http://berrange.fedorapeople.org/images/2012-02-29/f16-x86_64-openstack-sda.qcow2<br />
<br />
== Launch an Instance ==<br />
<br />
Create a keypair:<br />
<br />
$> nova keypair-add mykey > oskey.priv<br />
$> chmod 600 oskey.priv<br />
<br />
Modify key injection code:<br />
There is currently a mismatch between how various distributions expose volumes for mounting. The code that calls ''guestfs'' needs a tweak so that it works corectly for multiple Guest types. Edit the file <br />
/usr/lib/python2.6/site-packages/nova/virt/disk/guestfs.py, line 37, applying the following change:<br />
def mnt_dev(self):<br />
try:<br />
- partition = int(self.partition or 0)<br />
+ partition = -1<br />
except ValueError:<br />
self.error = _('unsupported partition: %s') % self.partition<br />
return False<br />
<br />
<br />
Launch an instance:<br />
<br />
$> nova boot myserver --flavor 2 --key_name mykey \<br />
--image $(glance index | grep f16-jeos | awk '{print $1}')<br />
<br />
And then observe the instance running, observe the KVM VM running and SSH into the instance:<br />
<br />
$> sudo virsh list<br />
$> nova list<br />
$> ssh -i oskey.priv ec2-user@10.0.0.2<br />
$> nova console-log myserver<br />
$> nova delete myserver<br />
<br />
== Configure the OpenStack Dashboard ==<br />
<br />
The OpenStack dashboard is the official web user interface for OpenStack. It should mostly work out of the box, as long as keystone has been configured properly.<br />
<br />
* Install the dashboard<br />
$> sudo yum install openstack-dashboard<br />
<br />
* Make sure httpd is running<br />
$> sudo service httpd restart<br />
$> sudo chkconfig httpd on<br />
<br />
* If selinux is enabled, you will have to allow httpd to access other network services (the dashboard talks to the http API of the other OpenStack services)<br />
$> sudo setsebool -P httpd_can_network_connect=on<br />
<br />
The dashboard should then be accessed with a web browser at http://localhost/dashboard . Account and password should be<br />
what you configured for the keystone setup.<br />
<br />
<br />
<br />
To open up the firewall ports for HTTP, edit /etc/sysconfig/iptables and add the following two lines:<br />
<br />
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT<br />
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT<br />
<br />
just before the line:<br />
<br />
-A INPUT -j REJECT --reject-with icmp-host-prohibited<br />
<br />
And restart iptables:<br />
>$ sudo service iptables restart<br />
<br />
<br />
== Configure swift with keystone ==<br />
These are the minimal steps required to setup a swift installation on RHEL which keystone authentication, this wouldn't be considered a working swift system but at the very least will provide you with a working swift API to test clients against, most notibly it doesn't include replication, multiple zones and loadbalancing<br />
<br />
Installing swift from epel-testing for now (the older one ignores the OS_* env variables)<br />
$> sudo yum install --enablerepo=epel-testing openstack-swift openstack-swift-proxy openstack-swift-account openstack-swift-container openstack-swift-object memcached<br />
<br />
Ensure the keystone env variables are still setup from the previous steps<br />
<br />
We need to create 5 configuration files<br />
<br />
$> cat > /tmp/swift.conf <<- EOF<br />
[swift-hash]<br />
swift_hash_path_suffix = randomestringchangeme<br />
EOF<br />
$> sudo mv /tmp/swift.conf /etc/swift/swift.conf<br />
<br />
$> cat > /tmp/proxy-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_port = 8080<br />
workers = 8<br />
user = swift<br />
[pipeline:main]<br />
pipeline = catch_errors healthcheck cache authtoken keystone proxy-server<br />
[app:proxy-server]<br />
use = egg:swift#proxy<br />
account_autocreate = true<br />
[filter:keystone]<br />
paste.filter_factory = keystone.middleware.swift_auth:filter_factory<br />
operator_roles = admin, swiftoperator<br />
[filter:authtoken]<br />
paste.filter_factory = keystone.middleware.auth_token:filter_factory<br />
auth_port = 35357<br />
auth_host = 127.0.0.1<br />
auth_protocol = http<br />
admin_token = ADMINTOKEN<br />
# ??? Are these needed?<br />
service_port = 5000<br />
service_host = 127.0.0.1<br />
service_protocol = http<br />
auth_token = ADMINTOKEN<br />
[filter:healthcheck]<br />
use = egg:swift#healthcheck<br />
[filter:cache]<br />
use = egg:swift#memcache<br />
memcache_servers = 127.0.0.1:11211<br />
[filter:catch_errors]<br />
use = egg:swift#catch_errors<br />
EOF<br />
$> sudo mv /tmp/proxy-server.conf /etc/swift/proxy-server.conf<br />
<br />
$> cat > /tmp/account-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = account-server<br />
[app:account-server]<br />
use = egg:swift#account<br />
[account-replicator]<br />
[account-auditor]<br />
[account-reaper]<br />
EOF<br />
$> sudo mv /tmp/account-server.conf /etc/swift/account-server.conf<br />
<br />
$> cat > /tmp/container-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = container-server<br />
[app:container-server]<br />
use = egg:swift#container<br />
[container-replicator]<br />
[container-updater]<br />
[container-auditor]<br />
EOF<br />
$> sudo mv /tmp/container-server.conf /etc/swift/container-server.conf<br />
<br />
$> cat > /tmp/object-server.conf <<- EOF<br />
[DEFAULT]<br />
bind_ip = 127.0.0.1<br />
workers = 2<br />
[pipeline:main]<br />
pipeline = object-server<br />
[app:object-server]<br />
use = egg:swift#object<br />
[object-replicator]<br />
[object-updater]<br />
[object-auditor]<br />
EOF<br />
$> sudo mv /tmp/object-server.conf /etc/swift/object-server.conf<br />
<br />
So that swift can authenticate tokens we need to set the keystone Admin token in the swift proxy file<br />
$> sudo openstack-config-set /etc/swift/proxy-server.conf filter:authtoken admin_token $ADMIN_TOKEN<br />
$> sudo openstack-config-set /etc/swift/proxy-server.conf filter:authtoken auth_token $ADMIN_TOKEN<br />
<br />
Create the stoage device for swift, these instructions use a loopback device but a physical devive or logical volume can be used<br />
$> truncate --size=20G /tmp/swiftstorage<br />
$> DEVICE=$(sudo losetup --show -f /tmp/swiftstorage)<br />
$> sudo mkfs.ext4 -I 1024 $DEVICE<br />
$> sudo mkdir -p /srv/node/partitions<br />
$> sudo mount $DEVICE /srv/node/partitions -t ext4 -o noatime,nodiratime,nobarrier,user_xattr<br />
<br />
$> cd /etc/swift<br />
<br />
Create the ring, with 1024 partitions (only suitable for a small test environment) and 1 zone<br />
$> sudo swift-ring-builder account.builder create 10 1 1<br />
$> sudo swift-ring-builder container.builder create 10 1 1<br />
$> sudo swift-ring-builder object.builder create 10 1 1<br />
<br />
Create a device for each of the account, container and object services<br />
$> sudo swift-ring-builder account.builder add z1-127.0.0.1:6002/partitions 100<br />
$> sudo swift-ring-builder container.builder add z1-127.0.0.1:6001/partitions 100<br />
$> sudo swift-ring-builder object.builder add z1-127.0.0.1:6000/partitions 100<br />
<br />
Rebalance the ring (allocates partitions to devices)<br />
$> sudo swift-ring-builder account.builder rebalance<br />
$> sudo swift-ring-builder container.builder rebalance<br />
$> sudo swift-ring-builder object.builder rebalance<br />
<br />
make sure swift owns appropriate files<br />
$> sudo chown -R swift:swift /etc/swift /srv/node/partitions<br />
<br />
Added the swift service and endpoint to keystone<br />
$> SERVICEID=$(keystone service-create --name=swift --type=object-store --description="Swift Service" | grep "id " | cut -d "|" -f 3)<br />
$> echo $SERVICEID # just making sure we got a SERVICEID<br />
$> keystone endpoint-create --service_id $SERVICEID --publicurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --adminurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s" --internalurl "http://127.0.0.1:8080/v1/AUTH_\$(tenant_id)s"<br />
<br />
Start the services<br />
$> sudo /etc/init.d/memcached start<br />
$> for srv in account container object proxy ; do sudo /etc/init.d/openstack-swift-$srv start ; done<br />
<br />
Test the swift client and upload files<br />
$> swift list<br />
$> swift upload container /path/to/file<br />
<br />
= Additional Functionality =<br />
<br />
== Using Eucalyptus tools ==<br />
<br />
Set up a rc file for EC2 access (this expects a prior keystone configuration)<br />
<br />
$> . ./keystonerc<br />
$> USER_ID=$(keystone user-list | awk '/admin / {print $2}')<br />
$> ACCESS_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $4}')<br />
$> SECRET_KEY=$(keystone ec2-credentials-list --user $USER_ID | awk '/admin / {print $6}')<br />
$> cat > novarc <<EOF<br />
export EC2_URL=http://localhost:8773/services/Cloud<br />
export EC2_ACCESS_KEY=$ACCESS_KEY<br />
export EC2_SECRET_KEY=$SECRET_KEY<br />
EOF<br />
$> chmod 600 novarc<br />
$> . ./novarc <br />
<br />
You should now be able to launch an image:<br />
<br />
$> euca-run-instances f16-jeos -k nova_key<br />
$> euca-describe-instances<br />
$> euca-get-console-output i-00000001<br />
$> euca-terminate-instances i-00000001<br />
<br />
== Images ==<br />
<br />
Rather than the prebuilt Fedora 16 JEOS image referenced above, there are other image options.<br />
<br />
# Building a Fedora 16 JEOS image using [http://aeolusproject.org/oz.html Oz]<br />
# Downloading ttylinux based minimal images used by OpenStack developers for testing<br />
<br />
=== Building Fedora 16 JEOS Images With Oz ===<br />
<br />
You can very easily build an image using Oz. First, make sure it's installed:<br />
<br />
$> sudo yum install /usr/bin/oz-install<br />
<br />
Create a template definition file called <code>f16-jeos.tdl</code> containing:<br />
<br />
<nowiki><br />
<template><br />
<name>fedora16_x86_64</name><br />
<description>My Fedora 16 x86_64 template</description><br />
<os><br />
<name>Fedora</name><br />
<version>16</version><br />
<arch>x86_64</arch><br />
<install type='url'><br />
<url>http://download.fedoraproject.org/pub/fedora/linux/releases/16/Fedora/x86_64/os/</url><br />
</install><br />
</os><br />
<commands><br />
<command name='setup-rc-local'><br />
sed -i 's/rhgb quiet/console=ttyS0/' /boot/grub/grub.conf<br />
<br />
cat >> /etc/rc.local &amp;lt;&amp;lt; EOF<br />
if [ ! -d /root/.ssh ]; then<br />
mkdir -p /root/.ssh<br />
chmod 700 /root/.ssh<br />
fi<br />
<br />
# Fetch public key using HTTP<br />
ATTEMPTS=10<br />
while [ ! -f /root/.ssh/authorized_keys ]; do<br />
curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/aws-key 2>/dev/null<br />
if [ \$? -eq 0 ]; then<br />
cat /tmp/aws-key >> /root/.ssh/authorized_keys<br />
chmod 0600 /root/.ssh/authorized_keys<br />
restorecon /root/.ssh/authorized_keys<br />
rm -f /tmp/aws-key<br />
echo "Successfully retrieved AWS public key from instance metadata"<br />
else<br />
FAILED=\$((\$FAILED + 1))<br />
if [ \$FAILED -ge \$ATTEMPTS ]; then<br />
echo "Failed to retrieve AWS public key after \$FAILED attempts, quitting"<br />
break<br />
fi<br />
echo "Could not retrieve AWS public key (attempt #\$FAILED/\$ATTEMPTS), retrying in 5 seconds..."<br />
sleep 5<br />
fi<br />
done<br />
EOF<br />
</command><br />
</commands><br />
</template><br />
</nowiki><br />
<br />
Then simply do:<br />
<br />
$> sudo oz-install -d4 -u f16-jeos.tdl<br />
<br />
Once built, you simply have to register the image with Nova:<br />
<br />
$> glance add name=f16-jeos is_public=true container_format=bare disk_format=raw < /var/lib/libvirt/images/fedora16_x86_64.dsk<br />
$> glance index<br />
<br />
The last command should return a list of the images registered with the Glance image registry.<br />
<br />
=== Downloading Existing Images ===<br />
<br />
If you don't need a functioning Fedora 16 and want the smallest possible images, just download this set of images commonly used by OpenStack developers for testing and register them with Nova:<br />
<br />
$> mkdir images<br />
$> cd images<br />
$> curl http://images.ansolabs.com/tty.tgz | tar xvfzo -<br />
$> glance add name=aki-tty disk_format=aki container_format=aki is_public=true < aki-tty/image<br />
$> glance add name=ami-tty disk_format=ami container_format=ami is_public=true < ami-tty/image<br />
$> glance add name=ari-tty disk_format=ari container_format=ari is_public=true < ari-tty/image<br />
<br />
Then to start the image:<br />
<br />
$> euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey<br />
<br />
== Volumes ==<br />
<br />
If you use the Chrome browser, kill it before embarking on this section, as it has been [https://bugzilla.redhat.com/show_bug.cgi?id=727925 known] to cause the lvcreate command to fail with 'incorrect semaphore state' errors.<br />
<br />
Start the SCSI target daemon<br />
<br />
$> sudo systemctl start tgtd.service<br />
$> sudo systemctl enable tgtd.service<br />
<br />
Create a new 1GB volume<br />
<br />
$> VOLUME=$(euca-create-volume -s 1 -z nova | awk '{print $2}')<br />
<br />
View the status of the new volume, and wait for it to become 'available'<br />
<br />
$> watch "euca-describe-volumes | grep $VOLUME | grep available"<br />
<br />
Re-run the previously terminated instance if necessary:<br />
<br />
$> INSTANCE=$(euca-run-instances f16-jeos -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
or:<br />
<br />
$> INSTANCE=$(euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k mykey | grep INSTANCE | awk '{print $2}')<br />
<br />
Make the storage available to the instance (note -d is the device on the compute node)<br />
<br />
$> euca-attach-volume -i $INSTANCE -d /dev/vdc $VOLUME<br />
<br />
ssh to the instance and verify that the vdc device is listed in /proc/partitions<br />
<br />
$> cat /proc/partitions<br />
<br />
Now make the device available if /dev/vdc is not already present<br />
<br />
$> mknod /dev/vdc b 252 32<br />
<br />
Create and mount a file system directly on the device<br />
<br />
$> mkfs.ext3 /dev/vdc<br />
$> mkdir /mnt/nova-volume<br />
$> mount /dev/vdc /mnt/nova-volume<br />
<br />
Display some file system details<br />
<br />
$> df -h /dev/vdc<br />
<br />
Create a temporary file:<br />
<br />
$> echo foo > /mnt/nova-volume/bar<br />
<br />
Terminate and re-run the instance, then re-attach the volume and re-mount within the instance as above. Your temporary file will have persisted:<br />
<br />
$> cat /mnt/nova-volume/bar<br />
<br />
Unmount the volume again:<br />
<br />
$> umount /mnt/nova-volume<br />
<br />
Exit from the ssh session, then detach and delete the volume:<br />
<br />
$> euca-detach-volume $VOLUME<br />
$> euca-delete-volume $VOLUME<br />
<br />
== Floating IPs ==<br />
<br />
You may carve out a block of public IPs and assign them to instances.<br />
<br />
First thing you need to do is make sure that nova is configured with the correct public network interface. The default is eth0, but you can change it by e.g.<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT public_interface em1<br />
$> sudo systemctl restart openstack-nova-network.service<br />
<br />
Then you can do e.g.<br />
<br />
$> sudo nova-manage floating create 172.31.0.224/28<br />
$> euca-allocate-address<br />
$> euca-associate-address -i i-00000012 172.31.0.224<br />
$> ssh -i nova_key.priv root@172.31.0.224<br />
$> euca-disassociate-address 172.31.0.224<br />
$> euca-release-address 172.31.0.224<br />
<br />
= Deployment =<br />
<br />
== Adding a Compute Node ==<br />
<br />
Okay, everything so far has been done on a single node. The next step is to add another node for running VMs.<br />
<br />
Let's assume the machine you've set up above is called 'controller' and the new machine is called 'node'.<br />
<br />
First, open the rabbitmq, MySQL, Nova API and iSCSI ports on controller:<br />
<br />
$ controller> sudo lokkit -p 3306:tcp<br />
$ controller> sudo lokkit -p 5672:tcp<br />
$ controller> sudo lokkit -p 9292:tcp<br />
$ controller> sudo lokkit -p 3260:tcp<br />
$ controller> sudo service libvirtd reload<br />
<br />
Then make sure that ntp is enabled on both machines:<br />
<br />
$> sudo yum install -y ntp<br />
$> sudo service ntpd start<br />
$> sudo chkconfig ntpd on<br />
<br />
Install libvirt and nova on node:<br />
<br />
$ node> sudo yum install --enablerepo=updates-testing openstack-nova<br />
$ node> sudo service libvirtd start<br />
$ node> sudo chkconfig libvirtd on<br />
$ node> sudo setenforce 0<br />
<br />
Configure nova so that node can find the services on controller:<br />
<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT rabbit_host controller<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@controller/nova<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT glance_api_servers controller:9292<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT iscsi_ip_prefix 172.31.0.107<br />
<br />
(The {{{iscsi_ip_prefix}}} value is the IP address of the controller node)<br />
<br />
Enable the compute service:<br />
<br />
$ node> for svc in compute network; do sudo service openstack-nova-$svc start; done<br />
<br />
Finally, you need to make sure the network is configured with a physical bridge interface:<br />
<br />
$ controller> sudo nova-manage network create demonet 10.0.0.0/24 --bridge=demonetbr0 --bridge_interface=em1<br />
<br />
Now everything should be running as before, except the VMs are launched either on controller or node.<br />
<br />
== Manual Setup of MySQL ==<br />
<br />
As of <code>openstack-nova-2011.3-9.el6</code> and <code>openstack-nova-2011.3-8.fc16</code>, <code>openstack-nova</code> is now set up to use MySQL by default. If you're updating an older installation or prefer to set up MySQL manually instead of using the <code>openstack-nova-db-setup</code> script, this section shows how to do it.<br />
<br />
First install and enable MySQL:<br />
<br />
$> sudo yum install -y mysql-server<br />
$> sudo service mysqld start<br />
$> sudo chkconfig mysqld on<br />
<br />
Set a password for the root account and delete the anonymous accounts:<br />
<br />
$> mysql -u root<br />
mysql> update mysql.user set password = password('iamroot') where user = 'root';<br />
mysql> <nowiki>delete from mysql.user where user = ''</nowiki>;<br />
<br />
Create a database and user account specifically for nova:<br />
<br />
mysql> create database nova;<br />
mysql> create user 'nova'@'localhost' identified by 'nova';<br />
mysql> create user 'nova'@'%' identified by 'nova';<br />
mysql> grant all on nova.* to 'nova'@'%';<br />
<br />
(If anyone can explain why nova@localhost is required even though the anonymous accounts have been deleted, I'd be very grateful :-)<br />
<br />
Then configure nova to use the DB and install the schema:<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@localhost/nova<br />
$> sudo nova-manage db sync<br />
<br />
As a final sanity check:<br />
<br />
$> mysql -u nova -p nova<br />
Enter password:<br />
mysql> select * from migrate_version;<br />
<br />
= Miscellaneous =<br />
<br />
== Smoke Tests ==<br />
<br />
Nova comes with a selection of fairly basic smoke tests which you can run against your installation. It can be useful to use these to sanity check your configuration.<br />
<br />
First off, you need the nova-adminclient python library which isn't yet packaged:<br />
<br />
$> sudo yum install python-pip<br />
$> sudo pip-python install nova-adminclient<br />
<br />
Then you need a user and project both named admin:<br />
<br />
$> sudo nova-manage user admin admin<br />
$> sudo nova-manage project create admin admin<br />
$> sudo nova-manage project zipfile admin admin<br />
$> unzip nova.zip<br />
$> . ./novarc<br />
<br />
Make sure you have the tty images imported as described above. You also need a block of floating IPs created, also as described above.<br />
<br />
Then, run the tests from a fedpkg checkout:<br />
<br />
$> fedpkg clone openstack-nova<br />
$> cd openstack-nova<br />
$> fedpkg switch-branch f16<br />
$> fedpkg prep<br />
$> cd nova-2011.3/smoketests<br />
$> python ./run_tests.py<br />
<br />
All the tests should pass.<br />
<br />
If you run into import errors such as:<br />
<br />
ImportError: No module named nose<br />
<br />
or:<br />
<br />
ImportError (No module named paramiko)<br />
<br />
simply install the missing dependency as follows:<br />
<br />
$> sudo yum install -y python-nose.noarch<br />
$> sudo yum install -y python-paramiko.noarch<br />
<br />
== Cleanup ==<br />
<br />
While testing OpenStack, you might want to delete everything related to OpenStack and start testing with a clean slate again.<br />
<br />
Here's how. First, make sure to terminate all running instances:<br />
<br />
$> euca-terminate-instances ...<br />
<br />
Double check that you have no lingering VMs, perhaps saved to disk:<br />
<br />
$> virsh list --all && virsh undefine<br />
$> rm -f /var/lib/libvirt/qemu/save/instance-00000*<br />
<br />
Then stop all the services:<br />
<br />
$> for iii in /usr/lib/systemd/system/openstack-*.service; do sudo systemctl stop $(basename $iii); done<br />
<br />
Delete all the packages:<br />
<br />
$> sudo yum erase python-glance python-nova* python-keystone* openstack-swift* memcached<br />
<br />
Delete the nova and keystone tables from the MySQL DB:<br />
<br />
$> mysql -u root -p -e 'drop database nova;'<br />
$> mysql -u root -p -e 'drop database keystone;'<br />
<br />
Delete the nova-volumes VG:<br />
<br />
$> sudo vgchange -an nova-volumes<br />
$> sudo losetup -d /dev/loop0<br />
$> sudo rm -f /var/lib/nova/nova-volumes.img<br />
<br />
Take down the bridge and kill dnsmasq:<br />
<br />
$> sudo ip link set demonetbr0 down<br />
$> sudo brctl delbr demonetbr0<br />
$> sudo kill -9 $(cat /var/lib/nova/networks/nova-demonetbr0.pid)<br />
<br />
Remove all directories left behind from the packages:<br />
<br />
$> sudo rm -rf /etc/{glance,nova,swift,keystone,openstack-dashboard} /var/lib/{glance,nova,swift,keystone} /var/log/{glance,nova,swift,keystone} /var/run/{glance,nova,swift,keystone}<br />
<br />
Remove swift storage device (if we don't want the data)<br />
$> sudo umount /srv/node/partitions<br />
$> sudo losetup -d $DEVICE<br />
$> rm /tmp/swiftstorage <br />
<br />
Finally, restart iptables to clear out all rules added by Nova. You also need to reload libvirt's iptables rules:<br />
<br />
$> sudo service iptables restart<br />
$> sudo service libvirtd restart<br />
<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Getting_started_with_OpenStack_on_Fedora_17&diff=279025Getting started with OpenStack on Fedora 172012-03-21T10:06:15Z<p>Derekh: </p>
<hr />
<div>= Basic Setup =<br />
<br />
These steps will setup OpenStack nova, glance, and keystone to be accessed by the OpenStack dashboard web UI on a single host, as well as launching our first instance (virtual machine).<br />
<br />
Many of the examples here require 'sudo' to be properly configured, please see [[Configuring Sudo]] if you need help.<br />
<br />
== Initial Installation ==<br />
<br />
To get started with OpenStack, you can install it on Fedora 17, along with a few dependencies:<br />
<br />
$> sudo yum install --enablerepo=updates-testing openstack-nova openstack-glance openstack-keystone openstack-dashboard qpid-cpp-server<br />
<br />
NOTE: very latest openstack-keystone and openstack-nova updates might not be mirrored yet:<br />
https://admin.fedoraproject.org/updates/openstack-keystone-2012.1-0.10.e4.fc17<br />
https://admin.fedoraproject.org/updates/openstack-glance-2012.1-0.5.e4.fc17<br />
<br />
<br />
Run the helper script to get MySQL configured for use with openstack-nova. If <code>mysql-server</code> is not already installed, this script will install it for you.<br />
<br />
$> sudo openstack-nova-db-setup<br />
<br />
Nova requires the QPID messaging server to be running.<br />
<br />
$> sudo systemctl start qpidd.service && sudo systemctl enable qpidd.service<br />
<br />
Nova requires the libvirtd server to be running:<br />
<br />
$> sudo systemctl start libvirtd.service && sudo systemctl enable libvirtd.service<br />
<br />
Next, you should enable the Glance API and registry services:<br />
<br />
$> for svc in api registry; do sudo systemctl start openstack-glance-$svc.service; done<br />
$> for svc in api registry; do sudo systemctl enable openstack-glance-$svc.service; done<br />
<br />
The openstack-nova-volume service requires an LVM Volume Group called nova-volumes to exist. We simply create this using a loopback sparse disk image.<br />
<br />
$> sudo dd if=/dev/zero of=/var/lib/nova/nova-volumes.img bs=1M seek=20k count=0<br />
$> sudo vgcreate nova-volumes $(sudo losetup --show -f /var/lib/nova/nova-volumes.img)<br />
<br />
If you are testing OpenStack in a virtual machine, you need to configure nova to use qemu without KVM and hardware virtualization:<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT libvirt_type qemu<br />
<br />
Now you can start the various services:<br />
<br />
$> for svc in api objectstore compute network volume scheduler cert; do sudo systemctl start openstack-nova-$svc.service; done<br />
$> for svc in api objectstore compute network volume scheduler cert; do sudo systemctl enable openstack-nova-$svc.service; done<br />
<br />
Check that all the services started up correctly and look in the logs in <code>/var/log/nova</code> for errors. If there are none, then Nova is up and running!<br />
<br />
=== Preview Repository for Fedora 16 ===<br />
Openstack Essex will not be pushed as an update to Fedora 16 but there are rebuilds from Rawhide available for testing on the current stable Fedora release, similar to http://fedoraproject.org/wiki/Virtualization_Preview_Repository<br />
<br />
==== Enabling the Openstack Preview Repository ====<br />
Preview packages may be installed using yum after performing the following<br />
step. <br />
<br />
<pre><nowiki><br />
$> cd /etc/yum.repos.d/<br />
$> wget http://repos.fedorapeople.org/repos/apevec/openstack-preview/fedora-openstack-preview.repo<br />
</nowiki></pre><br />
<br />
This repo can also be used with Fedora 17 to get the latest packages which are still being pushed to the official repos.<br />
<br />
== Admin User, Project and Network Setup ==<br />
<br />
Now you should create an admin user, project and network. Replace 'markmc', 'demoproject' and 'demonet' with your own details of course:<br />
<br />
$> sudo nova-manage user admin markmc<br />
$> sudo nova-manage project create demoproject markmc<br />
$> sudo nova-manage network create demonet 10.0.0.0/24 1 256 --bridge=demonetbr0<br />
<br />
NB the network range here, should *not* be the one used on your existing physical network. It should be a range dedicated for the network that OpenStack will configure. So if 10.0.0.0/24 clashes with your local network, pick another range<br />
<br />
Then download a set of credentials for this user/project:<br />
<br />
$> sudo nova-manage project zipfile demoproject markmc<br />
$> sudo chmod 600 nova.zip<br />
$> sudo chown markmc:markmc nova.zip<br />
<br />
Unpack the credentials, source the <code>novarc</code> and add an SSH keypair:<br />
<br />
$> mkdir novacreds && cd novacreds<br />
$> unzip ../nova.zip<br />
$> . ./novarc<br />
$> euca-add-keypair nova_key > nova_key.priv<br />
$> chmod 600 nova*<br />
<br />
== Register an Image ==<br />
<br />
To run an instance, you are going to need an image. There are prebuilt Fedora 16 JEOS (Just Enough OS) images that can be downloaded. The image size is around 200 MB.<br />
<br />
$> wget http://berrange.fedorapeople.org/images/2012-02-29/f16-x86_64-openstack-sda.qcow2<br />
$> sudo nova-manage image image_register --disk_format=qcow2 f16-x86_64-openstack-sda.qcow2 markmc f16-jeos<br />
<br />
== Launch an Instance ==<br />
<br />
As a last step before launching, make sure the nbd kernel module is loaded so that injecting SSH key files into the filesystem on the qcow2 image works:<br />
<br />
$> sudo modprobe nbd<br />
<br />
You should now be able to launch an image:<br />
<br />
$> euca-run-instances f16-jeos -k nova_key<br />
<br />
Or, in the case of the downloaded TTY images:<br />
<br />
$> euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k nova_key<br />
<br />
And then observe the instance running, observe the KVM VM running and SSH into the instance:<br />
<br />
$> euca-describe-instances<br />
$> sudo virsh list<br />
$> ssh -i nova_key.priv root@10.0.0.2<br />
$> euca-get-console-output i-00000001<br />
$> euca-terminate-instances i-00000001<br />
<br />
== Configuring Keystone for authentication ==<br />
<br />
Keystone is the openstack identity service, providing a central place to<br />
set up openstack users, groups, and accounts that can be shared across all<br />
other services. This deprecates the old style user accounts manually set<br />
up with nova-manage.<br />
<br />
Setting up keystone is required for using the Openstack dashboard.<br />
<br />
=== Initial setup ===<br />
<br />
* Configure the Keystone database, similar to how we do it for nova<br />
$> sudo openstack-keystone-db-setup<br />
Please enter the password for the 'root' MySQL user: <br />
Verified connectivity to MySQL.<br />
Creating 'keystone' database.<br />
Asking openstack-keystone to sync the database.<br />
Complete!<br />
<br />
* Set up a keystonerc file with a generated admin token and various passwords:<br />
$> cat > keystonerc <<EOF<br />
export ADMIN_TOKEN=$(openssl rand -hex 10)<br />
export OS_USERNAME=admin<br />
export OS_PASSWORD=verybadpass<br />
export OS_TENANT_NAME=admin<br />
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/<br />
EOF<br />
$> . ./keystonerc<br />
<br />
* Set the administrative token in the config file<br />
$> sudo openstack-config-set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN<br />
<br />
* Start and enable Keystone service<br />
$> sudo systemctl start openstack-keystone.service && sudo systemctl enable openstack-keystone.service<br />
<br />
* Create sample Tenants, Users and Roles<br />
$> sudo ADMIN_PASSWORD=$OS_PASSWORD openstack-keystone-sample-data<br />
<br />
* Test the Keystone CLI is working<br />
$> keystone user-list<br />
+----------------------------------+---------+-------------------+-------+<br />
| id | enabled | email | name |<br />
+----------------------------------+---------+-------------------+-------+<br />
| 05742d10109540d2892d17ec312a6cd9 | True | admin@example.com | admin |<br />
| 25fe47659d6a4255a663e6add1979d6c | True | admin@example.com | demo |<br />
+----------------------------------+---------+-------------------+-------+<br />
<br />
=== Configure nova to use keystone ===<br />
<br />
* Change nova configuration to use keystone:<br />
$> sudo sed -i -e 's/# \(pipeline = .*\keystone\)/\1/g' /etc/nova/api-paste.ini<br />
$> sudo openstack-config-set /etc/nova/api-paste.ini filter:authtoken admin_token $ADMIN_TOKEN<br />
$> sudo systemctl restart openstack-nova-api.service<br />
<br />
* Verify that nova can talk with keystone (requires OS_* exports from previous keystone section)<br />
<br />
$> nova flavor-list<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| ID | Name | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Factor |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
| 1 | m1.tiny | 512 | | 0 | 1 | 1.0 |<br />
| 2 | m1.small | 2048 | | 10 | 1 | 1.0 |<br />
| 3 | m1.medium | 4096 | | 10 | 2 | 1.0 |<br />
| 4 | m1.large | 8192 | | 10 | 4 | 1.0 |<br />
| 5 | m1.xlarge | 16384 | | 10 | 8 | 1.0 |<br />
+----+-----------+-----------+------+----------+-------+-------------+<br />
<br />
=== Configure glance to use keystone ===<br />
<br />
* Change glance configuration to use keystone:<br />
$> sudo openstack-config-set /etc/glance/glance-api.conf paste_deploy flavor keystone<br />
$> sudo openstack-config-set /etc/glance/glance-registry.conf paste_deploy flavor keystone<br />
$> sudo openstack-config-set /etc/glance/glance-api-paste.ini filter:authtoken admin_token $ADMIN_TOKEN<br />
$> sudo openstack-config-set /etc/glance/glance-registry-paste.ini filter:authtoken admin_token $ADMIN_TOKEN<br />
$> sudo systemctl restart openstack-glance-api.service<br />
$> sudo systemctl restart openstack-glance-registry.service<br />
<br />
* Verify that glance can talk with keystone (requires OS_* exports from the previous keystone section)<br />
<br />
$> glance index<br />
<br />
== Configuring the OpenStack Dashboard ==<br />
<br />
The OpenStack dashboard is the official web user interface for OpenStack. It should mostly work out of the box, as long as keystone has been configured properly.<br />
<br />
* Install the dashboard<br />
$> sudo yum install openstack-dashboard<br />
<br />
* Make sure httpd is running<br />
$> sudo systemctl restart httpd.service<br />
$> sudo systemctl enable httpd.service<br />
<br />
* There is currently a [https://bugzilla.redhat.com/show_bug.cgi?id=801202 python novaclient bug] that upsets horizon. To work around this:<br />
$> sudo mkdir /var/www/.novaclient<br />
<br />
The dashboard should then be accessed with a web browser at http://localhost/dashboard . Account and password should be<br />
what you configured for the keystone setup.<br />
<br />
= Additional Functionality =<br />
<br />
== Images ==<br />
<br />
Rather than the prebuilt Fedora 16 JEOS image referenced above, there are other image options.<br />
<br />
# Building a Fedora 16 JEOS image using [http://aeolusproject.org/oz.html Oz]<br />
# Downloading ttylinux based minimal images used by OpenStack developers for testing<br />
<br />
=== Building Fedora 16 JEOS Images With Oz ===<br />
<br />
You can very easily build an image using Oz. First, make sure it's installed:<br />
<br />
$> sudo yum install /usr/bin/oz-install<br />
<br />
Create a template definition file called <code>f16-jeos.tdl</code> containing:<br />
<br />
<nowiki><br />
<template><br />
<name>fedora16_x86_64</name><br />
<description>My Fedora 16 x86_64 template</description><br />
<os><br />
<name>Fedora</name><br />
<version>16</version><br />
<arch>x86_64</arch><br />
<install type='url'><br />
<url>http://download.fedoraproject.org/pub/fedora/linux/releases/16/Fedora/x86_64/os/</url><br />
</install><br />
</os><br />
<commands><br />
<command name='setup-rc-local'><br />
sed -i 's/rhgb quiet/console=ttyS0/' /boot/grub/grub.conf<br />
<br />
cat >> /etc/rc.local &amp;lt;&amp;lt; EOF<br />
if [ ! -d /root/.ssh ]; then<br />
mkdir -p /root/.ssh<br />
chmod 700 /root/.ssh<br />
fi<br />
<br />
# Fetch public key using HTTP<br />
ATTEMPTS=10<br />
while [ ! -f /root/.ssh/authorized_keys ]; do<br />
curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/aws-key 2>/dev/null<br />
if [ \$? -eq 0 ]; then<br />
cat /tmp/aws-key >> /root/.ssh/authorized_keys<br />
chmod 0600 /root/.ssh/authorized_keys<br />
restorecon /root/.ssh/authorized_keys<br />
rm -f /tmp/aws-key<br />
echo "Successfully retrieved AWS public key from instance metadata"<br />
else<br />
FAILED=\$((\$FAILED + 1))<br />
if [ \$FAILED -ge \$ATTEMPTS ]; then<br />
echo "Failed to retrieve AWS public key after \$FAILED attempts, quitting"<br />
break<br />
fi<br />
echo "Could not retrieve AWS public key (attempt #\$FAILED/\$ATTEMPTS), retrying in 5 seconds..."<br />
sleep 5<br />
fi<br />
done<br />
EOF<br />
</command><br />
</commands><br />
</template><br />
</nowiki><br />
<br />
Then simply do:<br />
<br />
$> sudo oz-install -d4 -u f16-jeos.tdl<br />
<br />
Once built, you simply have to register the image with Nova:<br />
<br />
$> sudo nova-manage image image_register /var/lib/libvirt/images/fedora16_x86_64.dsk markmc f16-jeos<br />
$> glance index<br />
<br />
The last command should return a list of the images registered with the Glance image registry.<br />
<br />
=== Downloading Existing Images ===<br />
<br />
If you don't need a functioning Fedora 16 and want the smallest possible images, just download this set of images commonly used by OpenStack developers for testing and register them with Nova:<br />
<br />
$> mkdir images<br />
$> cd images<br />
$> curl http://images.ansolabs.com/tty.tgz | tar xvfzo -<br />
$> cd ..<br />
$> sudo nova-manage image convert images/<br />
<br />
== Volumes ==<br />
<br />
If you use the Chrome browser, kill it before embarking on this section, as it has been [https://bugzilla.redhat.com/show_bug.cgi?id=727925 known] to cause the lvcreate command to fail with 'incorrect semaphore state' errors.<br />
<br />
Start the SCSI target daemon<br />
<br />
$> sudo service tgtd start<br />
$> sudo chkconfig tgtd on<br />
<br />
Create a new 1GB volume<br />
<br />
$> VOLUME=$(euca-create-volume -s 1 -z nova | awk '{print $2}')<br />
<br />
View the status of the new volume, and wait for it to become 'available'<br />
<br />
$> watch "euca-describe-volumes | grep $VOLUME | grep available"<br />
<br />
Re-run the previously terminated instance if necessary:<br />
<br />
$> INSTANCE=$(euca-run-instances f15 -k nova_key | grep INSTANCE | awk '{print $2}')<br />
<br />
or:<br />
<br />
$> INSTANCE=$(euca-run-instances ami-tty --kernel aki-tty --ramdisk ari-tty -k nova_key | grep INSTANCE | awk '{print $2}')<br />
<br />
Make the storage available to the instance (note -d is the device on the compute node)<br />
<br />
$> euca-attach-volume -i $INSTANCE -d /dev/vdc $VOLUME<br />
<br />
ssh to the instance and verify that the vdc device is listed in /proc/partitions<br />
<br />
$> cat /proc/partitions<br />
<br />
Now make the device available if /dev/vdc is not already present<br />
<br />
$> mknod /dev/vdc b 252 32<br />
<br />
Create and mount a file system directly on the device<br />
<br />
$> mkfs.ext3 /dev/vdc<br />
$> mkdir /mnt/nova-volume<br />
$> mount /dev/vdc /mnt/nova-volume<br />
<br />
Display some file system details<br />
<br />
$> df -h /dev/vdc<br />
<br />
Create a temporary file:<br />
<br />
$> echo foo > /mnt/nova-volume/bar<br />
<br />
Terminate and re-run the instance, then re-attach the volume and re-mount within the instance as above. Your temporary file will have persisted:<br />
<br />
$> cat /mnt/nova-volume/bar<br />
<br />
Unmount the volume again:<br />
<br />
$> umount /mnt/nova-volume<br />
<br />
Exit from the ssh session, then detach and delete the volume:<br />
<br />
$> euca-detach-volume $VOLUME<br />
$> euca-delete-volume $VOLUME<br />
<br />
== Floating IPs ==<br />
<br />
You may carve out a block of public IPs and assign them to instances.<br />
<br />
First thing you need to do is make sure that nova is configured with the correct public network interface. The default is eth0, but you can change it by e.g.<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT public_interface em1<br />
$> sudo service openstack-nova-network restart<br />
<br />
Then you can do e.g.<br />
<br />
$> sudo nova-manage floating create 172.31.0.224/28<br />
$> euca-allocate-address<br />
$> euca-associate-address -i i-00000012 172.31.0.224<br />
$> ssh -i nova_key.priv root@172.31.0.224<br />
$> euca-disassociate-address 172.31.0.224<br />
$> euca-release-address 172.31.0.224<br />
<br />
= Deployment =<br />
<br />
== Adding a Compute Node ==<br />
<br />
Okay, everything so far has been done on a single node. The next step is to add another node for running VMs.<br />
<br />
Let's assume the machine you've set up above is called 'controller' and the new machine is called 'node'.<br />
<br />
First, open the rabbitmq, MySQL, Nova API and iSCSI ports on controller:<br />
<br />
$ controller> sudo lokkit -p 3306:tcp<br />
$ controller> sudo lokkit -p 5672:tcp<br />
$ controller> sudo lokkit -p 9292:tcp<br />
$ controller> sudo lokkit -p 3260:tcp<br />
$ controller> sudo service libvirtd reload<br />
<br />
Then make sure that ntp is enabled on both machines:<br />
<br />
$> sudo yum install -y ntp<br />
$> sudo service ntpd start<br />
$> sudo chkconfig ntpd on<br />
<br />
Install libvirt and nova on node:<br />
<br />
$ node> sudo yum install --enablerepo=updates-testing openstack-nova<br />
$ node> sudo service libvirtd start<br />
$ node> sudo chkconfig libvirtd on<br />
$ node> sudo setenforce 0<br />
<br />
Configure nova so that node can find the services on controller:<br />
<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT rabbit_host controller<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@controller/nova<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT glance_api_servers controller:9292<br />
$ node> sudo openstack-config-set /etc/nova/nova.conf DEFAULT iscsi_ip_prefix 172.31.0.107<br />
<br />
(The {{{iscsi_ip_prefix}}} value is the IP address of the controller node)<br />
<br />
Enable the compute service:<br />
<br />
$ node> for svc in compute network; do sudo service openstack-nova-$svc start; done<br />
<br />
Finally, you need to make sure the network is configured with a physical bridge interface:<br />
<br />
$ controller> sudo nova-manage network create demonet 10.0.0.0/24 --bridge=demonetbr0 --bridge_interface=em1<br />
<br />
Now everything should be running as before, except the VMs are launched either on controller or node.<br />
<br />
== Manual Setup of MySQL ==<br />
<br />
As of <code>openstack-nova-2011.3-9.el6</code> and <code>openstack-nova-2011.3-8.fc16</code>, <code>openstack-nova</code> is now set up to use MySQL by default. If you're updating an older installation or prefer to set up MySQL manually instead of using the <code>openstack-nova-db-setup</code> script, this section shows how to do it.<br />
<br />
First install and enable MySQL:<br />
<br />
$> sudo yum install -y mysql-server<br />
$> sudo service mysqld start<br />
$> sudo chkconfig mysqld on<br />
<br />
Set a password for the root account and delete the anonymous accounts:<br />
<br />
$> mysql -u root<br />
mysql> update mysql.user set password = password('iamroot') where user = 'root';<br />
mysql> <nowiki>delete from mysql.user where user = ''</nowiki>;<br />
<br />
Create a database and user account specifically for nova:<br />
<br />
mysql> create database nova;<br />
mysql> create user 'nova'@'localhost' identified by 'nova';<br />
mysql> create user 'nova'@'%' identified by 'nova';<br />
mysql> grant all on nova.* to 'nova'@'%';<br />
<br />
(If anyone can explain why nova@localhost is required even though the anonymous accounts have been deleted, I'd be very grateful :-)<br />
<br />
Then configure nova to use the DB and install the schema:<br />
<br />
$> sudo openstack-config-set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:nova@localhost/nova<br />
$> sudo nova-manage db sync<br />
<br />
As a final sanity check:<br />
<br />
$> mysql -u nova -p nova<br />
Enter password:<br />
mysql> select * from migrate_version;<br />
<br />
= Miscellaneous =<br />
<br />
== Smoke Tests ==<br />
<br />
Nova comes with a selection of fairly basic smoke tests which you can run against your installation. It can be useful to use these to sanity check your configuration.<br />
<br />
First off, you need the nova-adminclient python library which isn't yet packaged:<br />
<br />
$> sudo yum install python-pip<br />
$> sudo pip-python install nova-adminclient<br />
<br />
Then you need a user and project both named admin:<br />
<br />
$> sudo nova-manage user admin admin<br />
$> sudo nova-manage project create admin admin<br />
$> sudo nova-manage project zipfile admin admin<br />
$> unzip nova.zip<br />
$> . ./novarc<br />
<br />
Make sure you have the tty images imported as described above. You also need a block of floating IPs created, also as described above.<br />
<br />
Then, run the tests from a fedpkg checkout:<br />
<br />
$> fedpkg clone openstack-nova<br />
$> cd openstack-nova<br />
$> fedpkg switch-branch f16<br />
$> fedpkg prep<br />
$> cd nova-2011.3/smoketests<br />
$> python ./run_tests.py<br />
<br />
All the tests should pass.<br />
<br />
If you run into import errors such as:<br />
<br />
ImportError: No module named nose<br />
<br />
or:<br />
<br />
ImportError (No module named paramiko)<br />
<br />
simply install the missing dependency as follows:<br />
<br />
$> sudo yum install -y python-nose.noarch<br />
$> sudo yum install -y python-paramiko.noarch<br />
<br />
== Cleanup ==<br />
<br />
While testing OpenStack, you might want to delete everything related to OpenStack and start testing with a clean slate again.<br />
<br />
Here's how. First, make sure to terminate all running instances:<br />
<br />
$> euca-terminate-instances ...<br />
<br />
Double check that you have no lingering VMs, perhaps saved to disk:<br />
<br />
$> virsh list --all && virsh undefine<br />
$> rm -f /var/lib/libvirt/qemu/save/instance-00000*<br />
<br />
Then stop all the services:<br />
<br />
$> for iii in /usr/lib/systemd/system/openstack-*.service; do sudo systemctl stop $(basename $iii); done<br />
<br />
Delete all the packages:<br />
<br />
$> sudo yum erase python-glance python-nova* python-keystone* openstack-swift*<br />
<br />
Delete the nova and keystone tables from the MySQL DB:<br />
<br />
$> mysql -u root -p -e 'drop database nova;'<br />
$> mysql -u root -p -e 'drop database keystone;'<br />
<br />
Delete the nova-volumes VG:<br />
<br />
$> sudo vgchange -an nova-volumes<br />
$> sudo losetup -d /dev/loop0<br />
$> sudo rm -f /var/lib/nova/nova-volumes.img<br />
<br />
Take down the bridge and kill dnsmasq:<br />
<br />
$> sudo ip link set demonetbr0 down<br />
$> sudo brctl delbr demonetbr0<br />
$> sudo kill -9 $(cat /var/lib/nova/networks/nova-demonetbr0.pid)<br />
<br />
Remove all directories left behind from the packages:<br />
<br />
$> sudo rm -rf /etc/{glance,nova,swift,keystone,openstack-dashboard} /var/lib/{glance,nova,swift,keystone} /var/log/{glance,nova,swift,keystone} /var/run/{glance,nova,swift,keystone}<br />
<br />
Finally, restart iptables to clear out all rules added by Nova. You also need to reload libvirt's iptables rules:<br />
<br />
$> sudo service iptables restart<br />
$> sudo service libvirtd restart<br />
<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_run_the_OpenStack_smoke_tests&diff=276295QA:Testcase run the OpenStack smoke tests2012-03-09T02:22:53Z<p>Derekh: </p>
<hr />
<div>{{QA/Test_Case<br />
|description=Nova comes with a selection of fairly basic smoke tests which you can run against your installation.<br />
It can be useful to use these to sanity check your configuration.<br />
<br />
|setup=<br />
You need these packages<br />
<br />
$> sudo yum install python-nose python-paramiko fedpkg python-nova-adminclient<br />
<br />
Make sure you have a block of floating IPs created, also as described above.<br />
<br />
Also ensure that the nova objectstore service is running, as the S3 API is hit by the image tests:<br />
<br />
$> sudo systemctl start openstack-nova-objectstore.service<br />
<br />
<br />
Creating Certs (needed by euca-bundle-image in the ImageTests )<br />
$> cd ~<br />
$> nova x509-create-cert<br />
$> export EC2_USER_ID=42<br />
$> export EC2_CERT=~/cert.pem<br />
$> export EC2_PRIVATE_KEY=~/pk.pem<br />
$> nova x509-get-root-cert<br />
$> export EUCALYPTUS_CERT=~/cacert.pem<br />
<br />
<br />
|actions=Then, run the tests from a fedpkg checkout:<br />
<br />
$> git clone git://pkgs.fedoraproject.org/openstack-nova.git<br />
$> cd openstack-nova<br />
$> git checkout f17<br />
$> fedpkg prep<br />
$> cd nova-2012.1/smoketests<br />
$> python ./run_tests.py<br />
<br />
|results=<br />
Ensure all tests pass<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-03-08_OpenStack_Test_Day&diff=276283Test Day:2012-03-08 OpenStack Test Day2012-03-09T02:06:59Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = Fedora Test Days<br />
| image = [[File:Echo-testing-48px.png|link=QA/Fedora_16_test_days]]<br />
| caption = OpenStack Test Day<br />
| date = 2012-03-08<br />
| time = all day<br />
| website = [[QA/Fedora_17_test_days]]<br />
| irc = [irc://irc.freenode.net/#fedora-test-day #fedora-test-day] ([http://webchat.freenode.net/?channels=fedora-test-day webirc])<br />
| fedora_mailing_list = cloud<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== What to test? ==<br />
<br />
This day is for testing the Essex release of OpenStack in Fedora. Check out the [[Features/OpenStack_Essex|OpenStack Essex feature page]] for more details on what's new.<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* [[User:Pbrady|Pádraig Brady]] (pixelbeat)<br />
* [[User:Rkukura|Bob Kukura]] (rkukura)<br />
* [[User:Markmc|Mark McLoughlin]] (markmc)<br />
* [[User:Russellb|Russell Bryant]] (russellb)<br />
* [[User:Apevec|Alan Pevec]] (apevec)<br />
* [[User:Eglynn|Eoghan Glynn]] (eglynn)<br />
* [[User:Vaneldik|Jan van Eldik]] (vaneldik)<br />
* [[User:crobinso|Cole Robinson]] (crobinso)<br />
* [[User:derekh|Derek Higgins]] (derekh)<br />
<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* A [http://fedoraproject.org/get-prerelease fully updated Fedora 17 (virtual) machine].<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, with specific config noted below}}<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== '''Configure sudo''' ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
#> (umask 337; name=<span style="color:red;">markmc</span>; echo "$name ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== '''Update your machine''' ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
$> sudo yum --enablerepo=updates-testing clean all<br />
$> sudo yum update -y<br />
<br />
=== '''Enable the Qpid Broker''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y qpid-cpp-server<br />
$> sudo systemctl start qpidd.service<br />
$> sudo systemctl enable qpidd.service<br />
<br />
=== '''Enable libvirt''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y @virtualization<br />
$> sudo systemctl start libvirtd.service<br />
$> sudo systemctl enable libvirtd.service<br />
<br />
=== '''Optionally Load nbd''' ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
$> sudo modprobe nbd<br />
$> echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
Since we currently have a number of blocking AVC denials (e.g. [https://bugzilla.redhat.com/801330 in glance]), we need to disable SELinux enforcing:<br />
<br />
$> sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
$> sudo setenforce permissive<br />
<br />
Please do note any AVC denials you see and file them in bugzilla if they have not already been reported.<br />
<br />
== Test Cases ==<br />
<br />
When ready, follow the instructions provided in each of the test cases:<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
# [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
# [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
# [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
# [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_Nova_with_Quantum|Run Nova with Quantum]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-keystone openstack-keystone] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
! [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
! [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
! [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
! [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
--><br />
<br />
| [[User:Zaitcev|zaitcev]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Vaneldik|vaneldik]]<br />
| {{result|pass||801054}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|warn}} <ref>side issue {{bz|800704}}</ref><br />
| {{result|fail}} <ref>{{bz|801366}}API server requires X-Auth-Token in order to get response</ref> <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:TripleDES|TripleDES]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:markmc|markmc]]<br />
| {{result|pass}} <ref>newer keystone available in koji; latest glance didn't get pushed to updates-testing</ref><br />
| {{result|pass}} <ref>mysql AVC denials {{bz|801299}} and sqlalchemy deprecated warnings {{bz|801302}}</ref><br />
| {{result|pass}} <ref>webob deprecation warnings {{bz|801312}}</ref><br />
| {{result|pass}} <ref>glance AVC denials {{bz|801330}}</ref><br />
| {{result|pass}} <ref>need SELinux policy for nova-cert {{bz|801352}}</ref><br />
| {{result|pass}} <ref>we need to figure out a way to replace old 'nova-manage project zipfile'</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>newer keystone now available in updates-testing</ref><br />
| {{result|pass}} <ref>I didn't change libvirt_type to qemu</ref><br />
| {{result|pass}} <br />
| {{result|pass}} <ref>sudo setenforce 0 # required to run glance index {{bz|801330#c1}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>only created network (per new instructions)</ref><br />
| <references/><br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:pbrady|pbrady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:gkotton|gkotton]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|}<br />
<br />
Core functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:gkotton|gkotton]]<br />
| {{result|pass}} <ref> problem with libvirt </ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>instance ip address not displayed by euca-describe-instances</ref><br />
| {{result|pass}} <ref>this appeared in the logs, not sure it is connected [https://bugs.launchpad.net/nova/+bug/934276 lp934276]</ref><br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Markmc|markmc]]<br />
| {{result|pass}} <ref>issue with euca-describe-instances not showing IP addresses {{bz|801452}}</ref> <ref>[https://bugs.launchpad.net/nova/+bug/934276 'dict' object has no attribute 'state'] in logs but that's fixed upstream</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:TripleDES|TripleDES]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Zaitcev|zaitcev]]<br />
| {{result|fail}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
Dashboard functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Dashboard setup]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch instance]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing users]]<br />
! References<br />
<br />
|-<br />
| [[User:crobinso|crobinso]]<br />
| {{result|pass}} <ref>tenant chooser doesn't work {{bz|801208}}</ref><br />
| {{result|none}} <br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>Tracebacks in apache error log and keystone.log, maybe related to {{bz|801208}} </ref><br />
| {{result|pass}} <br />
| {{result|warn}} <ref> Error: Unable to delete project: testproject </ref><br />
| <references/><br />
|-<br />
<br />
<br />
|}<br />
<br />
Extra credit:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_Nova_with_Quantum|Run Nova with Quantum]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
<br />
|-<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>libvirt.libvirtError: internal error process exited while connecting to monitor: qemu-system-x86_64: -netdev tap,fd=28,id=hostnet0,vhost=on,vhostfd=29: vhost-net support is not compiled in</ref><br />
| {{result|none}}<br />
| {{result|pass}} <ref>volume tests failed due to insufficient diskspace, created nova-volumes with only 2Gb</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref> 5 tests failed (expected) </ref><br />
| {{result|fail}} <ref> problem with oz version/config, will retry with more uptodate oz</ref><br />
| {{result|none}}<br />
| {{result|pass}} <ref> needed to create certs for euca-bundle-image</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|gkotton]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|inprogress}} <ref> problem with libvirt and deploying instances, not related to quantum </ref><br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Markmc|markmc]]<br />
| {{result|pass}} <ref>5 tests failed for me too</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
[[Category:Test Days]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-03-08_OpenStack_Test_Day&diff=276218Test Day:2012-03-08 OpenStack Test Day2012-03-09T00:21:51Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = Fedora Test Days<br />
| image = [[File:Echo-testing-48px.png|link=QA/Fedora_16_test_days]]<br />
| caption = OpenStack Test Day<br />
| date = 2012-03-08<br />
| time = all day<br />
| website = [[QA/Fedora_17_test_days]]<br />
| irc = [irc://irc.freenode.net/#fedora-test-day #fedora-test-day] ([http://webchat.freenode.net/?channels=fedora-test-day webirc])<br />
| fedora_mailing_list = cloud<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== What to test? ==<br />
<br />
This day is for testing the Essex release of OpenStack in Fedora. Check out the [[Features/OpenStack_Essex|OpenStack Essex feature page]] for more details on what's new.<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* [[User:Pbrady|Pádraig Brady]] (pixelbeat)<br />
* [[User:Rkukura|Bob Kukura]] (rkukura)<br />
* [[User:Markmc|Mark McLoughlin]] (markmc)<br />
* [[User:Russellb|Russell Bryant]] (russellb)<br />
* [[User:Apevec|Alan Pevec]] (apevec)<br />
* [[User:Eglynn|Eoghan Glynn]] (eglynn)<br />
* [[User:Vaneldik|Jan van Eldik]] (vaneldik)<br />
* [[User:crobinso|Cole Robinson]] (crobinso)<br />
* [[User:derekh|Derek Higgins]] (derekh)<br />
<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* A [http://fedoraproject.org/get-prerelease fully updated Fedora 17 (virtual) machine].<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, with specific config noted below}}<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== '''Configure sudo''' ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
#> (umask 337; name=<span style="color:red;">markmc</span>; echo "$name ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== '''Update your machine''' ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
$> sudo yum --enablerepo=updates-testing clean all<br />
$> sudo yum update -y<br />
<br />
=== '''Enable the Qpid Broker''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y qpid-cpp-server<br />
$> sudo systemctl start qpidd.service<br />
$> sudo systemctl enable qpidd.service<br />
<br />
=== '''Enable libvirt''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y @virtualization<br />
$> sudo systemctl start libvirtd.service<br />
$> sudo systemctl enable libvirtd.service<br />
<br />
=== '''Optionally Load nbd''' ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
$> sudo modprobe nbd<br />
$> echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
Since we currently have a number of blocking AVC denials (e.g. [https://bugzilla.redhat.com/801330 in glance]), we need to disable SELinux enforcing:<br />
<br />
$> sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
$> sudo setenforce permissive<br />
<br />
Please do note any AVC denials you see and file them in bugzilla if they have not already been reported.<br />
<br />
== Test Cases ==<br />
<br />
When ready, follow the instructions provided in each of the test cases:<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
# [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
# [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
# [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
# [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_Nova_with_Quantum|Run Nova with Quantum]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-keystone openstack-keystone] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
! [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
! [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
! [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
! [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
--><br />
<br />
| [[User:Zaitcev|zaitcev]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Vaneldik|vaneldik]]<br />
| {{result|pass||801054}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|warn}} <ref>side issue {{bz|800704}}</ref><br />
| {{result|fail}} <ref>{{bz|801366}}API server requires X-Auth-Token in order to get response</ref> <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:TripleDES|TripleDES]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:markmc|markmc]]<br />
| {{result|pass}} <ref>newer keystone available in koji; latest glance didn't get pushed to updates-testing</ref><br />
| {{result|pass}} <ref>mysql AVC denials {{bz|801299}} and sqlalchemy deprecated warnings {{bz|801302}}</ref><br />
| {{result|pass}} <ref>webob deprecation warnings {{bz|801312}}</ref><br />
| {{result|pass}} <ref>glance AVC denials {{bz|801330}}</ref><br />
| {{result|pass}} <ref>need SELinux policy for nova-cert {{bz|801352}}</ref><br />
| {{result|pass}} <ref>we need to figure out a way to replace old 'nova-manage project zipfile'</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>newer keystone now available in updates-testing</ref><br />
| {{result|pass}} <ref>I didn't change libvirt_type to qemu</ref><br />
| {{result|pass}} <br />
| {{result|pass}} <ref>sudo setenforce 0 # required to run glance index {{bz|801330#c1}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>only created network (per new instructions)</ref><br />
| <references/><br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:pbrady|pbrady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:gkotton|gkotton]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|}<br />
<br />
Core functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:gkotton|gkotton]]<br />
| {{result|pass}} <ref> problem with libvirt </ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>instance ip address not displayed by euca-describe-instances</ref><br />
| {{result|pass}} <ref>this appeared in the logs, not sure it is connected [https://bugs.launchpad.net/nova/+bug/934276 lp934276]</ref><br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Markmc|markmc]]<br />
| {{result|pass}} <ref>issue with euca-describe-instances not showing IP addresses {{bz|801452}}</ref> <ref>[https://bugs.launchpad.net/nova/+bug/934276 'dict' object has no attribute 'state'] in logs but that's fixed upstream</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:TripleDES|TripleDES]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Zaitcev|zaitcev]]<br />
| {{result|fail}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
Dashboard functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Dashboard setup]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch instance]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing users]]<br />
! References<br />
<br />
|-<br />
| [[User:crobinso|crobinso]]<br />
| {{result|pass}} <ref>tenant chooser doesn't work {{bz|801208}}</ref><br />
| {{result|none}} <br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>Tracebacks in apache error log and keystone.log, maybe related to {{bz|801208}} </ref><br />
| {{result|pass}} <br />
| {{result|warn}} <ref> Error: Unable to delete project: testproject </ref><br />
| <references/><br />
|-<br />
<br />
<br />
|}<br />
<br />
Extra credit:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_Nova_with_Quantum|Run Nova with Quantum]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
<br />
|-<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>libvirt.libvirtError: internal error process exited while connecting to monitor: qemu-system-x86_64: -netdev tap,fd=28,id=hostnet0,vhost=on,vhostfd=29: vhost-net support is not compiled in</ref><br />
| {{result|none}}<br />
| {{result|pass}} <ref>volume tests failed due to insufficient diskspace, created nova-volumes with only 2Gb</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref> 5 tests failed (expected) </ref><br />
| {{result|fail}} <ref> problem with oz version/config, will retry with more uptodate oz</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|gkotton]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|inprogress}} <ref> problem with libvirt and deploying instances, not related to quantum </ref><br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Markmc|markmc]]<br />
| {{result|pass}} <ref>5 tests failed for me too</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
[[Category:Test Days]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-03-08_OpenStack_Test_Day&diff=276207Test Day:2012-03-08 OpenStack Test Day2012-03-08T23:57:26Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = Fedora Test Days<br />
| image = [[File:Echo-testing-48px.png|link=QA/Fedora_16_test_days]]<br />
| caption = OpenStack Test Day<br />
| date = 2012-03-08<br />
| time = all day<br />
| website = [[QA/Fedora_17_test_days]]<br />
| irc = [irc://irc.freenode.net/#fedora-test-day #fedora-test-day] ([http://webchat.freenode.net/?channels=fedora-test-day webirc])<br />
| fedora_mailing_list = cloud<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== What to test? ==<br />
<br />
This day is for testing the Essex release of OpenStack in Fedora. Check out the [[Features/OpenStack_Essex|OpenStack Essex feature page]] for more details on what's new.<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* [[User:Pbrady|Pádraig Brady]] (pixelbeat)<br />
* [[User:Rkukura|Bob Kukura]] (rkukura)<br />
* [[User:Markmc|Mark McLoughlin]] (markmc)<br />
* [[User:Russellb|Russell Bryant]] (russellb)<br />
* [[User:Apevec|Alan Pevec]] (apevec)<br />
* [[User:Eglynn|Eoghan Glynn]] (eglynn)<br />
* [[User:Vaneldik|Jan van Eldik]] (vaneldik)<br />
* [[User:crobinso|Cole Robinson]] (crobinso)<br />
* [[User:derekh|Derek Higgins]] (derekh)<br />
<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* A [http://fedoraproject.org/get-prerelease fully updated Fedora 17 (virtual) machine].<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, with specific config noted below}}<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== '''Configure sudo''' ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
#> (umask 337; name=<span style="color:red;">markmc</span>; echo "$name ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== '''Update your machine''' ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
$> sudo yum --enablerepo=updates-testing clean all<br />
$> sudo yum update -y<br />
<br />
=== '''Enable the Qpid Broker''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y qpid-cpp-server<br />
$> sudo systemctl start qpidd.service<br />
$> sudo systemctl enable qpidd.service<br />
<br />
=== '''Enable libvirt''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y @virtualization<br />
$> sudo systemctl start libvirtd.service<br />
$> sudo systemctl enable libvirtd.service<br />
<br />
=== '''Optionally Load nbd''' ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
$> sudo modprobe nbd<br />
$> echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
Since we currently have a number of blocking AVC denials (e.g. [https://bugzilla.redhat.com/801330 in glance]), we need to disable SELinux enforcing:<br />
<br />
$> sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
$> sudo setenforce permissive<br />
<br />
Please do note any AVC denials you see and file them in bugzilla if they have not already been reported.<br />
<br />
== Test Cases ==<br />
<br />
When ready, follow the instructions provided in each of the test cases:<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
# [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
# [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
# [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
# [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_Nova_with_Quantum|Run Nova with Quantum]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-keystone openstack-keystone] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
! [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
! [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
! [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
! [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
--><br />
<br />
| [[User:Zaitcev|zaitcev]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Vaneldik|vaneldik]]<br />
| {{result|pass||801054}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|warn}} <ref>side issue {{bz|800704}}</ref><br />
| {{result|fail}} <ref>{{bz|801366}}API server requires X-Auth-Token in order to get response</ref> <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:TripleDES|TripleDES]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:markmc|markmc]]<br />
| {{result|pass}} <ref>newer keystone available in koji; latest glance didn't get pushed to updates-testing</ref><br />
| {{result|pass}} <ref>mysql AVC denials {{bz|801299}} and sqlalchemy deprecated warnings {{bz|801302}}</ref><br />
| {{result|pass}} <ref>webob deprecation warnings {{bz|801312}}</ref><br />
| {{result|pass}} <ref>glance AVC denials {{bz|801330}}</ref><br />
| {{result|pass}} <ref>need SELinux policy for nova-cert {{bz|801352}}</ref><br />
| {{result|pass}} <ref>we need to figure out a way to replace old 'nova-manage project zipfile'</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>newer keystone now available in updates-testing</ref><br />
| {{result|pass}} <ref>I didn't change libvirt_type to qemu</ref><br />
| {{result|pass}} <br />
| {{result|pass}} <ref>sudo setenforce 0 # required to run glance index {{bz|801330#c1}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>only created network (per new instructions)</ref><br />
| <references/><br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:pbrady|pbrady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:gkotton|gkotton]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|}<br />
<br />
Core functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:gkotton|gkotton]]<br />
| {{result|pass}} <ref> problem with libvirt </ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>instance ip address not displayed by euca-describe-instances</ref><br />
| {{result|pass}} <ref>this appeared in the logs, not sure it is connected [https://bugs.launchpad.net/nova/+bug/934276 lp934276]</ref><br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Markmc|markmc]]<br />
| {{result|pass}} <ref>issue with euca-describe-instances not showing IP addresses {{bz|801452}}</ref> <ref>[https://bugs.launchpad.net/nova/+bug/934276 'dict' object has no attribute 'state'] in logs but that's fixed upstream</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:TripleDES|TripleDES]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Zaitcev|zaitcev]]<br />
| {{result|fail}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
Dashboard functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Dashboard setup]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch instance]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing users]]<br />
! References<br />
<br />
|-<br />
| [[User:crobinso|crobinso]]<br />
| {{result|pass}} <ref>tenant chooser doesn't work {{bz|801208}}</ref><br />
| {{result|none}} <br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
<br />
|}<br />
<br />
Extra credit:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_Nova_with_Quantum|Run Nova with Quantum]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
<br />
|-<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>libvirt.libvirtError: internal error process exited while connecting to monitor: qemu-system-x86_64: -netdev tap,fd=28,id=hostnet0,vhost=on,vhostfd=29: vhost-net support is not compiled in</ref><br />
| {{result|none}}<br />
| {{result|pass}} <ref>volume tests failed due to insufficient diskspace, created nova-volumes with only 2Gb</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref> 5 tests failed (expected) </ref><br />
| {{result|fail}} <ref> problem with oz version/config, will retry with more uptodate oz</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|gkotton]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|inprogress}} <ref> problem with libvirt and deploying instances, not related to quantum </ref><br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Markmc|markmc]]<br />
| {{result|pass}} <ref>5 tests failed for me too</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
[[Category:Test Days]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-03-08_OpenStack_Test_Day&diff=276199Test Day:2012-03-08 OpenStack Test Day2012-03-08T23:41:05Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = Fedora Test Days<br />
| image = [[File:Echo-testing-48px.png|link=QA/Fedora_16_test_days]]<br />
| caption = OpenStack Test Day<br />
| date = 2012-03-08<br />
| time = all day<br />
| website = [[QA/Fedora_17_test_days]]<br />
| irc = [irc://irc.freenode.net/#fedora-test-day #fedora-test-day] ([http://webchat.freenode.net/?channels=fedora-test-day webirc])<br />
| fedora_mailing_list = cloud<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== What to test? ==<br />
<br />
This day is for testing the Essex release of OpenStack in Fedora. Check out the [[Features/OpenStack_Essex|OpenStack Essex feature page]] for more details on what's new.<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* [[User:Pbrady|Pádraig Brady]] (pixelbeat)<br />
* [[User:Rkukura|Bob Kukura]] (rkukura)<br />
* [[User:Markmc|Mark McLoughlin]] (markmc)<br />
* [[User:Russellb|Russell Bryant]] (russellb)<br />
* [[User:Apevec|Alan Pevec]] (apevec)<br />
* [[User:Eglynn|Eoghan Glynn]] (eglynn)<br />
* [[User:Vaneldik|Jan van Eldik]] (vaneldik)<br />
* [[User:crobinso|Cole Robinson]] (crobinso)<br />
* [[User:derekh|Derek Higgins]] (derekh)<br />
<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* A [http://fedoraproject.org/get-prerelease fully updated Fedora 17 (virtual) machine].<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, with specific config noted below}}<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== '''Configure sudo''' ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
#> (umask 337; name=<span style="color:red;">markmc</span>; echo "$name ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== '''Update your machine''' ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
$> sudo yum --enablerepo=updates-testing clean all<br />
$> sudo yum update -y<br />
<br />
=== '''Enable the Qpid Broker''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y qpid-cpp-server<br />
$> sudo systemctl start qpidd.service<br />
$> sudo systemctl enable qpidd.service<br />
<br />
=== '''Enable libvirt''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y @virtualization<br />
$> sudo systemctl start libvirtd.service<br />
$> sudo systemctl enable libvirtd.service<br />
<br />
=== '''Optionally Load nbd''' ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
$> sudo modprobe nbd<br />
$> echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
Since we currently have a number of blocking AVC denials (e.g. [https://bugzilla.redhat.com/801330 in glance]), we need to disable SELinux enforcing:<br />
<br />
$> sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
$> sudo setenforce permissive<br />
<br />
Please do note any AVC denials you see and file them in bugzilla if they have not already been reported.<br />
<br />
== Test Cases ==<br />
<br />
When ready, follow the instructions provided in each of the test cases:<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
# [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
# [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
# [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
# [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_Nova_with_Quantum|Run Nova with Quantum]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-keystone openstack-keystone] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
! [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
! [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
! [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
! [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
--><br />
<br />
| [[User:Zaitcev|zaitcev]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Vaneldik|vaneldik]]<br />
| {{result|pass||801054}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|warn}} <ref>side issue {{bz|800704}}</ref><br />
| {{result|fail}} <ref>{{bz|801366}}API server requires X-Auth-Token in order to get response</ref> <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:TripleDES|TripleDES]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:markmc|markmc]]<br />
| {{result|pass}} <ref>newer keystone available in koji; latest glance didn't get pushed to updates-testing</ref><br />
| {{result|pass}} <ref>mysql AVC denials {{bz|801299}} and sqlalchemy deprecated warnings {{bz|801302}}</ref><br />
| {{result|pass}} <ref>webob deprecation warnings {{bz|801312}}</ref><br />
| {{result|pass}} <ref>glance AVC denials {{bz|801330}}</ref><br />
| {{result|pass}} <ref>need SELinux policy for nova-cert {{bz|801352}}</ref><br />
| {{result|pass}} <ref>we need to figure out a way to replace old 'nova-manage project zipfile'</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>newer keystone now available in updates-testing</ref><br />
| {{result|pass}} <ref>I didn't change libvirt_type to qemu</ref><br />
| {{result|pass}} <br />
| {{result|pass}} <ref>sudo setenforce 0 # required to run glance index {{bz|801330#c1}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>only created network (per new instructions)</ref><br />
| <references/><br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:pbrady|pbrady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:gkotton|gkotton]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
|}<br />
<br />
Core functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:gkotton|gkotton]]<br />
| {{result|pass}} <ref> problem with libvirt </ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>instance ip address not displayed by euca-describe-instances</ref><br />
| {{result|pass}} <ref>this appeared in the logs, not sure it is connected [https://bugs.launchpad.net/nova/+bug/934276 lp934276]</ref><br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Markmc|markmc]]<br />
| {{result|pass}} <ref>issue with euca-describe-instances not showing IP addresses {{bz|801452}}</ref> <ref>[https://bugs.launchpad.net/nova/+bug/934276 'dict' object has no attribute 'state'] in logs but that's fixed upstream</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:TripleDES|TripleDES]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Zaitcev|zaitcev]]<br />
| {{result|fail}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
Dashboard functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_OpenStack_dashboard_setup|Dashboard setup]]<br />
! [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch instance]]<br />
! [[QA:Testcase_OpenStack_dashboard_add_users|Managing users]]<br />
! References<br />
<br />
|-<br />
| [[User:crobinso|crobinso]]<br />
| {{result|pass}} <ref>tenant chooser doesn't work {{bz|801208}}</ref><br />
| {{result|none}} <br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}}<br />
| {{result|none}} <br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
<br />
|}<br />
<br />
Extra credit:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_Nova_with_Quantum|Run Nova with Quantum]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
<br />
|-<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|fail}} <ref>libvirt.libvirtError: internal error process exited while connecting to monitor: qemu-system-x86_64: -netdev tap,fd=28,id=hostnet0,vhost=on,vhostfd=29: vhost-net support is not compiled in</ref><br />
| {{result|none}}<br />
| {{result|pass}} <ref>volume tests failed due to insufficient diskspace, created nova-volumes with only 2Gb</ref><br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref> 5 tests failed (expected) </ref><br />
| {{result|fail}} <ref> problem with oz version/config, will retry with more uptodate oz</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:gkotton|gkotton]]<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|inprogress}} <ref> problem with libvirt and deploying instances, not related to quantum </ref><br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Markmc|markmc]]<br />
| {{result|pass}} <ref>5 tests failed for me too</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
[[Category:Test Days]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_run_the_OpenStack_smoke_tests&diff=275990QA:Testcase run the OpenStack smoke tests2012-03-08T15:17:55Z<p>Derekh: </p>
<hr />
<div>{{QA/Test_Case<br />
|description=Nova comes with a selection of fairly basic smoke tests which you can run against your installation.<br />
It can be useful to use these to sanity check your configuration.<br />
<br />
|setup=<br />
You need these packages<br />
<br />
$> sudo yum install python-nose python-paramiko fedpkg python-nova-adminclient<br />
<br />
Make sure you have a block of floating IPs created, also as described above.<br />
<br />
|actions=Then, run the tests from a fedpkg checkout:<br />
<br />
$> git clone git://pkgs.fedoraproject.org/openstack-nova.git<br />
$> cd openstack-nova<br />
$> git checkout f17<br />
$> fedpkg prep<br />
$> cd nova-2012.1/smoketests<br />
$> python ./run_tests.py<br />
<br />
|results=<br />
Ensure all tests pass<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_run_the_OpenStack_smoke_tests&diff=275981QA:Testcase run the OpenStack smoke tests2012-03-08T15:10:42Z<p>Derekh: </p>
<hr />
<div>{{QA/Test_Case<br />
|description=Nova comes with a selection of fairly basic smoke tests which you can run against your installation.<br />
It can be useful to use these to sanity check your configuration.<br />
<br />
|setup=<br />
You need these packages<br />
<br />
$> sudo yum install python-nose python-paramiko fedpkg python-nova-adminclient<br />
<br />
Make sure you have a block of floating IPs created, also as described above.<br />
<br />
|actions=Then, run the tests from a fedpkg checkout:<br />
<br />
$> git clone git://pkgs.fedoraproject.org/openstack-nova.git<br />
$> cd openstack-nova<br />
$> git checkout f16<br />
$> fedpkg prep<br />
$> cd nova-2011.3/smoketests<br />
$> python ./run_tests.py<br />
<br />
|results=<br />
Ensure all tests pass<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-03-08_OpenStack_Test_Day&diff=275975Test Day:2012-03-08 OpenStack Test Day2012-03-08T15:07:20Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = Fedora Test Days<br />
| image = [[File:Echo-testing-48px.png|link=QA/Fedora_16_test_days]]<br />
| caption = OpenStack Test Day<br />
| date = 2012-03-08<br />
| time = all day<br />
| website = [[QA/Fedora_17_test_days]]<br />
| irc = [irc://irc.freenode.net/#fedora-test-day #fedora-test-day] ([http://webchat.freenode.net/?channels=fedora-test-day webirc])<br />
| fedora_mailing_list = cloud<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== What to test? ==<br />
<br />
This day is for testing the Essex release of OpenStack in Fedora. Check out the [[Features/OpenStack_Essex|OpenStack Essex feature page]] for more details on what's new.<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* [[User:Pbrady|Pádraig Brady]] (pixelbeat)<br />
* [[User:Rkukura|Bob Kukura]] (rkukura)<br />
* [[User:Markmc|Mark McLoughlin]] (markmc)<br />
* [[User:Russellb|Russell Bryant]] (russellb)<br />
* [[User:Apevec|Alan Pevec]] (apevec)<br />
* [[User:Eglynn|Eoghan Glynn]] (eglynn)<br />
* [[User:Vaneldik|Jan van Eldik]] (vaneldik)<br />
* [[User:crobinso|Cole Robinson]] (crobinso)<br />
* [[User:derekh|Derek Higgins]] (derekh)<br />
<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* A [http://fedoraproject.org/get-prerelease fully updated Fedora 17 (virtual) machine].<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, with specific config noted below}}<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== '''Configure sudo''' ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
#> (umask 337; name=<span style="color:red;">markmc</span>; echo "$name ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== '''Update your machine''' ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
$> sudo yum --enablerepo=updates-testing clean all<br />
$> sudo yum update -y<br />
<br />
=== '''Enable the Qpid Broker''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y qpid-cpp-server<br />
$> sudo systemctl start qpidd.service<br />
$> sudo systemctl enable qpidd.service<br />
<br />
=== '''Enable libvirt''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y @virtualization<br />
$> sudo systemctl start libvirtd.service<br />
$> sudo systemctl enable libvirtd.service<br />
<br />
=== '''Optionally Load nbd''' ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
$> sudo modprobe nbd<br />
$> echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
Since we currently have a number of blocking AVC denials (e.g. [https://bugzilla.redhat.com/801330 in glance]), we need to disable SELinux enforcing:<br />
<br />
$> sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
$> sudo setenforce permissive<br />
<br />
Please do note any AVC denials you see and file them in bugzilla if they have not already been reported.<br />
<br />
== Test Cases ==<br />
<br />
When ready, follow the instructions provided in each of the test cases:<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
# [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
# [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
# [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
# [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_register_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_Nova_with_Quantum|Run Nova with Quantum]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-keystone openstack-keystone] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
! [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
! [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
! [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
! [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_register_images_with_OpenStack|Register images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
--><br />
| [[User:Zaitcev|zaitcev]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|warn}} <ref>side issue {{bz|800704}}</ref><br />
| {{result|fail}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Vaneldik|vaneldik]]<br />
| {{result|warn||801054}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|warn}} <ref>side issue {{bz|800704}}</ref><br />
| {{result|fail}} <ref>{{bz|801366}}API server requires X-Auth-Token in order to get response</ref> <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Sergio|sergio]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:markmc|markmc]]<br />
| {{result|pass}} <ref>newer keystone available in koji; latest glance didn't get pushed to updates-testing</ref><br />
| {{result|pass}} <ref>mysql AVC denials {{bz|801299}} and sqlalchemy deprecated warnings {{bz|801302}}</ref><br />
| {{result|pass}} <ref>webob deprecation warnings {{bz|801312}}</ref><br />
| {{result|pass}} <ref>glance AVC denials {{bz|801330}}</ref><br />
| {{result|pass}} <ref>need SELinux policy for nova-cert {{bz|801352}}</ref><br />
| {{result|pass}} <ref>we need to figure out a way to replace old 'nova-manage project zipfile'</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>newer keystone now available in updates-testing</ref><br />
| {{result|pass}} <ref>I didn't change libvirt_type to qemu</ref><br />
| {{result|pass}} <br />
| {{result|pass}} <ref>sudo setenforce 0 # required to run glance index {{bz|801330#c1}}</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>only created network (per new instructions)</ref><br />
| <references/><br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:pbrady|pbrady]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
--><br />
<br />
|}<br />
<br />
Core functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>instance ip address not displayed by euca-describe-instances</ref><br />
| {{result|pass}} <ref>this appeared in the logs, not sure it is connected [https://bugs.launchpad.net/nova/+bug/934276 lp934276]</ref><br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
Extra credit:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
<br />
|-<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
|-<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref> 5 tests failed (expected) </ref><br />
| {{result|fail}} <ref> problem with oz version/config, will retry with more uptodate oz</ref><br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
[[Category:Test Days]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_run_the_OpenStack_smoke_tests&diff=275972QA:Testcase run the OpenStack smoke tests2012-03-08T15:02:37Z<p>Derekh: </p>
<hr />
<div>{{QA/Test_Case<br />
|description=Nova comes with a selection of fairly basic smoke tests which you can run against your installation.<br />
It can be useful to use these to sanity check your configuration.<br />
<br />
|setup=First off, you need the nova-adminclient python library which isn't yet packaged:<br />
<br />
$> sudo yum install python-nova-adminclient --enablerepo=updates-testing -y<br />
<br />
You also need these packages<br />
<br />
$> sudo yum install python-nose python-paramiko fedpkg<br />
<br />
Make sure you have a block of floating IPs created, also as described above.<br />
<br />
|actions=Then, run the tests from a fedpkg checkout:<br />
<br />
$> git clone git://pkgs.fedoraproject.org/openstack-nova.git<br />
$> cd openstack-nova<br />
$> git checkout f16<br />
$> fedpkg prep<br />
$> cd nova-2011.3/smoketests<br />
$> python ./run_tests.py<br />
<br />
|results=<br />
Ensure all tests pass<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_separate_OpenStack_compute_node&diff=275944QA:Testcase separate OpenStack compute node2012-03-08T14:33:50Z<p>Derekh: </p>
<hr />
<div>{{QA/Test_Case<br />
|description=<br />
<br />
Everything so far has been done on a single node.<br />
Here we add another (virtual) node for running VMs.<br />
<br />
Let's assume the machine you've set up above is called 'controller' and the new machine is called 'node'.<br />
<br />
|setup=<br />
<br />
Open the rabbitmq, MySQL, Nova API and iSCSI ports on controller:<br />
<br />
$ controller> sudo lokkit -p 3306:tcp<br />
$ controller> sudo lokkit -p 5672:tcp<br />
$ controller> sudo lokkit -p 9292:tcp<br />
$ controller> sudo lokkit -p 3260:tcp<br />
$ controller> sudo service libvirtd reload<br />
<br />
Configure the network with a physical bridge interface:<br />
<br />
$ controller> sudo service openstack-nova-network stop<br />
$ controller> sudo ip link set testnetbr0 down<br />
$ controller> sudo brctl delbr testnetbr0<br />
$ controller> sudo kill -9 $(cat /var/lib/nova/networks/nova-testnetbr0.pid)<br />
$ controller> mysql -unova -pnova nova -e 'update networks set bridge_interface="em1" where label="admin"'<br />
$ controller> sudo service openstack-nova-network start<br />
<br />
Make sure that ntp is enabled on both machines:<br />
<br />
$> sudo yum install -y ntp<br />
$> sudo service ntpd start<br />
$> sudo chkconfig ntpd on<br />
<br />
On the compute node, follow the "Configure sudo", "Update your machine", "Enable libvirt", "Disable SELinux" and "Load nbd" instructions from [[Test_Day:2012-03-08_OpenStack_Test_Day|the main page]].<br />
<br />
Configure nova so that node can find the services on controller:<br />
<br />
$ node> echo '1.2.3.4 controller' <nowiki>| sudo tee -a /etc/hosts</nowiki><br />
$ node> echo '--rabbit_host=controller' <nowiki>| sudo tee -a /etc/nova/nova.conf</nowiki><br />
$ node> echo '--sql_connection=mysql://nova:nova@controller/nova' <nowiki>| sudo tee -a /etc/nova/nova.conf</nowiki><br />
$ node> echo '--glance_api_servers=controller:9292' <nowiki>| sudo tee -a /etc/nova/nova.conf</nowiki><br />
$ node> echo '--iscsi_ip_prefix=172.31.0.107' <nowiki>| sudo tee -a /etc/nova/nova.conf</nowiki><br />
<br />
Enable the compute service:<br />
<br />
$ node> for svc in compute network; do sudo service openstack-nova-$svc start; done<br />
$ node> for svc in compute network; do sudo chkconfig openstack-nova-$svc on; done<br />
<br />
|actions=<br />
Now when the controller launches instances (see: [[QA:Testcase_launch_an_instance_on_OpenStack]]),<br />
they're started either on the controller or node.<br />
<br />
|results=<br />
Verify where instances are running with euca-describe-instances<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_run_Tempest_tests&diff=275940QA:Testcase run Tempest tests2012-03-08T14:20:50Z<p>Derekh: </p>
<hr />
<div>{{QA/Test_Case<br />
|description=Run Tempest test cases.<br />
|setup=Assumes keystone, nova and glance are already configured and running.<br />
<br />
Ensure nova is configured to allow resizing of instances on a single host:<br />
$> <nowiki>echo 'allow_resize_to_same_host = True' | sudo tee -a /etc/nova/nova.conf </nowiki><br />
$> for svc in api compute scheduler; do sudo systemctl restart openstack-nova-$svc.service; done<br />
<br />
Install test dependencies:<br />
$> sudo yum install -y python-nose python-unittest2<br />
<br />
Create a temporary directory to work from:<br />
$> mkdir /tmp/tempest<br />
$> cd /tmp/tempest<br />
<br />
Upload some test images:<br />
<pre><br />
$> wget http://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-uec.tar.gz<br />
$> gunzip cirros-0.3.0-x86_64-uec.tar.gz <br />
$> tar xvf cirros-0.3.0-x86_64-uec.tar <br />
$> KERNEL_ID=$(glance add name=cirros-0.3.0-x86_64-kernel is_public=true container_format=aki disk_format=aki --silent-upload \<br />
< cirros-0.3.0-x86_64-vmlinuz | cut -f2 -d:) <br />
$> RAMDISK_ID=$(glance add name=cirros-0.3.0-x86_64-ramdisk is_public=true container_format=ari disk_format=ari --silent-upload \<br />
< cirros-0.3.0-x86_64-initrd | cut -f2 -d:)<br />
$> IMAGE_ID=$(glance add name=cirros-0.3.0-x86_64 is_public=true container_format=ami disk_format=ami "kernel_id=$KERNEL_ID" \<br />
"ramdisk_id=$RAMDISK_ID" --silent-upload < <(zcat --force cirros-0.3.0-x86_64-blank.img) | cut -f2 -d:)<br />
</pre><br />
<br />
Clone the Tempest repo:<br />
$> git clone https://github.com/openstack/tempest.git<br />
$> cd tempest<br />
<br />
Create tempest config:<br />
$> cd etc<br />
$> wget https://s3.amazonaws.com/openstack-tempest/config.ini<br />
$> wget https://s3.amazonaws.com/openstack-tempest/tempest.conf<br />
$> sed -i "s/%IMAGE_ID%/$IMAGE_ID/" tempest.conf<br />
$> cd ..<br />
<br />
|actions=<br />
Run Tempest tests with nose:<br />
$> nosetests tempest<br />
<br />
|results=<br />
<br />
The time taken to run the testsuite is quite variable, and ranges from ~20 minutes on an EC2 large instance to circa twice that on a VM with 2Gb RAM and 2 CPUs running on a moderately powered laptop.<br />
<br />
The majority of the tests should pass, though you may hit some failures due to timeout or resource starvation (for example breaching the floating IPs quota).<br />
<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_run_Tempest_tests&diff=275936QA:Testcase run Tempest tests2012-03-08T14:15:35Z<p>Derekh: Undo revision 275935 by Derekh (talk)</p>
<hr />
<div>{{QA/Test_Case<br />
|description=Run Tempest test cases.<br />
|setup=Assumes keystone, nova and glance are already configured and running.<br />
<br />
Ensure nova is configured to allow resizing of instances on a single host:<br />
$> sudo echo "allow_resize_to_same_host = True" >> /etc/nova/nova.conf <br />
$> for svc in api compute scheduler; do sudo systemctl restart openstack-nova-$svc.service; done<br />
<br />
Install test dependencies:<br />
$> sudo yum install -y python-nose python-unittest2<br />
<br />
Create a temporary directory to work from:<br />
$> mkdir /tmp/tempest<br />
$> cd /tmp/tempest<br />
<br />
Upload some test images:<br />
<pre><br />
$> wget http://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-uec.tar.gz<br />
$> gunzip cirros-0.3.0-x86_64-uec.tar.gz <br />
$> tar xvf cirros-0.3.0-x86_64-uec.tar <br />
$> KERNEL_ID=$(glance add name=cirros-0.3.0-x86_64-kernel is_public=true container_format=aki disk_format=aki --silent-upload \<br />
< cirros-0.3.0-x86_64-vmlinuz | cut -f2 -d:) <br />
$> RAMDISK_ID=$(glance add name=cirros-0.3.0-x86_64-ramdisk is_public=true container_format=ari disk_format=ari --silent-upload \<br />
< cirros-0.3.0-x86_64-initrd | cut -f2 -d:)<br />
$> IMAGE_ID=$(glance add name=cirros-0.3.0-x86_64 is_public=true container_format=ami disk_format=ami "kernel_id=$KERNEL_ID" \<br />
"ramdisk_id=$RAMDISK_ID" --silent-upload < <(zcat --force cirros-0.3.0-x86_64-blank.img) | cut -f2 -d:)<br />
</pre><br />
<br />
Clone the Tempest repo:<br />
$> git clone https://github.com/openstack/tempest.git<br />
$> cd tempest<br />
<br />
Create tempest config:<br />
$> cd etc<br />
$> wget https://s3.amazonaws.com/openstack-tempest/config.ini<br />
$> wget https://s3.amazonaws.com/openstack-tempest/tempest.conf<br />
$> sed -i "s/%IMAGE_ID%/$IMAGE_ID/" tempest.conf<br />
$> cd ..<br />
<br />
|actions=<br />
Run Tempest tests with nose:<br />
$> nosetests tempest<br />
<br />
|results=<br />
<br />
The time taken to run the testsuite is quite variable, and ranges from ~20 minutes on an EC2 large instance to circa twice that on a VM with 2Gb RAM and 2 CPUs running on a moderately powered laptop.<br />
<br />
The majority of the tests should pass, though you may hit some failures due to timeout or resource starvation (for example breaching the floating IPs quota).<br />
<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=QA:Testcase_run_Tempest_tests&diff=275935QA:Testcase run Tempest tests2012-03-08T14:14:44Z<p>Derekh: </p>
<hr />
<div>{{QA/Test_Case<br />
|description=Run Tempest test cases.<br />
|setup=Assumes keystone, nova and glance are already configured and running.<br />
<br />
Ensure nova is configured to allow resizing of instances on a single host:<br />
$> echo 'allow_resize_to_same_host = True' | sudo tee -a /etc/nova/nova.conf<br />
$> for svc in api compute scheduler; do sudo systemctl restart openstack-nova-$svc.service; done<br />
<br />
Install test dependencies:<br />
$> sudo yum install -y python-nose python-unittest2<br />
<br />
Create a temporary directory to work from:<br />
$> mkdir /tmp/tempest<br />
$> cd /tmp/tempest<br />
<br />
Upload some test images:<br />
<pre><br />
$> wget http://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-uec.tar.gz<br />
$> gunzip cirros-0.3.0-x86_64-uec.tar.gz <br />
$> tar xvf cirros-0.3.0-x86_64-uec.tar <br />
$> KERNEL_ID=$(glance add name=cirros-0.3.0-x86_64-kernel is_public=true container_format=aki disk_format=aki --silent-upload \<br />
< cirros-0.3.0-x86_64-vmlinuz | cut -f2 -d:) <br />
$> RAMDISK_ID=$(glance add name=cirros-0.3.0-x86_64-ramdisk is_public=true container_format=ari disk_format=ari --silent-upload \<br />
< cirros-0.3.0-x86_64-initrd | cut -f2 -d:)<br />
$> IMAGE_ID=$(glance add name=cirros-0.3.0-x86_64 is_public=true container_format=ami disk_format=ami "kernel_id=$KERNEL_ID" \<br />
"ramdisk_id=$RAMDISK_ID" --silent-upload < <(zcat --force cirros-0.3.0-x86_64-blank.img) | cut -f2 -d:)<br />
</pre><br />
<br />
Clone the Tempest repo:<br />
$> git clone https://github.com/openstack/tempest.git<br />
$> cd tempest<br />
<br />
Create tempest config:<br />
$> cd etc<br />
$> wget https://s3.amazonaws.com/openstack-tempest/config.ini<br />
$> wget https://s3.amazonaws.com/openstack-tempest/tempest.conf<br />
$> sed -i "s/%IMAGE_ID%/$IMAGE_ID/" tempest.conf<br />
$> cd ..<br />
<br />
|actions=<br />
Run Tempest tests with nose:<br />
$> nosetests tempest<br />
<br />
|results=<br />
<br />
The time taken to run the testsuite is quite variable, and ranges from ~20 minutes on an EC2 large instance to circa twice that on a VM with 2Gb RAM and 2 CPUs running on a moderately powered laptop.<br />
<br />
The majority of the tests should pass, though you may hit some failures due to timeout or resource starvation (for example breaching the floating IPs quota).<br />
<br />
}}<br />
<br />
[[Category:OpenStack Test Cases]]<br />
[[Category:Cloud SIG]]</div>Derekhhttps://fedoraproject.org/w/index.php?title=Test_Day:2012-03-08_OpenStack_Test_Day&diff=275895Test Day:2012-03-08 OpenStack Test Day2012-03-08T13:21:12Z<p>Derekh: </p>
<hr />
<div>{{Infobox_group<br />
| name = Fedora Test Days<br />
| image = [[File:Echo-testing-48px.png|link=QA/Fedora_16_test_days]]<br />
| caption = OpenStack Test Day<br />
| date = 2012-03-08<br />
| time = all day<br />
| website = [[QA/Fedora_17_test_days]]<br />
| irc = [irc://irc.freenode.net/#fedora-test-day #fedora-test-day] ([http://webchat.freenode.net/?channels=fedora-test-day webirc])<br />
| fedora_mailing_list = cloud<br />
}}<br />
<br />
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}<br />
<br />
== What to test? ==<br />
<br />
This day is for testing the Essex release of OpenStack in Fedora. Check out the [[Features/OpenStack_Essex|OpenStack Essex feature page]] for more details on what's new.<br />
<br />
== Who's available ==<br />
<br />
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...<br />
<br />
* [[User:Pbrady|Pádraig Brady]] (pixelbeat)<br />
* [[User:Rkukura|Bob Kukura]] (rkukura)<br />
* [[User:Markmc|Mark McLoughlin]] (markmc)<br />
* [[User:Russellb|Russell Bryant]] (russellb)<br />
* [[User:Apevec|Alan Pevec]] (apevec)<br />
* [[User:Eglynn|Eoghan Glynn]] (eglynn)<br />
* [[User:Vaneldik|Jan van Eldik]] (vaneldik)<br />
* [[User:crobinso|Cole Robinson]] (crobinso)<br />
* [[User:derekh|Derek Higgins]] (derekh)<br />
<br />
<br />
== Prerequisite for Test Day == <br />
<br />
* A [http://fedoraproject.org/get-prerelease fully updated Fedora 17 (virtual) machine].<br />
* Hardware virtualization support (e.g. Intel VT or AMD-V).<br />
* Up to 10-20Gb free disk space. Guest images take up a lot of space.<br />
<br />
{{admon/note|Hardware Requirements|You can do basic testing of OpenStack in a virtual machine, with specific config noted below}}<br />
<br />
== How to test? ==<br />
<br />
Follow the steps below to prepare the machine, then follow each of the test cases in order.<br />
<br />
=== '''Configure sudo''' ===<br />
<br />
Add <span style="color:red;">your account</span> to sudoers, which can be done from a root prompt like:<br />
<br />
#> (umask 337; name=<span style="color:red;">markmc</span>; echo "$name ALL = (ALL) NOPASSWD: ALL" > /etc/sudoers.d/testday)<br />
<br />
=== '''Update your machine''' ===<br />
<br />
Make sure you have all the current updates for it installed:<br />
<br />
$> sudo yum --enablerepo=updates-testing clean all<br />
$> sudo yum update -y<br />
<br />
=== '''Enable the Qpid Broker''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y qpid-cpp-server<br />
$> sudo systemctl start qpidd.service<br />
$> sudo systemctl enable qpidd.service<br />
<br />
=== '''Enable libvirt''' ===<br />
<br />
$> sudo yum install --enablerepo=updates-testing -y @virtualization<br />
$> sudo systemctl start libvirtd.service<br />
$> sudo systemctl enable libvirtd.service<br />
<br />
=== '''Optionally Load nbd''' ===<br />
<br />
If you don't perform this optional step,<br />
then libguestfs will be used to inject files into qcow2 images.<br />
Note however that is slower, especially if testing openstack within a VM<br />
<br />
$> sudo modprobe nbd<br />
$> echo nbd | sudo tee -a /etc/modules-load.d/nbd.conf<br />
<br />
=== Put SELinux into Permissive Mode ===<br />
<br />
Since we currently have a number of blocking AVC denials (e.g. [https://bugzilla.redhat.com/801330 in glance]), we need to disable SELinux enforcing:<br />
<br />
$> sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config<br />
$> sudo setenforce permissive<br />
<br />
Please do note any AVC denials you see and file them in bugzilla if they have not already been reported.<br />
<br />
== Test Cases ==<br />
<br />
When ready, follow the instructions provided in each of the test cases:<br />
<br />
Basic setup:<br />
<br />
# [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
# [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
# [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
# [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
# [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
# [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
# [[QA:Testcase_download_and_register_guest_images_with_OpenStack|Register guest images]]<br />
# [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
<br />
Core functionality:<br />
<br />
# [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
# [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
# [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
# [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
<br />
Dashboard functionality:<br />
<br />
# [[QA:Testcase_OpenStack_dashboard_setup|Basic dashboard setup and login]]<br />
# [[QA:Testcase_OpenStack_dashboard_launch_instance|Launch/terminate an instance with the dashboard]]<br />
# [[QA:Testcase_OpenStack_dashboard_add_users|Managing projects and users with the dashboard]]<br />
<br />
Extra credit:<br />
<br />
# [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
# [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
# [[QA:Testcase_run_Nova_with_Quantum|Run Nova with Quantum]]<br />
# [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
<br />
== Test Results ==<br />
<br />
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for one of the [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-nova openstack-nova], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-glance openstack-glance], [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-keystone openstack-keystone] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=17&component=openstack-swift openstack-swift] components. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you.<br />
<br />
Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.<br />
<br />
Basic setup:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_install_OpenStack_packages|Install the packages]]<br />
! [[QA:Testcase_setup_OpenStack_Nova|Setup Nova]]<br />
! [[QA:Testcase_setup_OpenStack_Keystone|Setup Keystone]]<br />
! [[QA:Testcase_start_OpenStack_Glance_services|Start glance services]]<br />
! [[QA:Testcase_start_OpenStack_Nova_services|Start nova services]]<br />
! [[QA:Testcase_add_SSH_keypair_to_OpenStack|Add SSH keypair]]<br />
! [[QA:Testcase_download_and_register_tty_images_with_OpenStack|Register tty images]]<br />
! [[QA:Testcase_create_OpenStack_nova_network|Create nova network]]<br />
! References<br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
--><br />
| [[User:Zaitcev|zaitcev]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|warn}} <ref>side issue {{bz|800704}}</ref><br />
| {{result|fail}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Vaneldik|vaneldik]]<br />
| {{result|warn||801054}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>needs fixups per [[Getting_started_with_OpenStack_on_Fedora_17]]</ref><br />
| {{result|warn}} <ref>side issue {{bz|800704}}</ref><br />
| {{result|fail}} <ref>{{bz|801366}}API server requires X-Auth-Token in order to get response</ref> <br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
| [[User:Sergio|sergio]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <br />
| {{result|pass}} <br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:markmc|markmc]]<br />
| {{result|pass}} <ref>newer keystone available in koji; latest glance didn't get pushed to updates-testing</ref><br />
| {{result|pass}} <ref>mysql AVC denials {{bz|801299}} and sqlalchemy deprecated warnings {{bz|801302}}</ref><br />
| {{result|pass}} <ref>webob deprecation warnings {{bz|801312}}</ref><br />
| {{result|pass}} <ref>glance AVC denials {{bz|801330}}</ref><br />
| {{result|pass}} <ref>need SELinux policy for nova-cert {{bz|801352}}</ref><br />
| {{result|pass}} <ref>we need to figure out a way to replace old 'nova-manage project zipfile'</ref><br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>newer keystone now available in updates-testing</ref><br />
| {{result|pass}} <ref>I didn't change libvirt_type to qemu</ref><br />
| {{result|pass}} <br />
| {{result|pass}} <ref>sudo setenforce 0 # required to run glance index</ref><br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}} <ref>only created network (per new instructions)</ref><br />
| <references/><br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| <references/><br />
|-<br />
<br />
--><br />
<br />
|}<br />
<br />
Core functionality:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_launch_an_instance_on_OpenStack|Launch an instance]]<br />
! [[QA:Testcase_attach_a_volume_to_an_instance|Attach a volume]]<br />
! [[QA:Testcase_OpenStack_floating_IPs|Floating IPs]]<br />
! [[QA:Testcase_separate_OpenStack_compute_node|Separate compute node]]<br />
! References<br />
|-<br />
<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
| [[User:derekh|derekh]]<br />
| {{result|pass}} <ref>instance ip address not displayed by euca-describe-instances</ref><br />
| {{result|pass}} <ref>this appeared in the logs, not sure it is connected [https://bugs.launchpad.net/nova/+bug/934276 lp934276]</ref><br />
| {{result|pass}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|none}}<br />
| {{result|pass}}<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
Extra credit:<br />
<br />
{|<br />
! User<br />
! [[QA:Testcase_run_Tempest_tests|Tempest tests]]<br />
! [[QA:Testcase_build_an_OpenStack_guest_image_with_Oz|Build an image with Oz]]<br />
! [[QA:Testcase_run_the_OpenStack_smoke_tests|Smoke tests]]<br />
! References<br />
<br />
|-<br />
| [[User:eglynn|eglynn]]<br />
| {{result|pass}}<br />
| {{result|none}}<br />
| {{result|none}}<br />
| <references/><br />
|-<br />
<br />
<!--<br />
| [[User:SampleUser|Sample User]]<br />
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref><br />
| {{result|fail}} <ref>{{bz|12345}}</ref><br />
| <references/><br />
|-<br />
--><br />
|}<br />
<br />
[[Category:Test Days]]<br />
[[Category:Cloud SIG]]</div>Derekh