- add pytest marks 'revert_snapshot' to all required fixtures instead
of reverting the snapshots inside them
- add get_top_fixtures_marks() that extracts all the marks
'revert_snapshot' from the test and it's fixtures, order the marks
in the same way as the fixtures depends on each other,
- in the fixture 'revert_snapshot' try to find the most suitable
snapshot for reverting, from latest to earliest.
- mark 'revert_snapshot' removed from system tests which use fixtures
with the same mark (for example, 'k8s_deployed' mark removed from
system tests where the fixture 'k8scluster' is used as a top fixture)
Change-Id: Iad9e56d96d870aa4204ba23e76a5b4df01d4385b
Co-Authored-By: Dmitry Tyzhnenko <dtyzhnenko@mirantis.com>
There is a need to run build verification tests with
custom CI artifacts, so the test should pass all
provided settings to the deployment script.
Change-Id: I68ed7a2895f23bb0c3f99ca3c13ede308d17fef2
Test should use default value of 'ipip' setting for the
deployment script, unless it's explicitly set from tests
or exported to environment variables.
Also since at the moment 'ipip' is disabled for all
existing tests, we need to add a separate test for
deploying Calico with tunnels. Scenario:
1. Enable 'ipip' in the settings
2. Install k8s.
3. Check Calico IPIP tunnels exist
4. Basic check of running containers on nodes.
5. Create nginx pod.
6. Check created pod is reached
7. Delete pod.
Change-Id: I4d1e2417b3f4b27e7ca15afebdc3de4bef63a177
We have plugin for LVM usage in k8s, this patch adds basic test using
this plugin.
This test creates an environment (which should have extra storage),
installs required software to use LVM on nodes, uploads a plugin to
each node and then creates nginx pod using this plugin to create its
storage.
Sample command to run test:
ENV_NAME="lvm_usage"\
CONF_PATH=fuel_ccp_tests/templates/default-with-storage.yaml\
IMAGE_PATH=/path/to/image LVM_PLUGIN_PATH=/path/to/plugin/binary\
DEPLOY_SCRIPT=/path/to/fuel-ccp-installer/utils/jenkins/kargo_deploy.sh\
py.test -s fuel_ccp_tests/tests/system/test_k8s_lvm_plugin_usage.py
Change-Id: I0a31324e445902774f35b6cf2af1d9d43e74f53e
Test covers:
* update service sources
* build images
* deploy openstack
* run tempest api orchestration tests
Change-Id: I2bc423b194bf3fbc6aa78a55474d2ef4f8690ec7
- deploy k8s in different configurations
- redeploy k8s and check that there were no changes from ansible
Change-Id: Ie68025670fa8a8f63ababede8277c066ed28f8a3
Now 'underlay', 'k8scluster' or 'ccpcluster' can restore
a snapshot if the snapshot name was specified in the
pytest.mark.revert_snapshot(name=<str>).
Snapshot is reverted *only* if:
- name of the snapshot matches the name of the snapshot that
is created by fixture:
* 'underlay' fixture reverts only 'underlay' snapshot
* 'k8scluster' reverts only 'k8s_deployed' snapshot
* 'ccpcluster' reverts only 'ccp_deployed' snapshot
- snapshot actualy exists at the moment
If fixture made changes to the environment, it takes a snapshot
and stores current config to a file 'config_<snapshot_name>.ini'
Other changes:
- Removed 'initial' snapshot. It doesn't makes sense because
matches to the environment state 'never powered on yet'
- Add 'underlay' snapshot instead of 'initial', that stands for
ready Underlay layer (operation systems are provisioned and
configured)
- Move hardware.start() from 'hardware' fixture to 'underlay'
- Use for tests @pytest.mark.revert_snapshot with more suitable
snapshot names
Change-Id: I15ac734736563e3e40cd850adc49e1b4a070ae20
fuel_ccp_tests can be installed as a package:
pip install git+git://github.com/openstack/fuel-ccp-tests --upgrade
To run the test, use 'fuel_ccp_tests' CLI and pytest marks:
fuel_ccp_tests -k fuel_ccp_installer # Run all the k8s install tests
fuel_ccp_tests -k ccp_cli_errexit_codes # Run all errorcode tests
fuel_ccp_tests -k deploy_openstack # Run ccp install test
fuel_ccp_tests -k horizon_component # Run pre-commit test
# for horizon
Change-Id: Ib5b1869264529661958840fced5b7c49e6f19647
- K8sClient moved from ./models to ./managers
- all YAMLs placed to ./tests/fixtures/templates
- all tests placed to ./tests/ into separated folders depending
on tests types
- ssh_manager removed from helpers (unused)
- main folder 'mcp_tests' renamed to 'fuel_ccp_tests'
- conftest.py moved to the ./tests/system and ./tests/component
folder because of failed unit tests (we use fixtures with
autouse=True which fail unit tests).
- empty conftest.py added to the root of fuel_ccp_tests module
to get unit tests passed
Change-Id: I25671dd7d6f3ee294a4e4146f9f2c2ba4d9b2d06