Commit Graph

180 Commits (d8aea71e312343a7f7679c30fa5691f074260898)

Author SHA1 Message Date
Andrew Schoen b0caeed682 tests: fix task in rhcs_setup that changes vagrant box to rhel7
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-22 12:38:12 -05:00
Andrew Schoen d261da6679 tests: adds a rhcs_setup.yml playbook
This is used to configure the test nodes for testing Ret Had Ceph
Storage.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-22 10:13:51 -05:00
Andrew Schoen a551ad97bb tests: when using pytest mark decorators ensure all fixtures are defined
Decorating a test method directly with a pytest mark seems to break if
the test function does not explicitly define all pytest fixtures it
expects to recieve.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-02-22 13:43:59 -06:00
Sébastien Han 503ec9be57 ci: decorate the tests to not run on docker scenario
Certain scenario won't work on containerized deployment. So we decorate
them so they can be skipped.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-22 10:53:03 -05:00
Sébastien Han e22acb81e6 ci: fix issue on ansible2.2-docker_dedicated_journal
journal_collocation was enabled so the test suite was testing this
scenario and obviously failed since there is no second partition to
verify.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-21 16:14:39 -05:00
Sébastien Han 51b759fc16 ci: do not use atomic host for ansible2.2-docker_dedicated_journal
Switch to CentOS since Atomic host does not have the right Docker
version.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-21 15:56:09 -05:00
Sébastien Han 55bde0336f ci: set a different directory for ceph osd docker run script
/usr/share is not writable on Atomic Host so we use /var/tmp instead.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-21 15:56:09 -05:00
Sébastien Han e9311bcc74 ci: do not generate random hostname for ansible2.2-docker_dedicated_journal
This fixes the error: Call to virDomainCreateWithFlags failed: internal
error: Monitor path
/var/lib/libvirt/qemu/domain-docker-cluster-dedicated-journal_osd0_1487692576_dbfc21d851071d3e2cd2/monitor.sock
too big for destination

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-21 15:56:09 -05:00
Sébastien Han b91d227b99 docker: make ceph docker osd script path
Since distro will not allow /usr/share to be writable (e.g: atomic) so
we let the operator decide where to put that script.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-21 15:56:09 -05:00
Sébastien Han 7b216aa8e0 ci: add docker-cluster-dmcrypt-journal-collocation scenario
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-21 15:56:09 -05:00
Sébastien Han 7aabbc931d tests: add scenario for dedicated-journal on docker
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-21 15:54:36 -05:00
Andrew Schoen d02f14a329 tests: if no osds are created do not error in conftest.py
If no OSDs were created the command would fail and because we were using
check_output it would throw an exception and mark all OSD tests as ERROR.
This keeps tests from running that might tell us why the OSDS were not created.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-02-02 12:39:06 -06:00
Sébastien Han 6e9da95b33 ci: set replica count to 1 since we have a single osd
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-01-31 17:39:55 +01:00
Andrew Schoen 20705aa35a tests/journal_collocation: adds testing values to ceph_conf_overrides
This gives test coverage to changes introduced in:

