Merge pull request #1575 from ceph/backport-1568

Backport: "purge-docker-cluster fix and test #1568"
pull/1588/head v2.2.8
Andrew Schoen 2017-05-31 12:07:36 -05:00 committed by GitHub
commit addc95ad22
2 changed files with 22 additions and 21 deletions

View File

@ -249,7 +249,7 @@
zap_device zap_device
with_items: with_items:
- "{{ ceph_osd_docker_devices }}" - "{{ ceph_osd_docker_devices }}"
- "{{ raw_journal_devices }}" - "{{ raw_journal_devices|default([]) }}"
- name: wait until the zap containers die - name: wait until the zap containers die
shell: | shell: |
@ -267,7 +267,7 @@
state: absent state: absent
with_items: with_items:
- "{{ ceph_osd_docker_devices }}" - "{{ ceph_osd_docker_devices }}"
- "{{ raw_journal_devices }}" - "{{ raw_journal_devices|default([]) }}"
- name: remove ceph osd service - name: remove ceph osd service
file: file:
@ -360,29 +360,19 @@
enabled: no enabled: no
when: not is_atomic when: not is_atomic
- name: remove docker-py - name: remove docker-py on Debian
pip:
name: docker-py
version: 1.1.0
state: absent
when:
ansible_version['full'] | version_compare('2.1.0.0', '<') and
not is_atomic
- name: remove docker-py
pip: pip:
name: docker-py name: docker-py
state: absent state: absent
when: when:
ansible_version['full'] | version_compare('2.1.0.0', '>=') and - ansible_distribution == 'Debian'
not is_atomic
- name: remove six - name: remove six on Debian
pip: pip:
name: six name: six
version: 1.9.0
state: absent state: absent
when: not is_atomic when:
- ansible_distribution == 'Debian'
- name: remove pip and docker on ubuntu - name: remove pip and docker on ubuntu
apt: apt:

19
tox.ini
View File

