# version. The previous version was 1.3. The current version is 2.
#ceph_rhcs_version: "{{ ceph_stable_rh_storage_version | default(2) }}"
#ceph_rhcs_cdn_install: "{{ ceph_stable_rh_storage_cdn_install | default(false) }}" # assumes all the nodes can connect to cdn.redhat.com
+#ceph_rhcs_cdn_debian_repo: https://customername:customerpasswd@rhcs.download.redhat.com
#ceph_rhcs_iso_install: "{{ ceph_stable_rh_storage_iso_install | default(false) }}" # usually used when nodes don't have access to cdn.redhat.com
#ceph_rhcs_iso_path: "{{ ceph_stable_rh_storage_iso_path | default('') }}"
#ceph_rhcs_mount_path: "{{ ceph_stable_rh_storage_mount_path | default('/tmp/rh-storage-mount') }}"
tags:
- package-install
+- name: verify that ceph_rhcs_cdn_debian_repo url is valid for red hat storage
+ fail:
+ msg: "ceph_rhcs_cdn_debian_repo url is invalid, please set your customername:customerpasswd"
+ when:
+ - ceph_rhcs
+ - ceph_rhcs_cdn_install
+ - ansible_os_family == 'Debian'
+ - ceph_rhcs_cdn_debian_repo == 'https://customername:customerpasswd@rhcs.download.redhat.com'
+ tags:
+ - package-install
+
- name: make sure monitor_interface or monitor_address is defined
fail:
msg: "you must set monitor_interface or monitor_address"
---
-# NOTE: this assumes that the ISO will always have a MON directory. Current
-# ISOs have MON, OSD, Tools, and Agent. If ISOs change the layout or provide
-# certain repos depending on the type of node this task will require a more
-# intelligent way to determine the location of the key.
-- name: install the red hat ceph storage repository key
- apt_key:
- file: "{{ ceph_rhcs_repository_path }}/MON/release.asc"
- state: present
- when: ceph_rhcs_iso_install
-
-- name: add red hat ceph storage repositories
- apt_repository:
- repo: "deb file://{{ ceph_rhcs_repository_path }}/{{ item }}/ {{ ansible_lsb.codename }} main"
- state: present
- changed_when: false
- with_items:
- - "MON"
- - "OSD"
- - "Tools"
- - "Agent"
- when: ceph_rhcs_iso_install
-
-- name: set apt pinning for red hat ceph storage
- template:
- src: "{{ role_path }}/templates/rhcs.pref.j2"
- dest: /etc/apt/preferences.d/rhcs.pref
- owner: root
- group: root
- mode: 0644
-
-- name: add red hat storage apt-key
- apt_key:
- data: "{{ lookup('file', role_path+'/files/cephstablerhcs.asc') }}"
- state: present
- when: not ceph_rhcs_iso_install
-
- name: install dependencies
apt:
pkg: "{{ item }}"
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
static: False
-- include: ./installs/install_on_redhat.yml
+- include: ./pre_requisites/prerequisite_rhcs_cdn_install_debian.yml
when:
- - ansible_os_family == 'RedHat'
- - not ceph_rhcs
+ - ceph_rhcs
+ - ceph_rhcs_cdn_install
+ - ansible_os_family == "Debian"
tags:
- package-install
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
static: False
-- include: ./installs/install_rh_storage_on_redhat.yml
+- include: ./installs/install_on_redhat.yml
when:
- - ansible_distribution == "RedHat"
- - ceph_rhcs
+ - ansible_os_family == 'RedHat'
+ - not ceph_rhcs
tags:
- package-install
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
static: False
+- include: ./installs/install_rh_storage_on_redhat.yml
+ when:
+ - ceph_rhcs
+ - ansible_distribution == "RedHat"
+ tags:
+ - package-install
+ # Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
+ static: False
+
- include: ./installs/install_rh_storage_on_debian.yml
when:
- ansible_os_family == 'Debian'
--- /dev/null
+---
+- name: install red hat storage repository key for debian systems
+ apt_key:
+ data: "{{ lookup('file', role_path+'/files/cephstablerhcs.asc') }}"
+ state: present
+
+- name: enable red hat storage monitor repository for debian systems
+ apt_repository:
+ repo: "deb {{ ceph_rhcs_cdn_debian_repo }}/2-updates/MON {{ ceph_stable_distro_source | default(ansible_lsb.codename) }} main"
+ state: present
+ changed_when: false
+ when: mon_group_name in group_names
+
+- name: enable red hat storage osd repository for debian systems
+ apt_repository:
+ repo: "deb {{ ceph_rhcs_cdn_debian_repo }}/2-updates/OSD {{ ceph_stable_distro_source | default(ansible_lsb.codename) }} main"
+ state: present
+ changed_when: false
+ when: osd_group_name in group_names
+
+- name: enable red hat storage rados gateway / mds repository for debian systems
+ apt_repository:
+ repo: "deb {{ ceph_rhcs_cdn_debian_repo }}/2-updates/Tools {{ ceph_stable_distro_source | default(ansible_lsb.codename) }} main"
+ state: present
+ changed_when: false
+ when: (rgw_group_name in group_names or mds_group_name in group_names)
+
+- name: enable red hat storage agent repository for debian systems
+ apt_repository:
+ repo: "deb {{ ceph_rhcs_cdn_debian_repo }}/2-updates/Agent {{ ceph_stable_distro_source | default(ansible_lsb.codename) }} main"
+ state: present
+ changed_when: false
src: "{{ ceph_rhcs_iso_path }}"
fstype: iso9660
state: unmounted
+
+- name: install the red hat ceph storage repository key
+ apt_key:
+ file: "{{ ceph_rhcs_repository_path }}/MON/release.asc"
+ state: present
+ when: ceph_rhcs_iso_install
+
+- name: add red hat ceph storage repositories
+ apt_repository:
+ repo: "deb file://{{ ceph_rhcs_repository_path }}/{{ item }}/ {{ ansible_lsb.codename }} main"
+ state: present
+ changed_when: false
+ with_items:
+ - "MON"
+ - "OSD"
+ - "Tools"
+ - "Agent"
+ when: ceph_rhcs_iso_install
+
# version. The previous version was 1.3. The current version is 2.
ceph_rhcs_version: "{{ ceph_stable_rh_storage_version | default(2) }}"
ceph_rhcs_cdn_install: "{{ ceph_stable_rh_storage_cdn_install | default(false) }}" # assumes all the nodes can connect to cdn.redhat.com
+ceph_rhcs_cdn_debian_repo: https://customername:customerpasswd@rhcs.download.redhat.com
ceph_rhcs_iso_install: "{{ ceph_stable_rh_storage_iso_install | default(false) }}" # usually used when nodes don't have access to cdn.redhat.com
ceph_rhcs_iso_path: "{{ ceph_stable_rh_storage_iso_path | default('') }}"
ceph_rhcs_mount_path: "{{ ceph_stable_rh_storage_mount_path | default('/tmp/rh-storage-mount') }}"