Commit Graph

72 Commits (f5c2d3de9cecfdf7d0dde86617fec251d0f182ac)

Author SHA1 Message Date
Andrew Schoen 22541a9c9a tests: use docker playbook when redeploying a purged cluster
When we purge a containerized cluster we need to use the correct
playbook when redploying the cluster.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-05-31 12:48:51 -05:00
Andrew Schoen ecdb6f4967 tests: adds a scenario for purging containerized clusters
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-05-25 08:41:36 -05:00
Andrew Schoen 8756c553cc tests: rhcs should set ceph_stable_release to jewel
rhcs is based off of jewel, so we need to set this var in the tests so
that the ceph-mgr role is skipped.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-05-15 09:54:01 -05:00
Ken Dreyer e2300d5b1d tox: bump ansible version to 2.2.3
The Ansible team has released v2.2.3, which fixes two CVEs:

CVE-2017-7481
CVE-2017-7466

https://www.ansible.com/security
2017-05-10 11:38:51 -06:00
Andrew Schoen 52d9fbd3d0 tests: update default of CEPH_STABLE_RELEASE to kraken
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-05-05 15:51:54 -05:00
Andrew Schoen cf037b5473 tests: use the xenial container for jewel instead of centos7
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-05-05 09:18:11 -05:00
Andrew Schoen 2fada9bd6b tests: allow for insecure docker registries when testing rhcs
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-05-02 16:21:48 -05:00
Andrew Schoen e384b24987 tests: switch to using key/value extra-vars instead of json
I continue to have issues with extra-vars as json. The latest issue
being that the ceph_docker_image_tag config option included in the json
was being ignored. I can't find the root cause, by using the key/value
format seems to work.

I've also removed several options here to simply the interface. We can
add those back if they become necessary.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-05-02 13:08:49 -05:00
Andrew Schoen 1fcc3283d8 tests: actually test a jewel container for the jewel-* docker tests
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-05-01 14:08:55 -05:00
Andrew Schoen 63983fa0b7 tests: remove CEPH_STABLE environment variable
I'm removing this because when we use an 'rhcs' scenario then we attempt
to set CEPH_STABLE=false as an environment variable. The issue with that
is because the value is coming from an environment variable it is always
treated as a string and ansible treats that as a boolean True. I plan to
set the ceph_stable value with our rhcs_setup.yml playbook instead of
relying on ---extra-vars and environment variables.

Related ansible issue: https://github.com/ansible/ansible/issues/17193

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-04-12 07:50:41 -05:00
Andrew Schoen 16e889c30a tests: add docker environment variables to tox.ini
This allows us to control the docker registry, image name and tag name
for the containers.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-04-06 10:29:16 -05:00
Andrew Schoen 4ca0f7fa71 tests: add an alias of cluster for the centos7_cluster scenario
When testing this downstream it makes more sense for this scenario to be
named just 'cluster' because have 'centos7' in the name is misleading.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-04-05 13:36:51 -05:00
Sébastien Han 3c59ed58a5 Merge pull request #1411 from ceph/bump-ansible
tests: bump the version of ansible to 2.2.2
2017-04-05 16:03:20 +02:00
Alfredo Deza 3f6cdbb646 tests: bump the version of ansible to 2.2.2
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2017-04-05 07:38:58 -04:00
Andrew Schoen 1b6b6d6255 tests: run all tests for jewel and kraken
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-04-03 16:11:55 -05:00
Andrew Schoen 5c34c9ccf1 tests: when testing rhcs default CEPH_STABLE=false
This will keep ceph-ansible from installing the upstream repo file on
the testing nodes.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-23 06:42:43 -05:00
Andrew Schoen 66f3f31702 tests: adds a task to download a repo file for nightly rhel7 packages
This is a url to an actual repo file, not a baseurl to use in a repo.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-22 16:18:57 -05:00
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 28f1f24759 tests: use the rhcs_setup.yml playbook in tox.ini
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-22 10:14:41 -05:00
Andrew Schoen 1fce790128 test: docker dmcrypt tests should use the site.docker.yml playbook
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-22 09:16:06 -05:00
Andrew Schoen 274c76f897 tests: adds a 'rhcs-' prefix to the testing scenarios matrix
This allows for us to have a copy of the existing testing scenarios with
a 'rhcs-' prefix. We can use that in the tox.ini to take actions we need
to properly test Red Hat Ceph Storage.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-22 08:49:49 -05:00
Andrew Schoen 2967023ea9 tests: allow setting fetch_directory with an environment variable
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-20 16:22:07 -05:00
Andrew Schoen 000110d2a2 tests: convert extra-vars to use json
This will prevent ansible from misreading any of these values. There
were failures with xenial deployments because the value set for
``ceph_rhcs`` was being treated as a boolean True even though I'd set
the value to false. This is because boolean values passed in with
--extra-vars must use the json format.

The formatting of the json is very important as you need a '\' to escape
the starting and ending json to make tox happy. Also, each line needs to
end with '\' if it's a multi-line command.