@ -1,5 +1,5 @@
[tox] [tox]
envlist = {jewel,kraken,rhcs}-{ansible2.2}-{xenial_cluster,journal_collocation,centos7_cluster,dmcrypt_journal,dmcrypt_journal_collocation,docker_cluster,purge_cluster,purge_dmcrypt,docker_dedicated_journal,docker_dmcrypt_journal_collocation,update_dmcrypt,update_cluster,cluster} envlist = {jewel,kraken,rhcs}-{ansible2.2}-{xenial_cluster,journal_collocation,centos7_cluster,dmcrypt_journal,dmcrypt_journal_collocation,docker_cluster,purge_cluster,purge_dmcrypt,docker_dedicated_journal,docker_dmcrypt_journal_collocation,update_dmcrypt,update_cluster,cluster,purge_docker_cluster}
skipsdist = True skipsdist = True
# extra commands for purging clusters # extra commands for purging clusters
@ -8,16 +8,23 @@ skipsdist = True
# can be redployed to. # can be redployed to.
[purge] [purge]
commands= commands=
cp {toxinidir}/infrastructure-playbooks/purge-cluster.yml {toxinidir}/purge-cluster.yml cp {toxinidir}/infrastructure-playbooks/{env:PURGE_PLAYBOOK:purge-cluster.yml} {toxinidir}/{env:PURGE_PLAYBOOK:purge-cluster.yml}
ansible-playbook -vv -i {changedir}/hosts {toxinidir}/purge-cluster.yml --extra-vars "\ ansible-playbook -vv -i {changedir}/hosts {toxinidir}/{env:PURGE_PLAYBOOK:purge-cluster.yml} --extra-vars "\
ireallymeanit=yes \ ireallymeanit=yes \
ceph_stable_release={env:CEPH_STABLE_RELEASE:jewel} \ remove_packages=yes \
ceph_stable_release={env:CEPH_STABLE_RELEASE:kraken} \
fetch_directory={env:FETCH_DIRECTORY:{changedir}/fetch} \ fetch_directory={env:FETCH_DIRECTORY:{changedir}/fetch} \
ceph_docker_registry={env:CEPH_DOCKER_REGISTRY:docker.io} \
ceph_docker_image={env:CEPH_DOCKER_IMAGE:ceph/daemon} \
ceph_docker_image_tag={env:CEPH_DOCKER_IMAGE_TAG:latest} \
" "
# set up the cluster again # set up the cluster again
ansible-playbook -vv -i {changedir}/hosts {toxinidir}/site.yml.sample --extra-vars "\ ansible-playbook -vv -i {changedir}/hosts {toxinidir}/site.yml.sample --extra-vars "\
ceph_stable_release={env:CEPH_STABLE_RELEASE:jewel} \ ceph_stable_release={env:CEPH_STABLE_RELEASE:jewel} \
fetch_directory={env:FETCH_DIRECTORY:{changedir}/fetch} \ fetch_directory={env:FETCH_DIRECTORY:{changedir}/fetch} \
ceph_docker_registry={env:CEPH_DOCKER_REGISTRY:docker.io} \
ceph_docker_image={env:CEPH_DOCKER_IMAGE:ceph/daemon} \
ceph_docker_image_tag={env:CEPH_DOCKER_IMAGE_TAG:latest} \
" "
# test that the cluster can be redeployed in a healthy state # test that the cluster can be redeployed in a healthy state
testinfra -n 4 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts {toxinidir}/tests/functional/tests testinfra -n 4 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts {toxinidir}/tests/functional/tests
@ -49,6 +56,8 @@ setenv=
# only available for ansible >= 2.2 # only available for ansible >= 2.2
ANSIBLE_STDOUT_CALLBACK = debug ANSIBLE_STDOUT_CALLBACK = debug
docker_cluster: PLAYBOOK = site-docker.yml.sample docker_cluster: PLAYBOOK = site-docker.yml.sample
purge_docker_cluster: PLAYBOOK = site-docker.yml.sample
purge_docker_cluster: PURGE_PLAYBOOK = purge-docker-cluster.yml
docker_dedicated_journal: PLAYBOOK = site-docker.yml.sample docker_dedicated_journal: PLAYBOOK = site-docker.yml.sample
docker_dmcrypt_journal_collocation: PLAYBOOK = site-docker.yml.sample docker_dmcrypt_journal_collocation: PLAYBOOK = site-docker.yml.sample
rhcs: CEPH_RHCS = true rhcs: CEPH_RHCS = true
@ -76,6 +85,7 @@ changedir=
cluster: {toxinidir}/tests/functional/centos/7/cluster cluster: {toxinidir}/tests/functional/centos/7/cluster
# tests a 1 mon, 1 osd, 1 mds and 1 rgw centos7 cluster using docker # tests a 1 mon, 1 osd, 1 mds and 1 rgw centos7 cluster using docker
docker_cluster: {toxinidir}/tests/functional/centos/7/docker-cluster docker_cluster: {toxinidir}/tests/functional/centos/7/docker-cluster
purge_docker_cluster: {toxinidir}/tests/functional/centos/7/docker-cluster
docker_dedicated_journal: {toxinidir}/tests/functional/centos/7/docker-cluster-dedicated-journal docker_dedicated_journal: {toxinidir}/tests/functional/centos/7/docker-cluster-dedicated-journal
docker_dmcrypt_journal_collocation: {toxinidir}/tests/functional/centos/7/docker-cluster-dmcrypt-journal-collocation docker_dmcrypt_journal_collocation: {toxinidir}/tests/functional/centos/7/docker-cluster-dmcrypt-journal-collocation
purge_cluster: {toxinidir}/tests/functional/ubuntu/16.04/cluster purge_cluster: {toxinidir}/tests/functional/ubuntu/16.04/cluster
@ -104,6 +114,7 @@ commands=
purge_cluster: {[purge]commands} purge_cluster: {[purge]commands}
purge_dmcrypt: {[purge]commands} purge_dmcrypt: {[purge]commands}
purge_docker_cluster: {[purge]commands}
update_dmcrypt: {[update]commands} update_dmcrypt: {[update]commands}
update_cluster: {[update]commands} update_cluster: {[update]commands}