Commit Graph

69 Commits

Author SHA1 Message Date
Billy Olsen a6cd0ea62a Fix Ceph service action tests
The ServiceTest.test_start_specific under the ceph osd tests stops all
services using ceph-osd.target. This will stop all the OSDs, but the
restarting of any single OSD will restart all the OSDs. This behavior
causes the charm test to fail.

Unfortunately, this wasn't caught in the initial review because the test
is skipped when there are fewer the 2 OSDs on a unit and the final test
run skipped the test due to this condition.

Fixes #542

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2021-04-08 14:12:11 -07:00
Ionut Balutoiu 2fefca5a40 Code cleanup
* Move general function out of the testing class. This will make them
  easy to be reused.
* Properly organize the tests, and add tons of docstrings and comments
  to have them as clear as possible.
* Add `failover_cinder_volume_host` to the Zaza `utilities/openstack.py`,
  since this is a general purpose function.
2021-03-03 13:56:36 +02:00
Ionut Balutoiu d41f8b3724 Update Ceph RBD Mirror tests
The updated tests add the possibility of testing deployments
with `image` RBD mirroring mode implemented as part of the
Cinder Ceph Replication charm spec.
2021-02-25 11:01:54 +02:00
Garrett Thompson 33ab875eb2 Replace get_relation_from_unit for ceph test 2021-02-02 09:58:13 -08:00
Aurelien Lourot bf4f412135 Merge pull request #456 from gnuoy/support-multiple-iscsi-gws
Stop assuming there are two iscsi gateways
2021-01-08 09:44:47 +01:00
Liam Young ddd9c74028 Use keystone in the first instance 2021-01-06 12:12:42 +00:00
Liam Young ed3b2737d1 Use ceph-mon to check ceph version not keystone
The test class BlueStoreCompressionCharmOperation gates tests on
whether the ceph release is mimic or newer but it uses the
keystone application to calculate the currently deployed version.
This PR switches the test class to ceck the version of ceph-mon
instead which makes more sense and the keystone application may
not always present in a ceph deployment.
2021-01-06 11:38:41 +00:00
Martin Kalcok 96592c6a85 Rename parameter disks to osds 2020-12-11 16:16:15 +01:00
Martin Kalcok cfdabe273a Adjust tests after rework of the 'service' action into start and stop actions 2020-12-11 09:49:33 +01:00
Aurelien Lourot a8ca4720a3 Fix BlueStoreCompressionCharmOperation on Victoria (#468)
Before this fix, the test tried to determine the OpenStack
release based on the ceph-mon charm. Unfortunately Ceph has
the same version on Ussuri and Victoria. As a consequence
the test would wrongly conclude that it's testing against
"groovy_ussuri", which isn't a valid Ubuntu/OpenStack pair.

With this fix, the test now determines the OpenStack
release based on the keystone charm, with which we are able
to tell Ussuri and Victoria apart. This test class is being
run against the following charm functional tests at the
moment, which all have a keystone charm in their test
bundles: nova-compute, cinder-ceph, glance, ceph-fs,
ceph-radosgw and gnocchi.
2020-11-27 09:53:12 +01:00
Martin Kalcok d6f719e331 Skip 'service' action tests on systems without systemd 2020-11-26 14:42:12 +01:00
Liam Young a91ae76975 Stop assuming there are two iscsi gateways
The tests assume there are two iscsi gateways which is not a
safe assumption.
2020-11-06 14:12:59 +00:00
Martin Kalcok 991d7ea7a4 Removed typing usage 2020-11-03 15:47:18 +01:00
Martin Kalcok 990be12171 Fix async_wait_for_service_status() checking only first service in the list 2020-10-28 13:58:49 +01:00
Martin Kalcok 12db27016e Fix typos 2020-10-14 13:55:23 +02:00
Martin Kalcok 24755c2382 Add function that waits on desired service status using systemctl 2020-10-14 13:47:20 +02:00
Martin Kalcok 1889d0db53 Add func-tests for ceph-osd 'service' action 2020-10-12 17:51:04 +02:00
Dmitrii Shcherbakov 0a0a7afa2b Merge pull request #423 from gnuoy/extend-ceph-iscsi-checks
Extend ceph iscsi checks
2020-09-25 10:57:25 +03:00
James Page 018f1eac96 Merge pull request #398 from openstack-charmers/ceph-bluestore-compression
Ceph bluestore compression
2020-09-24 11:30:50 +01:00
Liam Young 7e0eaf919f Stdout v stdout now handled by zaza 2020-09-24 08:59:46 +00:00
Liam Young ad1ea7667d handle stdout v Stdout 2020-09-23 17:04:19 +00:00
Liam Young 76e7666f9c Fix typo 2020-09-23 11:25:00 +00:00
Liam Young c3105657d4 Fix doc strings 2020-09-23 11:09:31 +00:00
Liam Young eda2dfb450 Typo fix 2020-09-23 10:26:18 +00:00
Liam Young 0a458766c2 Extend iSCSI tests.
Extend iSCSI tests to mount multipath device and write data to it
Then unmount it and logout of the iscsi target. Finally log back
into the iscsi target, mount device and check data is present.
2020-09-23 10:26:18 +00:00
Liam Young c5786d9184 Ceph iscsi default pool test (#415)
* Add Ceph-iscsi Erasure coding check

Add a test which created a ceph iscsi target backed by an
erasure coded pool.

* Fix EC pool type

* Test ceph iscsi target from default pool
2020-09-21 13:40:48 +01:00
Liam Young 540bd91cc0 Add Ceph-iscsi Erasure coding check (#412)
* Add Ceph-iscsi Erasure coding check

Add a test which created a ceph iscsi target backed by an
erasure coded pool.

* Update action params inline with charm change

* Fix EC pool type
2020-09-18 09:46:08 +01:00
Frode Nordahl 4db2202b1e ceph: Add functional tests for BlueStore compression 2020-09-18 09:08:41 +02:00
Liam Young bb9899650a Skip ceph pool type check if relation is missing 2020-09-07 12:34:55 +00:00
Liam Young 828883bb70 Make test_check_pool_types handle missing apps (#405)
Currently test_check_pool_types will fail when it tries to check
the corresponding pool type for an application that is not present
in the deployment, this patch changes the behaviour to skip missing
applications.
2020-09-03 10:06:18 +01:00
James Page 3fb4380c66 Improve ceph proxy permissions check
Update the cinder-ceph permissions check to look for permissions
specific to the cinder-ceph usage of ceph; this ensures that if
we add glance and nova to the bundle (which creates additional
permissions) the existing test will continue to pass.
2020-08-28 09:19:16 +01:00
David Ames 0ca011afec Ceph rados benchmarking 2020-08-20 16:03:08 -07:00
Liam Young a3433a1276 Add Ceph test CheckPoolTypes
Add a ceph test to check that the type of pools requested by
clients matches the pools that were created.
2020-08-10 12:32:49 +00:00
David Ames a84b15b786 Merge pull request #361 from gnuoy/wait-ceph-ready
Add ceph_ready config step
2020-07-13 07:57:33 -07:00
Liam Young c4176881d0 Fix spelling typo 2020-07-13 14:56:04 +00:00
David Ames fdd92e3c5b Merge pull request #359 from gnuoy/set-default-app-name
Set application_name for ceph-radosgw tests
2020-07-13 07:53:06 -07:00
Liam Young 9e395f69b7 Add ceph_ready config step
Add a ceph_ready config step which just checks that the ceph units
are in a 'active' 'Unit is Ready.*' state. This is useful when
encryption at rest is being used and the tests.yaml assumes that
the units are going to come up blocked. Once vault is ready the
tests then need to wait for the ceph units to become unblocked.
2020-07-13 14:42:43 +00:00
Liam Young 65cc6aa604 Stop assuming RegionOne in ceph-radosgw tests
Stop assuming RegionOne in ceph-radosgw tests and get the region
from the app config instead.
2020-07-13 14:36:59 +00:00
Liam Young f6e2a40166 Set application_name for ceph-radosgw tests
Set application_name for ceph-radosgw tests so that the tests can be
run without relying on getting the application name from the
tests.yaml.
2020-07-13 14:33:35 +00:00
Frode Nordahl 2472a7b505 ceph/fs: Use common helpers for launching test instances
Fixes #311
2020-07-02 17:59:39 +02:00
Frode Nordahl effbf13190 Add CephFS pause/resume test 2020-06-11 16:44:40 +02:00
Chris MacNaughton bdd0bca953 Merge pull request #246 from ajkavanagh/cinder-ceph-additional-tests
Migrate 499 cinder-ceph test to zaza
2020-05-20 09:02:44 +02:00
Alex Kavanagh ec40306f7b Improve detection of removing and adding relation 2020-05-19 20:08:33 +01:00
Liam Young 0ec2e43041 Fix ceph rbd mirror test
I recently broke the ceph rbd mirror test due to get_images_by_name
returning a list of images not a single image.
2020-05-18 18:25:09 +00:00
Liam Young 7834eda00e Switch to cirros image for ceph mirror tests
The image used for the tests is just treated as a blob, no guests
are booted using it so to speed up the tests when using slow
storage by switching to using cirros image. The cirros image is ~20
times smaller than the bionic one.
2020-05-18 12:48:05 +00:00
Alex Kavanagh 5d05eb70cc Ensure model starts executing before the wait
There was a race before a block_until_all_units_idle() where it
could blast through the check before it started removing the relation.
This ensures that it waits until something happens and then waits for it
to finish.
2020-05-14 19:39:50 +01:00
Alex Kavanagh a7df335cc8 Fix missing comma 2020-05-13 14:30:19 +01:00
Alex Kavanagh 935af95dd2 Add in missing 500 test from amulet test
This is the missing 500 test from the previous amulet tests that were
missed on the first pass.
2020-05-13 14:30:19 +01:00
Alex Kavanagh 3de6251316 Fix broken code and collect errors on ceph commands 2020-05-13 14:30:19 +01:00
Alex Kavanagh c6f0472681 Fix the broken bits in the tests copied from amulet 2020-05-13 14:30:19 +01:00