Automated integration tests for SIMP.
Uses Beaker suites from simp-beaker-helpers and
Vagrant boxes built by simp-packer.
This project contains tests for the System Integrity Management Platform.
If you find any issues, submit them to our bug tracker.
- VirtualBox
- Vagrant
- SIMP Vagrant box files (
.boxand.json), built by simp-packer and its rake tasks
It is strongly recommended to keep the SIMP Vagrant box files in
a vagrant-consumable directory tree. This will allow Vagrant and Beaker to
use detect and use the latest (or a specific) build of a particular SIMP
release.
There are rake tasks in simp-packer to create/populate this directory tree:
- The simp-packer rake task
rake vagrant:publish:localwill create/populate a local directory tree from a.boxand.jsonfile. - The simp-packer rake task
simp:packer:matrixwill also create and populate this directory tree as it builds various boxes.
The location of the tree can be specified using the environment variable
BEAKER_vagrant_box_tree (see the examples below).
BEAKER_vagrant_box_tree=$PATH_TO_VAGRANT_BOXES_DIRTREE \
BEAKER_box__puppet="simpci/server-6.2.0-RC1.el7-CentOS-7.0.x86-64" \
bundle exec rake beaker:suitesAn alternative method, if you only have a Vagrant .box + .json file but no
directory tree set up:
BEAKER_box__puppet="$direct_path_to/server-6.2.0-RC1.el7-CentOS-7.0.x86-64.json" \
bundle exec rake beaker:suitesYou can force an SUT's platform by setting BEAKER_box_platform__<sut>:
BEAKER_box_platform__puppet=el-7-x86_64The default test suite currently just contains a smoke test to ensure that
beaker can bring up a Vagrant box and run puppet apply
Usage:
BEAKER_vagrant_box_tree=$PATH_TO_VAGRANT_BOXES_DIRTREE \
BEAKER_box__puppet="simpci/server-6.2.0-RC1.el6-CentOS-6.9.x86-64" \
bundle exec rake beaker:suites[default]The upgrade suite validates the SIMP user guide's General Upgrade
Instructions for incremental upgrades by upgrading an older version of
SIMP. It:
- Uploads a newer SIMP version's
.isofile from the host filesystem into the puppetserver SUT.
- Uploads any
*.noarch.rpmfiles from the local project's directory into the puppet server's yum repository before runningunpack_dvd
- Runs
unpack_dvd - Runs
yum update -y - Runs
puppet agent -t
Usage:
BEAKER_vagrant_box_tree=$vagrant_boxes_dir \
BEAKER_box__puppet="simpci/SIMP-6.1.0-0-Powered-by-CentOS-7.0-x86_64" \
BEAKER_upgrade__new_simp_iso_path=$PWD\SIMP-6.2.0-RC1.el7-CentOS-7.0-x86_64.iso \
bundle exec rake beaker:suites[upgrade]Because the upgrade suite starts from an older version of SIMP, its
requirements work a little differently from normal integration tests:
| Environment variable | Description |
|---|---|
BEAKER_box__puppet |
A Vagrant box tag from a previous version of SIMP. |
BEAKER_upgrade__new_simp_iso_path |
Path to the current version of SIMP's .iso file(s) |
- If you need to inject new
*.rpmfiles into the local yum repo beforeunpack_dvdis run, place them in the project's top-level directory before running the suite.
- Flesh out README
- Add integration tests to cover pre-release matrix
- Add tests for the current version of SIMP as an SUT
- Add suites for different
.boxmodes- Different
.boxmodes require simp-packer SIMP-5238 - linux-min needs simp-packer SIMP-5166
- Different
- Formally link tests to corresponding simp-doc procedures
- link them
- calculate coverage
- Provide better methods for patch staging
- Apply RPMs
- inject in yum repo
- apply directly
- Apply patch files
- Control when patches are delivered?
- Apply RPMs
- VirtualBox must have the appropriate version of the VirtualBox Extension Pack
- Turn on VRDE :
vboxmanage list runningvms
### => defaultyml_puppet_1536852168210_13152" {331df311-52c6-4471-b912-f730d8531e0c}
vboxmanage controlvm "defaultyml_puppet_1536852168210_13152" vrde on
vboxmanage controlvm "defaultyml_puppet_1536852168210_13152" vrdeport 5940- Connect to VRDE using a Remote Desktop client
Please read our Contribution Guide.

