99 lines
2.8 KiB
ReStructuredText
99 lines
2.8 KiB
ReStructuredText
![]() |
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.
|