diff --git a/tests/functional/rgw_multisite.yml b/tests/functional/rgw_multisite.yml new file mode 100644 index 000000000..27e55b375 --- /dev/null +++ b/tests/functional/rgw_multisite.yml @@ -0,0 +1,61 @@ +--- +- hosts: rgws + gather_facts: True + become: True + vars: + s3cmd_cmd: "s3cmd --no-ssl --access_key={{ system_access_key }} --secret_key={{ system_secret_key }} --host={{ rgw_multisite_endpoint_addr }}:8080 --host-bucket={{ rgw_multisite_endpoint_addr }}:8080" + tasks: + + - name: check if it is Atomic host + stat: path=/run/ostree-booted + register: stat_ostree + check_mode: no + + - name: set fact for using Atomic host + set_fact: + is_atomic: '{{ stat_ostree.stat.exists }}' + + - name: install s3cmd + package: + name: s3cmd + state: present + when: + - not is_atomic + + - name: generate and upload a random 10Mb file - containerized deployment + command: > + docker run --rm --name=rgw_multisite_test --entrypoint=/bin/bash {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} -c 'dd if=/dev/urandom of=/tmp/testinfra.img bs=1M count=10; {{ s3cmd_cmd }} mb s3://testinfra; {{ s3cmd_cmd }} put /tmp/testinfra.img s3://testinfra' + when: + - rgw_zonemaster + - containerized_deployment | default(False) + + - name: generate and upload a random a 10Mb file - non containerized + shell: > + dd if=/dev/urandom of=/tmp/testinfra.img bs=1M count=10; + {{ s3cmd_cmd }} mb s3://testinfra; + {{ s3cmd_cmd }} put /tmp/testinfra.img s3://testinfra + when: + - rgw_zonemaster | default(False) + - not containerized_deployment | default(False) + + - name: get info from replicated file - containerized deployment + command: > + docker run --rm --name=rgw_multisite_test --entrypoint=/bin/bash {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} -c '{{ s3cmd_cmd }} info s3://testinfra/testinfra.img' + register: s3cmd_info_status + when: + - not rgw_zonemaster | default(False) + - containerized_deployment | default(False) + retries: 10 + delay: 2 + until: s3cmd_info_status.get('rc', 1) == 0 + + - name: get info from replicated file - non containerized + command: > + {{ s3cmd_cmd }} info s3://testinfra/testinfra.img + register: s3cmd_info_status + when: + - not rgw_zonemaster | default(False) + - not containerized_deployment | default(False) + retries: 10 + delay: 2 + until: s3cmd_info_status.get('rc', 1) == 0 diff --git a/tox.ini b/tox.ini index a44a89269..97b35abb1 100644 --- a/tox.ini +++ b/tox.ini @@ -175,7 +175,9 @@ commands= ceph_dev_branch={env:CEPH_DEV_BRANCH:master} \ ceph_dev_sha1={env:CEPH_DEV_SHA1:latest} \ " - bash -c "cd {changedir}/secondary && vagrant destroy --force" + ansible-playbook -vv -i {changedir}/hosts {toxinidir}/tests/functional/rgw_multisite.yml --extra-vars "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}" + ansible-playbook -vv --ssh-extra-args='-F {changedir}/secondary/vagrant_ssh_config' -i {changedir}/secondary/hosts {toxinidir}/tests/functional/rgw_multisite.yml --extra-vars "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}" + bash -c "cd {changedir}/secondary && vagrant destroy --force" [testenv] whitelist_externals =