Commit Graph

247 Commits (fbd1a57b11076be6e6e2e793e2359cb90bc74151)

Author SHA1 Message Date
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
Andrew Schoen 4dd51ee3c6 tests: adds a 1mon 1osd xenial test scenario
This sets up the osd using journal collocation

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

Resolves: testing#updates
2016-11-08 10:35:43 -06:00
Andrew Schoen a96d51fdfa tests: ceph.conf tests for the xenial 3 mon cluster
Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: testing#updates
2016-11-08 10:35:43 -06:00
Andrew Schoen dba8694794 tests: adds a xenial 3 mon test scenario
This can be used to test if mon hosts and
mon initial members are being set properly with
multiple hosts.

Also, to verify that monitor_address and monitor_interface
options both work as described.

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

Resolves: testing#updates
2016-11-08 10:35:43 -06:00
Andrew Schoen f62d15bf20 tests: ignore folders created by ceph-ansible during testing
Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: testing#updates
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-08 10:35:43 -06:00
Andrew Schoen d213080d19 tests: remove the initial_members scenario
This was just a placeholder until we could get more valid scenarios in
place.

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

Resolves: testing#updates
2016-11-08 10:35:43 -06:00
Andrew Schoen d5a7f3de8f tests: require a group_vars folder in the scenario dir
This will allow for no changes needed in the ansible playbook command
when adding new scenarios. Each scenario will just need a hosts file and
a group_vars directory to define how the cluster should be setup.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-04 16:35:45 -05:00
Alfredo Deza 3511e12253 tests: add a hosts file for the initial_members scenario
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 14:47:59 -04:00
Alfredo Deza 74f9f2bff9 tests: add a helper script to generate vagrant ssh configs
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 14:13:30 -04:00
Alfredo Deza 8cda2db9c3 tests: mon_initial_members should look for the right hostname
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 14:13:30 -04:00
Alfredo Deza 08e7103766 tests: fix helper to use the actual lines form ceph.conf
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:34 -04:00
Alfredo Deza 1caacfd02b tests: use a different vagrant box
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:33 -04:00
Alfredo Deza 0b044c89f3 tests: include the vagrant_variables.yml file specific to this scenario
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:33 -04:00
Alfredo Deza 77281609f8 tests: create a README with some explanation on how to use the test harness
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:33 -04:00
Alfredo Deza 69632b3ed2 tests: define a requirements.txt file
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:33 -04:00
Alfredo Deza ab805824ea tests: create an example scenario file
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:33 -04:00
Alfredo Deza 05dace442d tests: create the conftest file that does all the magic
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:33 -04:00
Alfredo Deza 4b93837e4d tests: add the symlinked Vagrantfile to initial_members
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:33 -04:00
Alfredo Deza f828b3d3fc create a scenario config file for mon initial members
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:33 -04:00
Alfredo Deza cdac170cbf tests: add __init__.py for functional tests
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:33 -04:00
Alfredo Deza 757356d57e tests: common basic tests for after installation
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:32 -04:00
Alfredo Deza fe7bfbb62f tests: add __init__.py for mon tests
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:32 -04:00
Alfredo Deza d73843c36c tests: create a test to check for mon_initial_members
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:32 -04:00
Alfredo Deza d8b380c536 tests: placeholder pytest.ini to define test root dir
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: pytest#harness
2016-11-04 13:59:32 -04:00
Andrew Schoen 8a09b9c6ab add a mdss group to the CLI testing inventory
The ceph-mds role is being tested, but there was not group for it in the
inventory so ceph-mds was not being installed on the testing machine.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-06 14:47:45 -05:00
Alfredo Deza f16194b82b create a single-machine inventory for testing
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-01-28 11:53:23 -06:00
Sébastien Han 188c32323b WIP: first implementation of functional tests
Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-02-22 02:31:28 +01:00
Sébastien Han 9336d80cd6 Fix Travis
Only do syntax check now.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-21 16:33:26 +01:00
Leseb c34d16f08f Revert "Fix Travis run" 2015-01-21 16:17:40 +01:00
Sébastien Han 965df5579c Fix Travis run
Fix travis run and effectively test the playbooks.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-21 16:15:55 +01:00
Sébastien Han 2c1d98f07d Add test to the playbooks
Through Travis.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
2015-01-21 09:59:42 +01:00