Rewrite test plan in RST

Change-Id: I1edf0660b9bbc201486dc3114248bd9d80de61d0
This commit is contained in:
John Hua 2016-04-14 19:05:48 +08:00 committed by Bob Ball
parent 6e81e37b15
commit d202d64d87
8 changed files with 659 additions and 1 deletions

View File

@ -125,6 +125,8 @@ latexpdf:
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
mv $(BUILDDIR)/latex/test-plan.pdf .
mv $(BUILDDIR)/latex/test-report.pdf .
latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex

View File

@ -44,6 +44,8 @@ source_suffix = '.rst'
# The master toctree document.
master_doc = 'index'
test_plan = 'test-plan'
test_report = 'test-report'
# General information about the project.
project = u'fuel-plugin-xenserver'
@ -225,7 +227,11 @@ latex_elements = {
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'fuel-plugin-xenserver.tex', u'fuel-plugin-xenserver Documentation',
u'John Hua (john.hua@citrix.com)', 'manual'),
author, 'manual'),
(test_plan, 'test-plan.tex', u'Test Plan for XenServer Fuel Plugin',
author, 'howto'),
(test_report, 'test-report.tex', u'Test Report for XenServer Fuel Plugin',
author, 'howto'),
]
# The name of an image file (relative to this directory) to place at the top of

448
doc/source/test-plan.rst Normal file
View File

