06ede41645
Adds ceph-ansible integration to OSA using the upstream roles ceph-common, ceph-mon, and ceph-osd to support deployment of a Ceph cluster for use with OSA. The integration should be considered experimental at this point, however an integrated functional testing scenario named "ceph" is added which fully exercises the ceph-ansible deployment and configures OSA to use the deployed Ceph cluster. Once this is added to the OSA gate tests for the integrated build, that should help quickly stabilize any issues that arise with this integration. Change-Id: I275708096a71f66d73be1400c8a592c598382c1d
91 lines
2.5 KiB
YAML
91 lines
2.5 KiB
YAML
---
|
|
# Copyright 2016, Logan Vig <logan2211@gmail.com>
|
|
#
|
|
# 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: Install ceph mons
|
|
hosts: ceph-mon
|
|
max_fail_percentage: 20
|
|
user: root
|
|
pre_tasks:
|
|
- include: common-tasks/os-log-dir-setup.yml
|
|
vars:
|
|
log_dirs:
|
|
- src: "/openstack/log/{{ inventory_hostname }}-ceph"
|
|
dest: "/var/log/ceph"
|
|
- include: common-tasks/os-lxc-container-setup.yml
|
|
vars:
|
|
list_of_bind_mounts:
|
|
- bind_dir_path: "/var/lib/ceph"
|
|
mount_path: "/openstack/{{ inventory_hostname }}"
|
|
- include: common-tasks/package-cache-proxy.yml
|
|
roles:
|
|
- role: "ceph-mon"
|
|
tags:
|
|
- skip_ansible_lint
|
|
- role: "rsyslog_client"
|
|
rsyslog_client_log_rotate_file: ceph_log_rotate
|
|
rsyslog_client_log_dir: "/var/log/ceph"
|
|
rsyslog_client_config_name: "99-ceph-rsyslog-client.conf"
|
|
tags:
|
|
- rsyslog
|
|
- role: "system_crontab_coordination"
|
|
tags:
|
|
- crontab
|
|
vars:
|
|
is_metal: "{{ properties.is_metal|default(false) }}"
|
|
tags:
|
|
- ceph
|
|
- ceph-mon
|
|
|
|
- name: Gather ceph-mon facts
|
|
hosts: ceph-mon
|
|
user: root
|
|
gather_facts: no
|
|
tasks:
|
|
- name: Gather ceph-mon facts
|
|
action: setup
|
|
tags:
|
|
- ceph-mon-facts
|
|
tags:
|
|
- ceph
|
|
- ceph-osd
|
|
|
|
- name: Install ceph osds
|
|
hosts: ceph-osd
|
|
max_fail_percentage: 20
|
|
user: root
|
|
pre_tasks:
|
|
- include: common-tasks/os-log-dir-setup.yml
|
|
vars:
|
|
log_dirs:
|
|
- src: "/openstack/log/{{ inventory_hostname }}-ceph"
|
|
dest: "/var/log/ceph"
|
|
- include: common-tasks/package-cache-proxy.yml
|
|
roles:
|
|
- role: "ceph-osd"
|
|
tags:
|
|
- skip_ansible_lint
|
|
- role: "rsyslog_client"
|
|
rsyslog_client_log_rotate_file: ceph_log_rotate
|
|
rsyslog_client_log_dir: "/var/log/ceph"
|
|
rsyslog_client_config_name: "99-ceph-rsyslog-client.conf"
|
|
tags:
|
|
- rsyslog
|
|
- role: "system_crontab_coordination"
|
|
tags:
|
|
- crontab
|
|
tags:
|
|
- ceph
|
|
- ceph-osd
|