It looks like that the service module doesn't support wildcard anymore
for stopping/disabling multiple services.
fatal: [rgw0]: FAILED! => changed=false
msg: 'This module does not currently support using glob patterns,
found ''*'' in service name: ceph-radosgw@*'
...ignoring
Instead we should iterate over the rgw_instances list.
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit
9d3b49293d785b9b2b6bb902bce0ae8bce6b4e6e)
become: true
tasks:
+ - import_role:
+ name: ceph-defaults
- - name: stop ceph rgws with systemd
- service:
- name: ceph-radosgw@rgw.*
- state: stopped
- enabled: no
- failed_when: false
+ - import_role:
+ name: ceph-facts
+ tasks_from: set_radosgw_address
+
+ - name: stop ceph rgws with systemd
+ service:
+ name: "ceph-radosgw@rgw.{{ ansible_hostname }}.{{ item.instance_name }}"
+ state: stopped
+ enabled: no
+ failed_when: false
+ with_items: "{{ rgw_instances }}"
- name: purge ceph rbd-mirror cluster
become: true
tasks:
+ - import_role:
+ name: ceph-defaults
- - name: disable ceph rgw service
- service:
- name: "ceph-radosgw@*"
- state: stopped
- enabled: no
- ignore_errors: true
+ - import_role:
+ name: ceph-facts
+ tasks_from: set_radosgw_address
- - name: remove ceph rgw service
- file:
- path: /etc/systemd/system/ceph-radosgw@.service
- state: absent
+ - name: disable ceph rgw service
+ service:
+ name: "ceph-radosgw@rgw.{{ ansible_hostname }}.{{ item.instance_name }}"
+ state: stopped
+ enabled: no
+ failed_when: false
+ with_items: "{{ rgw_instances }}"
+
+ - name: remove ceph rgw service
+ file:
+ path: /etc/systemd/system/ceph-radosgw@.service
+ state: absent
- name: purge ceph rbd-mirror cluster
import_tasks: set_radosgw_address.yml
when: inventory_hostname in groups.get(rgw_group_name, [])
-- name: set_fact rgw_instances
- set_fact:
- rgw_instances: "{{ rgw_instances|default([]) | union([{'instance_name': 'rgw' + item|string, 'radosgw_address': _radosgw_address, 'radosgw_frontend_port': radosgw_frontend_port|int + item|int}]) }}"
- with_sequence: start=0 end={{ radosgw_num_instances|int - 1 }}
- when: inventory_hostname in groups.get(rgw_group_name, [])
-
- name: set ntp service name depending on OS family
block:
- name: set ntp service name for Debian family
set_fact:
_radosgw_address: "{{ hostvars[inventory_hostname][_interface][ip_version][0]['address'] }}"
when: ip_version == 'ipv6'
+
+- name: set_fact rgw_instances
+ set_fact:
+ rgw_instances: "{{ rgw_instances|default([]) | union([{'instance_name': 'rgw' + item|string, 'radosgw_address': _radosgw_address, 'radosgw_frontend_port': radosgw_frontend_port|int + item|int}]) }}"
+ with_sequence: start=0 end={{ radosgw_num_instances|int - 1 }}
- name: restart rgw
service:
- name: ceph-radosgw@*
+ name: "ceph-radosgw@rgw.{{ ansible_hostname }}.{{ item.instance_name }}"
state: restarted
+ with_items: "{{ rgw_instances }}"