https://github.com/ceph/ceph-ansible/pull/1214

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-26 09:39:42 -06:00
Andrew Schoen a774ea025d tests/xenial_cluster: adds a client node
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-23 09:22:06 -06:00
Sébastien Han 48a8cd1a43 test: add tests for the client role
Here we test the client role.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-01-20 12:22:18 +01:00
Sébastien Han 2d8ac4a586 docker: only use systemd to manage containers
Prior to this patch we had several ways to runs containers, we could use
ansible's docker module on some distro and on containers distros we were
using systemd. We strongly believe threating containers as services with
systemd is the right approach so this patch generalizes to all the
distros. These days most of the distros are running systemd so it's fair
assumption.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-16 19:37:05 +01:00
Sébastien Han f0687995e1 common: add the name of the ceph conf file in the play
Just for clarity and because we can we now show the name of the
ceph configuration file that is generated.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-15 15:26:01 +01:00
Sébastien Han a8ca0da5ad test: add cluster name support test scenario
We need to test the cluster name support in this CI as well. This
commit might be prone to debate because it tests 2 things in a single
scenario. We first test our ability to deploy a cluster AND the cluster
name support. However it's easier to do it this way and will reduce the
amount of time for testingg. If we don't do this we will have a
duplicate those 2 existing tests into new ones 'only' to test the
cluster name support.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-15 15:26:01 +01:00
Andrew Schoen 6baf2192cd tests: adds an osds parameter to the node fixture
The osds are named differently for systemd in containerized deployments
so this new parameter is used to make that change transparent in the
tests.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-07 19:27:42 -06:00
Andrew Schoen ae18b2db65 tests: mark tests with no_docker that fail on containerized deployments
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-07 19:19:43 -06:00
Andrew Schoen 239b0d0f96 tests: adds a docker property to the node fixture
This is used to skip tests that will not work with containerized
deployment or atomic hosts.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-07 19:17:09 -06:00
Andrew Schoen 55fee14bd0 tests: adds a docker: true var to the docker_cluster scenario
This lets the CI tests know that this scenario is using docker and
should skip certain tests.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-07 19:15:29 -06:00
Andrew Schoen 26a0e8a084 tests: account for multiple osd hosts when testing if all are up and in
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-07 14:31:31 -06:00
Andrew Schoen f5fb924189 tests: ensure all osds are listening on the cluster network
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-07 10:36:07 -06:00
Andrew Schoen a184b9a64f tests: test that all osds are listening on the public network
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-07 10:36:07 -06:00
Andrew Schoen e2ffd66ca8 tests: add num_devices to node fixture
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-07 10:36:06 -06:00
Andrew Schoen 9b959d10ff tests: adds a comment to the setup.yml playbook for clarification
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:58:07 -06:00
Andrew Schoen e3521b0830 tests: skip installing net-tools on atomic hosts
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:58:07 -06:00
Andrew Schoen 4323607c2e tests: dmcrypt_journal_collocation should run journal collocation tests
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:58:07 -06:00
Andrew Schoen 13333d9724 tests: use cluster_name in tests when needed
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:58:07 -06:00
Andrew Schoen 4effce1c31 tests: use node["conf_path"] instead of hardcoding the path in tests
This also accounts for the cluster having a custom cluster name

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:58:06 -06:00
Andrew Schoen 4e3eb7b627 tests: add cluster_name and conf_path to the node fixture
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:58:05 -06:00
Andrew Schoen 2464b69612 tests: include the number of mons as a attribute on node
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:57:20 -06:00
Andrew Schoen 1abbc948d9 tests: update skip messages in conftest.py
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:20 -06:00
Andrew Schoen d79188c8b6 tests: rename vars to ansible_vars in conftest.node
This is to avoid redefining the builtin vars()

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:20 -06:00
Andrew Schoen 5f81638b5e tests: rename CephNode to node and add a bit of documentation
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:20 -06:00
Andrew Schoen 73705933c9 tests: with testinfra we don't need scenario.py files anymore
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:20 -06:00
Andrew Schoen 1e79bc6726 tests: tests for collocated journals
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:20 -06:00
Andrew Schoen 1b3aca44d7 tests: add a journal_collocation tag to collocated journal tests
The test will be skipped if journal_collocation is not True in the
group_vars for the scenario.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:20 -06:00
Andrew Schoen dddfe6d9de tests: ensure ceph-mon is installed on mons
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:20 -06:00
Andrew Schoen 8ed8dfd907 tests: make sure all osds are mounted
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:19 -06:00
Andrew Schoen 0665167afa tests: adds some basic tests for OSD nodes
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:19 -06:00
Andrew Schoen e13da73a5e testing: CephNode should return osd_ids
This is an empty list on anything but an OSD node. These ids will be
used for further OSD testing.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:19 -06:00
Andrew Schoen 0e7133cfd0 tests: remove test files that are not used anymore
These tests have been replaced by the ones in test_install.py

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:19 -06:00
Andrew Schoen 20f6831f8b tests: test ceph.conf using testinfra modules
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:19 -06:00
Andrew Schoen 4810b38ece tests: ensure tests marked with 'all' run on every node
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:19 -06:00
Andrew Schoen cd9b47ceb8 tests: the CephNode fixture should provide the cluster subnet
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:19 -06:00
Andrew Schoen a31c86c191 tests: tests mon services to ensure they are running correctly
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:19 -06:00
Andrew Schoen 4d5a3510e4 tests: include a playbook to install net-tools for socket checks
This playbook could be used in the future to install anything else we
need on these nodes for testing purposes.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:18 -06:00
Andrew Schoen 05be43c546 tests: return address and ansible vars from CephNode
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:18 -06:00
Andrew Schoen b5552239e7 tests: port tests/functional/test_install.py to use testinfra fixtures
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:18 -06:00
Andrew Schoen c02ffdb0e0 tests: change conftest.py to support dynamic markers and test selection
This applies correct markers to tests depending on their file path.
Tests that live at the root of tests/functional/tests will be given a
marker of 'all' and apply to any type of ceph node.