Another thing to note is that if you want to use extra vars at the
command line to respond to a vars_prompt it must be in key/value format.
This is why we have a -e and a --extra-vars on the purge and update
tests.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-16 14:23:41 -05:00
Andrew Schoen d76b1d9609 tests: change USE_CEPH_RHCS to CEPH_RHCS
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-15 16:37:21 -05:00
Andrew Schoen e3c8f7db4e tests: use CEPH_STABLE to set the value for ceph_stable
When using CEPH_DEV=true you'll need to set CEPH_STABLE=false so that
that an upstream repo file doesn't get created.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-15 16:37:21 -05:00
Andrew Schoen b1f5798607 tests: reformat tox.ini for better readability
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-15 16:37:21 -05:00
Andrew Schoen 19a5362868 tests: adds the ability to set the ceph_stable_release value
Use CEPH_STABLE_RELEASE to set the name of the ceph release you plan to
install. When testing an upgrade scenario you'll also need to set
UPGRADE_CEPH_STABLE_RELEASE.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-15 16:37:20 -05:00
Andrew Schoen fbe2aca9af tests: add the ability to run tests with shaman repos
To run tests that deploy shaman repos set CEPH_DEV=true and optionally
use CEPH_DEV_BRANCH and CEPH_DEV_SHA1 to define with branch and sha1 to
test. CEPH_DEV_BRANCH defaults to master and CEPH_DEV_SHA1 defaults to
latest.

For example, this would run the journal_collocation test with the latest
build of the master branch:

  CEPH_DEV=true tox -rve ansible2.2-journal_collocation

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-15 16:37:20 -05:00
Andrew Schoen 635f204001 tests: use CEPH_ORIGIN to control the value of ceph_origin
For example, the following would run the journal collocation test and
would install ceph from the repos already on the nodes:

  CEPH_ORIGIN=distro tox -rve ansible2.2-journal_collocation

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-15 16:37:20 -05:00
Andrew Schoen 1f40347bd2 tests: when running test set USE_RHCS=true to install set ceph_rhcs=true
When invoking the tests if USE_RHCS=true is set then all tests will be
run with ceph_rhcs=True.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-15 16:37:20 -05:00
Andrew Schoen 04c113b05f tests: adds an update_cluster testing scenario
This updates the centos 7 cluster scenario from jewel to kraken using
the rolling_update playbook.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-03-09 09:52:26 -06: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
Andrew Schoen 36eaca693b tests: enable the docker_dedicated_journal scenario
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-02-21 15:55:38 -05:00
Andrew Schoen 0cdc6fb79a tests: adds a new ansible2.2-update_dmcrypt scenario
This performs a rolling update on a cluster using dmcrypt dedicated
journals.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-02-21 12:31:27 -06:00
Sébastien Han 549a25c5bc Revert "ci: dummy commit to debug"
This reverts commit ff135a5024.
2017-01-31 09:19:55 +01:00
Sébastien Han ff135a5024 ci: dummy commit to debug
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-01-30 16:12:36 +01:00
Andrew Schoen 2a87c13f17 tests/purge_cluster: setup a xenial cluster instead of centos7
The purge_dmcrypt scenario also tests centos7, so change this one to
xenial so we can have more test coverage.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-27 06:12:10 -06:00
Andrew Schoen e05df64fd0 tests: adds purge_cluster and purge_dmcrypt scenarios
This also removes the purge_cluster_collocated scenario as it's not
needed now because of purge_cluster.

Moving all the purge commands into its own section allows for ease of
reuse when creating new purge scenarios.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-26 10:41:29 -06:00
Alfredo Deza 6b46da5538 tests: remove the pip install ansible from stable github branch
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2017-01-16 16:19:25 -05:00
Alfredo Deza 1a4886a561 tests: bump ansible testing version to 2.2.1 for the 2.2 environment
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2017-01-16 16:18:55 -05:00
Andrew Schoen 48ac9579b6 tests: copy purge-cluster.yml to root of ceph-ansible
There is an Ansible bug which makes the playbook fail when we are
running a playbook from the non-git root directory. The real problem is
that the ansible.cfg is not honoured and we are including variable from
roles/<role>/defaults/main.yml

The fix is too copy the purge cluster playbook on the git root directory
and execute it.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-10 16:56:07 -06:00
Andrew Schoen 6d3a334439 tests: test with the latest ansible stable-2.2 branch from github
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-10 15:27:19 -06:00
Andrew Schoen 0ce18daa49 tests: adds a purge_cluster_collocated scenario
This scenario brings up a 1 mon 1 osd cluster using journal collocation,
purges the cluster and then verifies it can redeploy the cluster.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-03 15:57:17 -06:00
Andrew Schoen 529d0f4103 tests: preserve newlines in ansible output when testing
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-15 12:23:17 -06:00
Andrew Schoen 7c1a45260d tests: run testinfra with --sudo
It needs this so that the modules can use sudo

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:19 -06:00
Andrew Schoen 465bafc444 tests: run the setup.yml playbook with tox
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-06 14:56:19 -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 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