f3eeb2fa15
Deploy necessary configs and keyrings for multiple ceph cluters. Specifically, the intent is to enable multiple backends for cinder that can be accessed by compute nodes. This change will allow automatic retrieval of ceph.conf and client keyrings from multiple ceph clusters. Additionally, libvirt ceph client secrets will be created to support attaching volumes to instances from multiple ceph clusters. Change-Id: Icee061b35f374955154a3dd703444b94da0117da
81 lines
2.1 KiB
YAML
81 lines
2.1 KiB
YAML
---
|
|
# Copyright 2015, Serge van Ginderachter <serge@vanginderachter.be>
|
|
#
|
|
# 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: Provide ceph configuration directory
|
|
file:
|
|
dest: /etc/ceph
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: 0755
|
|
tags:
|
|
- ceph-config-create-dir
|
|
|
|
- name: Get ceph.conf and store contents when ceph_conf_file is not defined
|
|
slurp:
|
|
src: /etc/ceph/ceph.conf
|
|
register: ceph_conf_content_mon
|
|
delegate_to: '{{ ceph_mon_host }}'
|
|
changed_when: false
|
|
when: ceph_conf_file is not defined
|
|
tags:
|
|
- ceph-config-get-config
|
|
|
|
- name: Register ceph_conf fact when ceph_conf_file is not defined
|
|
set_fact:
|
|
ceph_conf: "{{ ceph_conf_content_mon.content | b64decode }}"
|
|
when: ceph_conf_file is not defined
|
|
tags:
|
|
- ceph-config-get-config
|
|
|
|
- name: Register ceph_conf fact when ceph_conf_file is defined
|
|
set_fact:
|
|
ceph_conf: "{{ ceph_conf_file }}"
|
|
when: ceph_conf_file is defined
|
|
tags:
|
|
- ceph-config-get-config
|
|
|
|
- name: Create ceph.conf from mon host
|
|
copy:
|
|
content: '{{ ceph_conf }}'
|
|
dest: /etc/ceph/ceph.conf
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
notify:
|
|
- Restart os services
|
|
tags:
|
|
- ceph-config-create-config
|
|
|
|
- name: Detect correct group for extra config
|
|
set_fact:
|
|
ceph_in_extra_config_group: True
|
|
when:
|
|
- ceph_extra_confs is defined
|
|
- inventory_hostname in groups[item]
|
|
with_items: "{{ ceph_extra_config_groups }}"
|
|
tags:
|
|
- ceph-config
|
|
- ceph-config-extra
|
|
|
|
- include: ceph_config_extra.yml
|
|
when:
|
|
- ceph_in_extra_config_group is defined
|
|
- ceph_in_extra_config_group | bool
|
|
static: no
|
|
tags:
|
|
- ceph-config
|
|
- ceph-config-extra
|