Tests that live in tests/functional/tests/mon will get the
'mons' marker and will only run for nodes in the 'mons' group.

Tests that live in tests/functional/tests/osd will get the 'osds'
marker and will only run for nodes in the 'osds' group.

All tests must use the CephNode fixture for this to work and be
parameterized by testinfra.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:18 -06:00
Andrew Schoen 870a4358f0 tests: use testinfra in tox.ini instead of pytest directly
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:18 -06:00
Andrew Schoen 1574e8f4ab tests: make centos7_cluster use three mons
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 17:27:09 -06:00
Andrew Schoen 155bcf5ae2 tests: rename the directory for centos7_cluster
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 16:59:27 -06:00
Andrew Schoen 234b2c1cc2 tests: removes unused xenial_conf_tests and xenial_mon_osd scenarios
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 16:56:06 -06:00
Andrew Schoen da6d68c042 tests: rename the directory for xenial_cluster
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 16:49:40 -06:00
Andrew Schoen 5b9cb48774 tests: add 2 more mons to xenial_cluster
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 16:46:05 -06:00
Andrew Schoen 9f887f6064 tests: remove unused group_vars/osds from docker_cluster
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 14:50:21 -06:00
Andrew Schoen de711f2996 tests: docker_cluster does not need os_tuning_params
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 14:49:31 -06:00
Andrew Schoen 2223713525 tests: docker_cluster should run conf_tests
This also makes the conf_tests take the subnet as input
so multiple scenarios on differing subnets can use these tests.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 12:18:01 -06:00
Andrew Schoen 7abbab820e tests: use journal_size in ceph_osd_docker_extra_env for docker_cluster
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 10:28:55 -06:00
Andrew Schoen 53a106a884 tests: remove unsued options from docker_cluster vagrant variables
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 10:28:55 -06:00
Andrew Schoen 330d64c541 tests: docker_cluster should use 3 mons
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 10:28:55 -06:00
Andrew Schoen 182f766cc4 tests: update the group_vars for docker_cluster
Fixes the monitor_interface and sets osd scenario config
options so the mandatory checks pass.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 10:28:54 -06:00
Andrew Schoen 11c13ad7c0 tests: adds a docker_cluster scenario
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 10:28:54 -06:00
Andrew Schoen c7ea7f4e1e tests: change the subnet on dmcrypt-journal-collocation
It was currently set conflicting with dmcrypt-journal

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 10:28:54 -06:00
Alfredo Deza d0b2b13f4f tests: specify the devices for OSDs in the scenario for collocation
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: colocated#tests
2016-11-29 10:05:49 -05:00
Alfredo Deza e7f734a082 tests: create tests for collocated journals
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: colocated#tests
2016-11-29 10:05:16 -05:00
Andrew Schoen 138e5a9421 tests: change centos7-cluster to use raw_multi_journal
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-28 15:10:07 -06:00
Andrew Schoen eae3463a9e tests: change xenial-cluster to use raw_multi_journal
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-28 15:05:48 -06:00
Andrew Schoen a05a1b9b0f testing: change raw-multi-journal to journal-collocation
We want to test journal collocation here because we're gonna switch
xenial-cluster and centos7-cluster to use a dedicated journal.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-28 15:04:04 -06:00
Andrew Schoen 9a1863dd11 tests: make Vagrantfile a symlink for dmcrypt scenarios
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-28 12:06:25 -06:00
Andrew Schoen c212162afb tests: adds a scenario using OSD dmcrypt_journal_collocation
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-28 12:03:00 -06:00
Andrew Schoen 9f432bfb05 tests: adds a dmcrypt-dedicated-journal testing scenario
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-28 12:02:32 -06:00
Andrew Schoen e3d45095d3 tests: rename the centos7-mon-osd scenario to raw-multi-journal
We really only need to test the raw-multi-journal OSD scenario on one
OS and it needed a better name to use with the CI.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-28 10:28:17 -06:00
Andrew Schoen 0535b328a2 tests: update the subnet in the ceph.conf tests
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-18 14:15:34 -06:00
Andrew Schoen 901f4cdfd2 tests: fix monitor_address in ubuntu/16.04/mon/hosts
We changed the subnet in vagrant_variables.yml so this needs to change
here as well.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-18 13:27:02 -06:00
Alfredo Deza 016a6624a7 testing: use the same sequence in the group_vars for every test scenario
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-18 13:20:59 -06:00
Alfredo Deza b2af99f31b testing: use a sequence in the subnets for every vagrant_variables.yml to avoid collisions
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-18 13:20:59 -06:00
Andrew Schoen 0a6bb6e06c Merge pull request #1092 from ceph/ceph-boxes
Use new ceph vagrant boxes
2016-11-16 09:42:31 -06:00
Alfredo Deza 0c11a2ff57 tests: remove all validating yml playbooks
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-16 08:50:03 -05:00
Alfredo Deza ecb5d5b35d testing: disable vagrant sync folder add on xenial mon osd scenario
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-15 07:53:25 -05:00
Alfredo Deza 9419c4cc97 testing: disable vagrant sync folder add on xenial mon osd mds rgw scenario
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-15 07:53:24 -05:00
Alfredo Deza 3c990d15c3 testing: disable vagrant sync folder add on centos 7 mon osd mds rgw scenario
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-15 07:53:22 -05:00
Alfredo Deza 193d61f90a testing: disable vagrant sync folder add on centos 7 mon osd scenario
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-15 07:53:20 -05:00
Alfredo Deza ad3452a2a8 testing: use ceph vagrant box on ubuntu xenial mon osd scenario
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-15 07:53:16 -05:00
Alfredo Deza f7eaf53a9c testing: use ceph vagrant box on ubuntu xenial mon osd mds rgw scenario
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-15 07:53:13 -05:00
Alfredo Deza 46bb2a803a testing: add comment for ceph vagrant boxes on centos 7 mon osd scenario
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-15 07:53:09 -05:00
Alfredo Deza ef948dbc02 testing: add comment for ceph vagrant boxes on centos 7 mon osd mds rgw scenario
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-15 07:53:07 -05:00
Alfredo Deza 5df60b5907 tests: disable sync folder when testing
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-11-15 07:53:02 -05:00
Andrew Schoen ca68d7ce17 tests: make the centos7-mon-osd scenario use raw_multi_journal
Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: vagrant#boxes
2016-11-10 12:05:23 -06:00
Andrew Schoen 588aa8d8f3 tests: adds a scenario for a centos7 1mon 1osd 1mds 1rgw cluster
Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: vagrant#boxes
2016-11-10 12:05:23 -06:00
Andrew Schoen 38ee310f8c tests: adds a scenario to test a xenial 1mon 1osd 1mds 1rgw cluster
This scenario duplicates what we are currently doing with our
ceph-ansible testing using OVH and a single node, except now
we are using 4 separate nodes.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: vagrant#boxes
2016-11-10 12:05:23 -06:00
Andrew Schoen 3b75d44ed6 tests: make xenial-mon-osd use raw_multi_journal instead of collocation
Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: vagrant#boxes
2016-11-10 12:05:23 -06:00
Andrew Schoen 0522d32e7e tests: change the centos box to centos/7
This box supports both libvirt and virtualbox. Eventually we want to
be building our own boxes but this should work in the short term.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-08 16:49:26 -06:00
Andrew Schoen 95bce703f1 tests: change the xenial box to yk0/ubuntu-xenial
This box supports both virtualbox and libvirt. Eventually
we want to be building our own vagrant boxes, but this might
work for now.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: vagrant#boxes
2016-11-08 15:48:16 -06:00
Andrew Schoen df59ec6fae tests: adds the vagrant_variables.yml that were previously ignored
Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: testing#updates
2016-11-08 12:37:05 -06:00
Andrew Schoen 44503487c5 tests: adds a 1mon 1osd centos7 test scenario
This uses journal collocation for the osd.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: testing#updates
2016-11-08 12:37:04 -06:00