mirror of https://github.com/ceph/ceph-ansible.git
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/6141/head
parent
da7b708636
commit
cb56bb9f21
|
@ -2,51 +2,67 @@
|
||||||
- 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: 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
|
||||||
state: present
|
state: present
|
||||||
register: result
|
register: result
|
||||||
until: result is succeeded
|
until: result is succeeded
|
||||||
when: not containerized_deployment | default(false) | bool
|
when: not containerized_deployment | bool
|
||||||
|
|
||||||
- name: generate and upload a random 10Mb file - containerized deployment
|
- name: generate and upload a random 10Mb file - containerized deployment
|
||||||
command: >
|
shell: >
|
||||||
podman 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: >
|
||||||
podman 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
|
|
||||||
|
|
Loading…
Reference in New Issue