mirror of https://github.com/ceph/ceph-ansible.git
161 lines
4.4 KiB
YAML
161 lines
4.4 KiB
YAML
---
|
|
- name: install dependencies
|
|
yum:
|
|
name: "{{ item }}"
|
|
state: present
|
|
with_items: redhat_package_dependencies
|
|
when:
|
|
ansible_distribution == "RedHat" and
|
|
ansible_pkg_mgr == "yum"
|
|
|
|
- name: install dependencies
|
|
yum:
|
|
name: "{{ item }}"
|
|
state: present
|
|
with_items: centos_package_dependencies
|
|
when:
|
|
ansible_distribution == "CentOS" and
|
|
ansible_pkg_mgr == "yum"
|
|
|
|
- name: install dependencies
|
|
dnf:
|
|
name: "{{ item }}"
|
|
state: present
|
|
with_items: centos_package_dependencies
|
|
when:
|
|
ansible_distribution == "CentOS" and
|
|
ansible_pkg_mgr == "dnf"
|
|
|
|
- name: configure ceph yum repository
|
|
include: redhat_ceph_repository.yml
|
|
when: ceph_origin == 'upstream'
|
|
|
|
- name: install ceph
|
|
yum:
|
|
name: ceph
|
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
when: not ceph_stable_rh_storage
|
|
|
|
# include Infernalis in the set of releases that do not have
|
|
# a separate ceph-mon package or ceph-osd package
|
|
# Note: Red Hat Ceph Storage is different, DOES separate them even in hammer
|
|
|
|
- set_fact: >
|
|
ceph_stable_rel_pkg="{{ ceph_stable_releases | union([ 'infernalis' ]) }}"
|
|
|
|
- name: install distro or red hat storage ceph mon
|
|
yum:
|
|
name: "{{ item }}"
|
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
with_items:
|
|
- ceph
|
|
- ceph-mon
|
|
when:
|
|
(ceph_origin == "distro" or ceph_stable_rh_storage or
|
|
(ceph_stable and ceph_stable_release not in ceph_stable_rel_pkg)) and
|
|
mon_group_name in group_names and
|
|
ansible_pkg_mgr == "yum"
|
|
|
|
- name: install distro or red hat storage ceph mon
|
|
dnf:
|
|
name: "{{ item }}"
|
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
with_items:
|
|
- ceph
|
|
- ceph-mon
|
|
when:
|
|
(ceph_origin == "distro" or ceph_stable_rh_storage or
|
|
(ceph_stable and ceph_stable_release not in ceph_stable_rel_pkg)) and
|
|
mon_group_name in group_names and
|
|
ansible_pkg_mgr == "dnf"
|
|
|
|
- name: install distro or red hat storage ceph osd
|
|
yum:
|
|
name: "{{ item }}"
|
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
with_items:
|
|
- ceph
|
|
- ceph-osd
|
|
when:
|
|
(ceph_origin == "distro" or ceph_stable_rh_storage or
|
|
(ceph_stable and ceph_stable_release not in ceph_stable_rel_pkg)) and
|
|
osd_group_name in group_names and
|
|
ansible_pkg_mgr == "yum"
|
|
|
|
- name: install distro or red hat storage ceph osd
|
|
dnf:
|
|
name: "{{ item }}"
|
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
with_items:
|
|
- ceph
|
|
- ceph-osd
|
|
when:
|
|
(ceph_origin == "distro" or ceph_stable_rh_storage or
|
|
(ceph_stable and ceph_stable_release not in ceph_stable_rel_pkg)) and
|
|
osd_group_name in group_names and
|
|
ansible_pkg_mgr == "dnf"
|
|
|
|
- name: install ceph-test
|
|
yum:
|
|
name: ceph-test
|
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
when:
|
|
ceph_test and
|
|
ansible_pkg_mgr == "yum"
|
|
|
|
- name: install ceph-test
|
|
dnf:
|
|
name: ceph-test
|
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
when:
|
|
ceph_test and
|
|
ansible_pkg_mgr == "dnf"
|
|
|
|
- name: install Inktank Ceph Enterprise RBD Kernel modules
|
|
yum:
|
|
name: "{{ item }}"
|
|
with_items:
|
|
- "{{ ceph_stable_ice_temp_path }}/kmod-libceph-{{ ceph_stable_ice_kmod }}.rpm"
|
|
- "{{ ceph_stable_ice_temp_path }}/kmod-rbd-{{ ceph_stable_ice_kmod }}.rpm"
|
|
when:
|
|
ceph_stable_ice and
|
|
ansible_pkg_mgr == "yum"
|
|
|
|
- name: install Inktank Ceph Enterprise RBD Kernel modules
|
|
dnf:
|
|
name: "{{ item }}"
|
|
with_items:
|
|
- "{{ ceph_stable_ice_temp_path }}/kmod-libceph-{{ ceph_stable_ice_kmod }}.rpm"
|
|
- "{{ ceph_stable_ice_temp_path }}/kmod-rbd-{{ ceph_stable_ice_kmod }}.rpm"
|
|
when:
|
|
ceph_stable_ice and
|
|
ansible_pkg_mgr == "dnf"
|
|
|
|
- name: install rados gateway
|
|
yum:
|
|
name: ceph-radosgw
|
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
when:
|
|
rgw_group_name in group_names and
|
|
ansible_pkg_mgr == "yum"
|
|
|
|
- name: install rados gateway
|
|
dnf:
|
|
name: ceph-radosgw
|
|
state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
|
|
when:
|
|
rgw_group_name in group_names and
|
|
ansible_pkg_mgr == "dnf"
|
|
|
|
- name: configure rbd clients directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: "{{ rbd_client_directory_user }}"
|
|
group: "{{ rbd_client_directory_group }}"
|
|
mode: 0755
|
|
with_items:
|
|
- rbd_client_log_path
|
|
- rbd_client_admin_socket_path
|
|
when: rbd_client_directories
|