openstack-ansible-ceph_client/tasks/ceph_config_extra.yml
Dmitriy Rabotyagov 721e96f145 Align extra conf files mode
When placing ceph_extra_confs files to their destination, they're being
assigned mode 0644 with root:root ownership. However, when we're overriding
some sections in config files, we also accidentally change mode of these
files to 0640 which makes issues while reading them by clients and
makes role not idempotent.

This issue was introduced by this commit [1]

[1] https://review.opendev.org/c/openstack/openstack-ansible-ceph_client/+/888216

Change-Id: I5fe0fff9616e0829b83f61bd1b062cfd978543d6
2024-01-18 09:55:37 +01:00

53 lines
1.5 KiB
YAML

---
# Copyright 2016, Walmart Stores, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Get extra ceph.conf files
command: "scp {{ item.mon_host }}:/etc/ceph/{{ item.cluster_name | default(ceph_cluster_name) }}.conf {{ item.src }}"
changed_when: false
delegate_to: localhost
with_items: "{{ ceph_extra_confs }}"
when:
- item.mon_host is defined
- item.src is defined
- name: Create extra ceph.conf files
copy:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: root
group: root
mode: "0644"
notify:
- Restart os services
with_items: "{{ ceph_extra_confs }}"
when:
- item.src is defined
- item.dest is defined
- name: Add keyring section to extra ceph.conf files
ini_file:
dest: "{{ item.dest }}"
section: "client.{{ item.client_name }}"
option: keyring
value: "{{ item.keyring_dest }}"
mode: "0644"
with_items: "{{ ceph_extra_confs }}"
when:
- item.src is defined
- item.dest is defined
- item.keyring_dest is defined
- item.client_name is defined