@ -0,0 +1,448 @@
Test Plan for XenServer Fuel Plugin
===================================
XenServer Fuel Plugin
=====================
XenServer Fuel Plugin will help to deploy Mirantis OpenStack using the
XenServer hypervisor to host virtual machines, making all the necessary
changes to the Mirantis OpenStack to use the xenapi Nova compute driver.
Developers Specification
=========================
See developers specification in the source code repository at
https://git.openstack.org/openstack/fuel-plugin-xenserver
Limitations
-----------
This version of XenServer Fuel Plugin has not been certified to work with the
Ceilometer, MongoDB or Murano additional services. Future versions of the
plugin will relax these restrictions.
Test strategy
=============
Acceptance criteria
-------------------
All tests that do not depend on additional services must pass.
Test environment, infrastructure and tools
------------------------------------------
All tests need to be run under a cluster of at least 4 XenServer machines
with 3 physical NICs. As HA and multihost are enabled, a topology of 3
Controller Nodes + 3 Compute Nodes + 1 Storage Node will be recommended to be
created as VMs on XenServer machines. Easy setup and management of those
XenServers and VM Nodes can be achieved using XenCenter and a plugin,
described below, to add an internal management network to VMs.
To simplify setup, the fuel master is also installed on the XenServer hosts
(so XenServer hosts can fully control the network setup), but this is not
required.
While many networking setups are expected to work, the following setup is
used by this test plan:
* eth0 / “Access network”: Used to access the XenServer hosts and the Fuel
Masters web interface
* eth1 / “Control network”: OpenStack control plane (management and storage),
the PXE network and the public network; all separated by VLAN tags. The
public network is also on this network, and if a VLAN is required this is
applied by the switch for untagged traffic.
* eth2 / “VLAN network”: This version of the plugin only supports VLAN
segmentation for Neutron networking. This device carries all of the VLANs to
be used by Neutron for VM traffic.
.. image:: _static/topology00.png
:width: 80%
Product compatibility matrix
----------------------------
The plugin is compatible with MOS 8.0 and XenServer 6.5 SP1, with all
hotfixes applied (Especially hotfix XS65ESP1013).
Prerequirements
===============
Prepare XenServers
------------------
#. Install and start XenCenter on your Windows PC
#. Add new servers with a common root password in XenCenter
#. Plug three physical NIC to each of all XenServer machines, make sure the
cabling of all NIC 0 are attached to the access network, all NIC 1 to the
public network and NIC 2 are attached to the isolated, VLAN network.
It is recommended to rename these networks using XenCenter to make the
network topology clear.
#. Add a further network, with a vlan tag that will be used for PXE.
Prepare Fuel Master
-------------------
#. Upload Fuel ISO to a NFS/Samba server and make it accessible to your
XenServer hosts.
#. Select a XenServer and click “New Storage” button, in the popup window
check on CIFS/NFS ISO library and input NFS/Samba server path.
#. Create a new VM in XenCenter using the “Other Install Media” template (to
ensure a HVM domain is created) with and PXE network as eth0 and access
network as eth1. In the Console Tab, insert Fuel ISO and install.
#. In fuel menu, enable eth1 with DHCP so the fuel master can be accessed
over the access network.
#. Select Fuel Master in XenCenter and switch to Console tab, login with
prompted user and password
#. Visit http://ip_of_fuel_master:8000 in browser.
Type of testing
===============
Install XenServer Fuel Plugin
-----------------------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- insall_xfp
* - Description
- Verify that XenServer Fuel Plugin can be installed into Fuel Master,
and the new OpenStack release is registered.
* - Steps
-
| ``[root@fuel-master ~]# fuel plugins``
| ``id | name | version | package_version``
| ``9 | fuel-plugin-xenserver | 3.0.0 | 3.0.0``
* - Expected Result
-
| ``fuel plugins``
| ``id | name | version | package_version``
| ``2 | fuel-plugin-xenserver | 3.0.0 | 3.0.0``
| ``fuel rel``
| ``id | name | state | operating_system | version``
| ``2 | Liberty on Ubuntu 14.04 | available | Ubuntu | liberty-8.0``
| ``3 | Liberty+Citrix XenServer on Ubuntu 14.04 | available | Ubuntu | liberty-8.0``
| ``1 | Liberty on CentOS 6.5 | unavailable | CentOS | liberty-8.0``
Prepare Nodes
-------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- prepare_nodes
* - Description
- Verify all controller/compute/storage nodes are ready for PXE install.
* - Steps
-
#. Create 3 new VMs in XenCenter in different XenServers and name them
Controller1, Controller2, Controller3
#. Create 3 new VMs in XenCenter in different XenServers and name them
Compute1, Compute2, Compute3
#. Create 1 new VM in XenCenter and name it Storage1
#. Add PXE network as eth0, Public/Management/Storage network as
eth1 and VLAN network as eth2 to each of new VMs created above.
* - Expected Result
- All nodes are shown in XenCenter with PXE network as eth0 and VLAN
network as eth1.
Install XenCenter HIMN plugin
-----------------------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- install_xcp
* - Description
- Verify XenCenter HIMN plugin is installed to Windows.
* - Steps
-
#. Download SetupHIMN from http://ca.downloads.xensource.com/OpenStack/Plugins/
#. Install MSI to your XenCenter
#. Restart XenCenter
* - Expected Result
- Right click on any selected VMs, there will be a menu item “Manage
internal management network”.
Add Host Internal Management Network to Compute Nodes
-----------------------------------------------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- add_himn
* - Description
- Verify (or add) Host Internal Management Network is added to all
Compute Nodes.
* - Steps
-
#. Select Compute1, Compute2, Compute3 in XenCenter
#. Right click on above nodes and select “Manage internal management
network” menu.
#. In the popup window, after status detection, make sure all selected
Compute nodes are checked on. Click on “Manage internal management
network” button.
#. After processing, the status column should be shown as management
network is added with new generated MAC address
#. Close the management network window
* - Expected Result
- The wizard will report success, however the networks may not be
visible in XenCenter.
Create an OpenStack environment with XenServer Fuel Plugin
----------------------------------------------------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- create_env
* - Description
- Verify that an OpenStack environment created with XenServer Fuel
Plugin can have XenServer options and options of
hypervisor/network/storage/additional services are disabled.
* - Steps
-
#. Create new OpenStack environment Fuel Web UI and select
“Liberty+Citrix XenServer on Ubuntu 14.04” in the OpenStack release
dropdown list
#. Hypervisor is default to QEMU, Network is default to “Neutron with
VLAN segmentation” and Storage is default to Cinder. Other options
are disabled.
#. In Nodes Tab, add all 3 Controller Nodes, 3 Compute Nodes and 1
Storage Node.
#. Select all Compute Nodes and click “Configure Interfaces”, drag
Storage/Management network from default eth0 to eth1, Private
network to eth2. Leave PXE on eth0. No networks should be
assigned to the final interface.
#. Select all Controller and Storage Nodes and click “Configure
Interfaces”, drag Storage/Management network from default eth0 to
eth1, Private network to eth2. Leave PXE on eth0.
#. In Networks Tab, set the vlan tags according to your network
interfaces previous set and make sure network range will not be
conflicting with other systems in the same lab. Then click “Verify
Networks” button.
#. In the Settings Tab under the side tab “Others”, input the
credential applied to all your XenServer hosts.
#. Click “Deploy Changes” button
* - Expected Result
- Deploy of nodes all succeed
Verify hypervisor type
----------------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- verify_hypervisor
* - Description
- Verify that all hypervisors are identified by OpenStack as xen.
* - Steps
-
#. Login to Horizon with admin user when OpenStack deployment is
finished.
#. Enter into Admin->Hypervisors
* - Expected Result
- The Type column should show xen for all hypervisors.
Create guest instances
----------------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- create_instances
* - Description
- Verify that new environment can create guest instances.
* - Steps
-
#. Create an instance with image of TestVM and flavor of m1.tiny in
either of Horizon or Controller Node.
#. Find the instance in XenCenter and switch to Console Tab.
#. Login with the username and password that prompted in the terminal
screen.
#. Ping out to 8.8.8.8
* - Expected Result
- Guest instances can ping out.
Verify Fuel Health Checks
-------------------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- verify_health_checks
* - Description
- Ensure that all applicable health checks pass
* - Steps
-
#. Within the Fuel Master, select the appropriate environment
#. Run all health checks and wait for completion
* - Expected Result
- All health checks, except those requiring additional services
(e.g. Ceilometer) and those where the configuration has not been
changed from the defaults, pass
Mandatory Tests
===============
Install plugin and deploy environment
-------------------------------------
Covered above.
Modifying env with enabled plugin (removing/adding compute nodes)
-----------------------------------------------------------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- modify_env_compute_nodes
* - Description
- Adding/removing compute nodes to an existing environment
* - Steps
-
#. Create one more compute following the procedure in step
prepare_nodes
#. Add compute node to an existing environment
#. Redeploy cluster
#. Run Health Check
#. Remove a compute node
#. Redeploy cluster
#. Run Health Check
* - Expected Result
- Removing a compute node will cause “Sanity tests-Check that required
services are running” fail. “Some nova services have not been
started.. Please refer to OpenStack logs for more details.”
Modifying env with enabled plugin (removing/adding controller nodes)
--------------------------------------------------------------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- modify_env_controller_nodes
* - Description
- Adding/removing controller nodes to an existing environment
* - Steps
-
#. Create one more controller following the procedure in step
prepare_nodes
#. Add controller node to an existing environment
#. Redeploy cluster
#. Run Health Check
#. Remove a compute node (not the primary controller node)
#. Redeploy cluster
#. Run Health Check
* - Expected Result
- (Probably caused by previous test modify_env_compute_nodes)Removing a
compute node will cause “Sanity tests-Check that required services are
running” fail. “Some nova services have not been started.. Please
refer to OpenStack logs for more details.”
Uninstall of plugin with deployed environment
---------------------------------------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- uninstall_plugin_with_deployed_env
* - Description
- Verify XenServer Fuel Plugin cannot be uninstalled before all
dependant environments are removed.
* - Steps
- ``fuel plugins --remove fuel-plugin-xenserver==3.0.0``
* - Expected Result
- 400 Client Error: Bad Request (Can't delete plugin which is enabled
for some environment.)
Uninstall of plugin
-------------------
.. tabularcolumns:: |p{3cm}|p{13cm}|
.. list-table::
:header-rows: 0
* - Test Case ID
- uninstall_plugin
* - Description
- Verify XenServer Fuel Plugin can be uninstalled as well as XenServer
OpenStack release after all dependant environments are removed.
* - Steps
- | ``fuel plugins --remove fuel-plugin-xenserver==3.0.0``
| ``fuel rel``
| ``id | name | state | operating_system | version``
| ``2 | Liberty on Ubuntu 14.04 | available | Ubuntu | liberty-8.0``
| ``3 | Liberty+Citrix XenServer on Ubuntu 14.04 | available | Ubuntu | liberty-8.0``
| ``1 | Liberty on CentOS 6.5 | unavailable | CentOS | liberty-8.0``
* - Expected Result
- Both of plugin and release are removed.
Appendix
========
* XenServer Fuel Plugin GitHub: https://git.openstack.org/openstack/fuel-plugin-xenserver
* XenCenter HIMN Plugin GitHub: https://github.com/citrix-openstack/xencenter-himn-plugin
* Plugin download server: http://ca.downloads.xensource.com/OpenStack/Plugins/
Revision history
================
.. list-table::
:header-rows: 1
* - Version
- Revision Date
- Editor
- Comment
* - 1.0
- 18.09.2015
- John Hua (john.hua@citrix.com)
- First draft.
* - 2.0
- 18.11.2015
- John Hua (john.hua@citrix.com)
- Revised for Fuel 7.0
* - 3.0
- 22.03.2016
- John Hua (john.hua@citrix.com)
- Revised for Fuel 8.0

