mirror of https://github.com/ceph/ceph-ansible.git
92 lines
3.3 KiB
YAML
92 lines
3.3 KiB
YAML
---
|
|
- name: fail on unsupported system
|
|
fail:
|
|
msg: "System not supported {{ ansible_system }}"
|
|
when: ansible_system not in ['Linux']
|
|
|
|
- name: fail on unsupported architecture
|
|
fail:
|
|
msg: "Architecture not supported {{ ansible_architecture }}"
|
|
when: ansible_architecture not in ['x86_64', 'ppc64le', 'armv7l', 'aarch64']
|
|
|
|
- name: fail on unsupported distribution
|
|
fail:
|
|
msg: "Distribution not supported {{ ansible_os_family }}"
|
|
when: ansible_os_family not in ['Debian', 'RedHat', 'ClearLinux', 'Suse']
|
|
|
|
- name: red hat based systems tasks
|
|
when:
|
|
- ceph_repository == 'rhcs'
|
|
- ansible_distribution == 'Red Hat Enterprise Linux'
|
|
block:
|
|
- name: fail on unsupported distribution for red hat ceph storage
|
|
fail:
|
|
msg: "Distribution not supported {{ ansible_distribution_version }} by Red Hat Ceph Storage, only RHEL >= 7.3"
|
|
when: ansible_distribution_version | version_compare('7.3', '<')
|
|
|
|
- name: subscription manager related tasks
|
|
when: ceph_repository_type == 'cdn'
|
|
block:
|
|
- name: determine if node is registered with subscription-manager
|
|
command: subscription-manager identity
|
|
register: subscription
|
|
changed_when: false
|
|
failed_when: false
|
|
check_mode: no
|
|
|
|
- name: fail on unregistered red hat rhcs linux
|
|
fail:
|
|
msg: "You must register your machine with subscription-manager"
|
|
when: subscription.rc != '0'
|
|
|
|
- name: fail on unsupported distribution for ubuntu cloud archive
|
|
fail:
|
|
msg: "Distribution not supported by Ubuntu Cloud Archive: {{ ansible_distribution }}"
|
|
when:
|
|
- ceph_repository == 'uca'
|
|
- ansible_distribution != 'Ubuntu'
|
|
|
|
- name: "fail on unsupported SUSE/openSUSE distribution (only 15.x supported)"
|
|
fail:
|
|
msg: "Distribution not supported: {{ ansible_distribution }} {{ ansible_distribution_major_version }}"
|
|
when:
|
|
- ansible_distribution == 'openSUSE Leap' or ansible_distribution == 'SUSE'
|
|
- ansible_distribution_major_version != '15'
|
|
|
|
- name: fail on unsupported ansible version (1.X)
|
|
fail:
|
|
msg: "Ansible version must be >= 2.8.x, please update!"
|
|
when: ansible_version.major|int < 2
|
|
|
|
- name: fail on unsupported ansible version
|
|
fail:
|
|
msg: "Ansible version must be 2.8!"
|
|
when:
|
|
- ansible_version.major|int == 2
|
|
- ansible_version.minor|int != 8
|
|
|
|
- name: fail if systemd is not present
|
|
fail:
|
|
msg: "Systemd must be present"
|
|
when: ansible_service_mgr != 'systemd'
|
|
|
|
- name: check if iscsi gateways is target on supported distros and versions
|
|
block:
|
|
- name: fail on unsupported distribution for iscsi gateways
|
|
fail:
|
|
msg: "iSCSI gateways can only be deployed on Red Hat Enterprise Linux, CentOS or Fedora"
|
|
when: ansible_distribution not in ['RedHat', 'CentOS', 'Fedora']
|
|
|
|
- name: fail on unsupported distribution version for iscsi gateways
|
|
command: 'grep -q {{ item }}=m {% if is_atomic|bool %}/usr/lib/ostree-boot{% else %}/boot{% endif %}/config-{{ ansible_kernel }}'
|
|
register: iscsi_kernel
|
|
changed_when: false
|
|
failed_when: iscsi_kernel.rc != 0
|
|
loop:
|
|
- CONFIG_TARGET_CORE
|
|
- CONFIG_TCM_USER2
|
|
- CONFIG_ISCSI_TARGET
|
|
when: ansible_distribution in ['RedHat', 'CentOS']
|
|
when: iscsi_gw_group_name in group_names
|
|
|