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/6145/head
parent
7acaabadb9
commit
8106dcff44
|
@ -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
|
|
||||||
|
|
Loading…
Reference in New Issue