202
doc/source/test-report.rst Normal file
View File

@ -0,0 +1,202 @@
Test Report for XenServer Fuel Plugin
=====================================
Revision history
================
.. tabularcolumns:: |p{1.5cm}|p{2.5cm}|p{7cm}|p{4.5cm}|
.. list-table::
:header-rows: 1
* - Version
- Revision Date
- Editor
- Comment
* - 1.0
- 25.09.2015
- John Hua(john.hua@citrix.com)
- First draft.
* - 2.0
- 8.11.2015
- John Hua(john.hua@citrix.com)
- Revised for Mirantis Fuel 7.0
* - 3.0
- 13.04.2016
- John_Hua(john.hua@citrix.com)
Jianghua_Wang(jianghua.wang@citrix.com)
- Revised for Mirantis Fuel 8.0
* - 3.1
- 19.04.2016
- John Hua(john.hua@citrix.com)
- Rewrite in RST
Document purpose
================
This document provides test run results for the XenServer Fuel Plugin version
3.0.0 on Mirantis OpenStack 8.0.
Test environment
================
The following is the hardware configuration for target nodes used for
verification. For other configuration settings, please see the test plan.
.. list-table::
:header-rows: 1
* - Node Type
- vCPU
- Memory
- Disk
* - Controller
- 4
- 6GB
- 80GB
* - Compute
- 4
- 4GB
- 60GB
* - Storage
- 4
- 4GB
- 60GB
Test coverage and metrics
-------------------------
* Test Coverage 100%
* Tests Passed 100%
* Tests Failed 0%
Test results summary
====================
Type of testing
===============
System Testing
--------------
.. list-table::
:header-rows: 1
* - Parameter
- Value
* - Total quantity of executed test cases
- 12
* - Total quantity of not executed test cases
- 0
* - Quantity of automated test cases
- 0
* - Quantity of not automated test cases
- 0
Detailed test run results
-------------------------
.. tabularcolumns:: |p{1cm}|p{4cm}|p{1.2cm}|p{1.2cm}|p{1.2cm}|p{7cm}|
.. list-table::
:header-rows: 1
* - #
- Test case ID
- Passed
- Failed
- Skipped
- Comment
* - 1
- Install XenServer Fuel Plugin
- Yes
-
-
-
* - 2
- Prepare Nodes
- Yes
-
-
-
* - 3
- Install XenCenter HIMN plugin
- Yes
-
-
-
* - 4
- Add Host Internal Management Network to Compute Nodes
- Yes
-
-
-
* - 5
- Create an OpenStack environment with XenServer Fuel Plugin
- Yes
-
-
-
* - 6
- Verify hypervisor type
- Yes
-
-
-
* - 7
- Create guest instances
- Yes
-
-
-
* - 8
- Verify Fuel Health Checks
- Yes
-
-
-
* - 9
- Add/Remove compute node
- Yes
-
-
- Removing a compute node will cause “Sanity tests-Check that required
services are running” fail. “Some nova services have not been
started.. Please refer to OpenStack logs for more details.”
* - 10
- Add/Remove controller node
- Yes
-
-
- Removing a controller node will cause “Sanity tests-Check that
required services are running” fail. “Some nova services have not been
started.. Please refer to OpenStack logs for more details.”
* - 11
- Uninstall of plugin with deployed environment
- Yes
-
-
-
* - 12
- Uninstall of plugin
- Yes
-
-
-
* - Total
-
- 12
- 0
- 0
-
* - Total,%
-
- 100
- 0
- 0
-
Known issues
============
No issues were found during the testing

BIN
doc/test-plan.pdf Normal file

Binary file not shown.

BIN
doc/test-report.pdf Normal file

Binary file not shown.