libvirt: Regression tests for mad and default
README with instructions for regression test Test plan: All information necessary is documented All information necessary described accurately All information is formatted correctly (.rst syntax) Story: 2010816 Task: 48345 Change-Id: Ibc543debb235a2865242a07c2c0e08b49a36b2fb Signed-off-by: Bailey Henry <Henry.Bailey@windriver.com>
This commit is contained in:
parent
708c2c1676
commit
a4e128d890
98
libvirt/regression/README.rst
Executable file
98
libvirt/regression/README.rst
Executable file
@ -0,0 +1,98 @@
|
||||
Overview
|
||||
========
|
||||
This regression test ensures that a change does not impact
|
||||
the generation of XML for default and 'madcloud' configuration examples.
|
||||
|
||||
Before starting make sure you have cloned the starlingx/virtual-deployment git
|
||||
and installed any required packages as presented in ``libvirt/install_packages.sh``.
|
||||
|
||||
The regression method sets attributes for a lab, runs the deployment
|
||||
method's scripts and dumps XML using the virsh command.
|
||||
These attributes are the overridable environment variables including:
|
||||
``CONTROLLER, WORKER, BRIDGE_INTERFACE, EXTERNAL_NETWORK, EXTERNAL_IP``
|
||||
|
||||
Step 1 export attributes:
|
||||
---------------------------
|
||||
The ATTRIBUTE variable is used to name the xml file, and should be
|
||||
defined for ease of use.
|
||||
|
||||
Start with a new bash shell to reset the environment to use default
|
||||
attributes.
|
||||
|
||||
Default values:
|
||||
|
||||
| export ATTRIBUTE=default
|
||||
| export CONTROLLER=${CONTROLLER:-controller}
|
||||
| export WORKER=${WORKER:-worker}
|
||||
| export BRIDGE_INTERFACE=${BRIDGE_INTERFACE:-stxbr}
|
||||
| export EXTERNAL_NETWORK=${EXTERNAL_NETWORK:-10.10.10.0/24}
|
||||
| export EXTERNAL_IP=${EXTERNAL_IP:-10.10.10.1/24}
|
||||
|
||||
Madcloud values:
|
||||
|
||||
| export ATTRIBUTE=madcloud
|
||||
| export CONTROLLER=madcloud
|
||||
| export WORKER=madnode
|
||||
| export BRIDGE_INTERFACE=madbr
|
||||
| export EXTERNAL_NETWORK=172.30.20.0/24
|
||||
| export EXTERNAL_IP=172.30.20.1/24
|
||||
|
||||
Step 2 choose configuration:
|
||||
------------------------------
|
||||
|
||||
export CONFIGURATION=(simplex, duplex, etc.)
|
||||
|
||||
Options are: simplex, duplex, controllerstorage or dedicatedstorage
|
||||
Along with the attributes this forms a 2x4 matrix:
|
||||
|
||||
| default, simplex
|
||||
| default, duplex
|
||||
| default, controllerstorage
|
||||
| default, dedicatedstorage
|
||||
|
||||
And:
|
||||
|
||||
| Madcloud, simplex
|
||||
| Madcloud, duplex
|
||||
| Madcloud, controllerstorage
|
||||
| Madcloud, dedicatedstorage
|
||||
|
||||
Step 3 start VM:
|
||||
------------------
|
||||
|
||||
| ./setup_network.sh
|
||||
| ./setup_configuration.sh -c $CONFIGURATION -i $iso
|
||||
|
||||
Remember to use a path to a valid iso - it doesn't matter if it
|
||||
actually boots or etc
|
||||
|
||||
Step 4 create dump xml:
|
||||
-------------------------
|
||||
|
||||
mkdir -p regression
|
||||
|
||||
Each configuration has 1 or more domains. For each DOMAIN in virsh list:
|
||||
|
||||
| DOMAIN="simplex-controller-0"
|
||||
| outf="regression/${ATTRIBUTE}_${CONFIGURATION}_${DOMAIN}.xml"
|
||||
| virsh dumpxml $DOMAIN > "${outf}_${x}"
|
||||
|
||||
It is recommended to use either numbers or tags to signify what
|
||||
iteration you are setting, in this case x represents that
|
||||
|
||||
Step 5 reset parameters and workspace:
|
||||
--------------------------------------------
|
||||
Teardown configuration and network settings
|
||||
|
||||
| ./destroy_configuration.sh -c $CONFIGURATION
|
||||
| ./destroy_network.sh
|
||||
|
||||
Step 6 compare files:
|
||||
-----------------------
|
||||
|
||||
diff -usU9999 "${outf}_${x}.xml" "${outf}_${y}.xml"
|
||||
|
||||
In this case x and y represent different iterations.
|
||||
Details to ignore are changes to: ``UUID, domain ID, mac_addresses,
|
||||
mounted cdrom, serial/dev/pts``. If there are no changes ignoring those above,
|
||||
the test is considered a pass.
|
Loading…
Reference in New Issue
Block a user