mirror of https://github.com/ceph/ceph-ansible.git
Merge pull request #1734 from ceph/debian-repo
common: automate setting up online repositories for ceph deployments …pull/967/merge
commit
e6a5c3b815
|
@ -159,6 +159,7 @@ dummy:
|
|||
# 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') }}"
|
||||
|
|
|
@ -53,6 +53,17 @@
|
|||
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"
|
||||
|
|
|
@ -1,40 +1,4 @@
|
|||
---
|
||||
# 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 }}"
|
||||
|
|
|
@ -31,6 +31,16 @@
|
|||
# Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
|
||||
static: False
|
||||
|
||||
- include: ./pre_requisites/prerequisite_rhcs_cdn_install_debian.yml
|
||||
when:
|
||||
- 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_on_redhat.yml
|
||||
when:
|
||||
- ansible_os_family == 'RedHat'
|
||||
|
@ -40,19 +50,19 @@
|
|||
# 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_debian.yml
|
||||
when:
|
||||
- ansible_distribution == "RedHat"
|
||||
- ceph_rhcs
|
||||
- ansible_os_family == 'Debian'
|
||||
- not ceph_rhcs
|
||||
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_on_debian.yml
|
||||
- include: ./installs/install_rh_storage_on_redhat.yml
|
||||
when:
|
||||
- ansible_os_family == 'Debian'
|
||||
- not ceph_rhcs
|
||||
- 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)
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
- 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
|
|
@ -41,3 +41,22 @@
|
|||
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
|
||||
|
||||
|
|
|
@ -151,6 +151,7 @@ ceph_rhcs: "{{ ceph_stable_rh_storage | default(false) }}"
|
|||
# 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') }}"
|
||||
|
|
Loading…
Reference in New Issue