Add simple test that runs conformance tests using pre-built image
Requires path to it to be set via E2E_CONFORMANCE_IMAGE env variable
Change-Id: I80d82531d8a80912f007b814c287d96e1e286244
Refactor those fixtures in a more general way, so they can be used in
any test, not only netchecker one.
Just set class variables required_files and required_settings to use them
In that way all required files and settings will be in the test class, and not
in the fixture itself.
Change-Id: I27eb98e46978205f4a4e9769e368d4720e2f8b55
- 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>
Scenario:
1. Install k8s with Calico network plugin.
2. Run netchecker-server service.
3. Run netchecker-agent daemon set.
4. Get network verification status.
Check status is 'OK'.
New test depends on mcp-netchecker tool. Some
related to network checker stuff was moved and
refactored.
Change-Id: I1f1c85a943a937e11f1e61df046d3c1425dd3643
If @pytest.mark.revert_snapshot(name=<some_name>) is used for
test case, but the snapshot *or* it's config is missing in the
environment, then each fixture will try to revert the snapshot
that belongs to the fixture.
Change-Id: I819dba2e775f5be38ea8cd12c6909b2e7399e3a8
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
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
- 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