tests: rgw_multisite playbook test refactor

Currently we create an object from the primary sites but we try to read
that object still from the master which doesn't make sense, we should
try to read it from a secondary site.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit e2ea403d5e)
pull/6145/head
Guillaume Abrioux 2020-12-11 14:36:00 +01:00
parent 7acaabadb9
commit 8106dcff44
1 changed files with 41 additions and 26 deletions

View File

@ -2,10 +2,7 @@
- hosts: rgws - hosts: rgws
gather_facts: True gather_facts: True
become: True become: True
vars:
s3cmd_cmd: "s3cmd --no-ssl --access_key=P9Eb6S8XNyo4dtZZUUMy --secret_key=qqHCUtfdNnpHq3PZRHW5un9l0bEBM812Uhow0XfB --host={{ rgw_multisite_endpoint_addr }}:8080 --host-bucket={{ rgw_multisite_endpoint_addr }}:8080"
tasks: tasks:
- name: check if it is Atomic host - name: check if it is Atomic host
stat: path=/run/ostree-booted stat: path=/run/ostree-booted
register: stat_ostree register: stat_ostree
@ -15,6 +12,18 @@
set_fact: set_fact:
is_atomic: '{{ stat_ostree.stat.exists }}' is_atomic: '{{ stat_ostree.stat.exists }}'
- name: import_role ceph-defaults
import_role:
name: ceph-defaults
- name: import_role ceph-facts
include_role:
name: ceph-facts
tasks_from: "{{ item }}.yml"
with_items:
- set_radosgw_address
- container_binary
- name: install s3cmd - name: install s3cmd
package: package:
name: s3cmd name: s3cmd
@ -24,39 +33,45 @@
when: not is_atomic | bool when: not is_atomic | bool
- name: generate and upload a random 10Mb file - containerized deployment - name: generate and upload a random 10Mb file - containerized deployment
command: > shell: >
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' {{ container_binary }} run --rm --name=rgw_multisite_test --entrypoint=bash {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} -c 'dd if=/dev/urandom of=/tmp/testinfra-{{ item.rgw_realm }}.img bs=1M count=10;
s3cmd --no-ssl --access_key={{ item.system_access_key }} --secret_key={{ item.system_secret_key }} --host={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} --host-bucket={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} mb s3://testinfra-{{ item.rgw_realm }};
s3cmd --no-ssl --access_key={{ item.system_access_key }} --secret_key={{ item.system_secret_key }} --host={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} --host-bucket={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} put /tmp/testinfra-{{ item.rgw_realm }}.img s3://testinfra-{{ item.rgw_realm }}'
with_items: "{{ rgw_instances_host }}"
when: when:
- rgw_zonemaster | bool - rgw_zonemaster | bool
- containerized_deployment | default(False) | bool - containerized_deployment | bool
- name: generate and upload a random a 10Mb file - non containerized - name: generate and upload a random a 10Mb file - non containerized
shell: > shell: |
dd if=/dev/urandom of=/tmp/testinfra.img bs=1M count=10; dd if=/dev/urandom of=/tmp/testinfra-{{ item.rgw_realm }}.img bs=1M count=10;
{{ s3cmd_cmd }} mb s3://testinfra; s3cmd --no-ssl --access_key={{ item.system_access_key }} --secret_key={{ item.system_secret_key }} --host={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} --host-bucket={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} mb s3://testinfra-{{ item.rgw_realm }};
{{ s3cmd_cmd }} put /tmp/testinfra.img s3://testinfra s3cmd --no-ssl --access_key={{ item.system_access_key }} --secret_key={{ item.system_secret_key }} --host={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} --host-bucket={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} put /tmp/testinfra-{{ item.rgw_realm }}.img s3://testinfra-{{ item.rgw_realm }};
with_items: "{{ rgw_instances_host }}"
when: when:
- rgw_zonemaster | default(False) | bool - rgw_zonemaster | bool
- not containerized_deployment | default(False) | bool - not containerized_deployment | bool
- name: get info from replicated file - containerized deployment - name: get info from replicated file - containerized deployment
command: > 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' {{ container_binary }} run --rm --name=rgw_multisite_test --entrypoint=s3cmd {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} --no-ssl --access_key={{ item.system_access_key }} --secret_key={{ item.system_secret_key }} --host={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} --host-bucket={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} info s3://testinfra-{{ item.rgw_realm }}/testinfra-{{ item.rgw_realm }}.img
register: s3cmd_info_status with_items: "{{ rgw_instances_host }}"
register: result
retries: 60
delay: 1
until: result is succeeded
when: when:
- not rgw_zonemaster | default(False) | bool - not rgw_zonemaster | bool
- containerized_deployment | default(False) | bool - containerized_deployment | bool
retries: 10
delay: 2
until: s3cmd_info_status.get('rc', 1) == 0
- name: get info from replicated file - non containerized - name: get info from replicated file - non containerized
command: > command: >
{{ s3cmd_cmd }} info s3://testinfra/testinfra.img s3cmd --no-ssl --access_key={{ item.system_access_key }} --secret_key={{ item.system_secret_key }} --host={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} --host-bucket={{ item.radosgw_address }}:{{ item.radosgw_frontend_port }} info s3://testinfra-{{ item.rgw_realm }}/testinfra-{{ item.rgw_realm }}.img
register: s3cmd_info_status with_items: "{{ rgw_instances_host }}"
register: result
retries: 60
delay: 1
until: result is succeeded
when: when:
- not rgw_zonemaster | default(False) | bool - not rgw_zonemaster | bool
- not containerized_deployment | default(False) | bool - not containerized_deployment | bool
retries: 10
delay: 2
until: s3cmd_info_status.get('rc', 1) == 0