]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
Add multi-OS support for ICE 159/head
authorSébastien Han <sebastien.han@enovance.com>
Wed, 17 Dec 2014 17:01:44 +0000 (18:01 +0100)
committerSébastien Han <sebastien.han@enovance.com>
Thu, 18 Dec 2014 10:10:14 +0000 (11:10 +0100)
ICE supports Ubuntu, CentOS and RHEL.
Adding those.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>
roles/ceph-common/files/cephstableice.asc [new file with mode: 0644]
roles/ceph-common/tasks/install_on_debian.yml
roles/ceph-common/tasks/install_on_redhat.yml
roles/ceph-common/tasks/main.yml
roles/ceph-common/templates/ice.repo.j2 [deleted file]
roles/ceph-common/templates/redhat_ice_repo.j2 [new file with mode: 0644]
roles/ceph-common/vars/main.yml

diff --git a/roles/ceph-common/files/cephstableice.asc b/roles/ceph-common/files/cephstableice.asc
new file mode 100644 (file)
index 0000000..21a6db1
--- /dev/null
@@ -0,0 +1,51 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.11 (GNU/Linux)
+
+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
+=0eqL
+-----END PGP PUBLIC KEY BLOCK-----
index 256b28ce717aeef3a8eeb726b9e70224e3a8393d..e6b7f6a84cc1a5d4a55d5b0f51a500e78a06d798 100644 (file)
     state=present
   when: ceph_dev
 
+- name: Install Intank Ceph Enterprise repository key
+  apt_key: >
+    data="{{ lookup('file', 'cephstableice.asc') }}"
+    state=present
+  when: ceph_stable_ice
+
 - name: Add Ceph stable repository
   apt_repository: >
     repo="deb http://ceph.com/debian-{{ ceph_stable_release }}/ {{ ansible_lsb.codename }} main"
     state=present
   when: ceph_dev
 
+- name: Add Inktank Ceph Enterprise repository
+  apt_repository: >
+    repo="deb file://{{ ceph_stable_ice_temp_path }} {{ ansible_lsb.codename }} main"
+    state=present
+  when: ceph_stable_ice
+
 - name: Install Ceph
   apt: >
     pkg={{ item }}
index 7dfd5df4ff0d0bb2ba73554062bd58e49c42e715..b849bfc084eb3d1743c94513c8a2974a78cfe13e 100644 (file)
     state=present
   when: ceph_dev
 
+- name: Install Inktank Ceph Enterprise repository key
+  rpm_key: >
+    key=file://{{ ceph_stable_ice_temp_path }}/*/release.asc
+    state=present
+  when: ceph_stable_ice
+
 - name: Add Ceph stable repository
   command: "rpm -U http://ceph.com/rpm-{{ ceph_stable_release }}/{{ ceph_stable_redhat_distro }}/noarch/ceph-release-1-0.el6.noarch.rpm creates=/etc/yum.repos.d/ceph.repo"
   when: ceph_stable
   command: "rpm -U http://gitbuilder.ceph.com/ceph-rpm-{{ ceph_dev_redhat_distro }}-x86_64-basic/ref/{{ ceph_dev_branch }}/noarch/ceph-release-1-0.{{ ceph_stable_redhat_distro }}.noarch.rpm creates=/etc/yum.repos.d/ceph.repo"
   when: ceph_dev
 
-- name: Create package directory
-  file: >
-    path=/tmp/ice_repo
-    state=directory
-    owner=root
-    group=root
-    mode=0644
-  when: ceph_stable_ice
-
-- name: Get ICE packages
-  get_url: >
-    url_username={{ ceph_stable_ice_user }}
-    url_password={{ ceph_stable_ice_password }}
-    url=https://download.inktank.com/enterprise/{{ ceph_stable_ice_version }}/ICE-{{ ceph_stable_ice_version }}-rhel7.tar.gz
-    dest=/tmp/ice_repo/ICE-{{ ceph_stable_ice_version }}-rhel7.tar.gz
-  when: ceph_stable_ice
-
-- name: Stat extracted repo files
-  stat: >
-    path=/tmp/ice_repo/repodata/repomd.xml
-  register: repo_exist
-
-- name: Extract packages
-  shell: cd /tmp/ice_repo && tar -xzf ICE-{{ ceph_stable_ice_version }}-rhel7.tar.gz
-  when: ceph_stable_ice and repo_exist.stat.exists == False
-
-- name: Move the extracted packages
-  shell: mv /tmp/ice_repo/ceph/*/* /tmp/ice_repo
-  when: ceph_stable_ice and repo_exist.stat.exists == False
-
-- name: Create repository
+- name: Add Inktank Ceph Enterprise repository
   template: >
-    src=ice.repo.j2
+    src=redhat_ice_repo.j2
     dest=/etc/yum.repos.d/ice.repo
     owner=root
     group=root
index dd26210552ede06037f3fe48137a85729a8fbf4a..c13876491be125a7afe0cf4f934a12b626a3a799 100644 (file)
   fail: "msg=Distribution not supported {{ ansible_os_family }}"
   when: "ansible_os_family not in ['Debian', 'RedHat']"
 
-- name: Fail on wrong distribution with wrong repo
-  fail: "msg=Inktank Ceph Enterprise can not be installed on {{ ansible_os_family }}, Red Hat Enterprise Linux 7 only"
-  when: ansible_os_family == 'Debian' and ceph_stable_ice
-
-- name: Fail on wrong distribution with wrong repo
-  fail: "msg=Inktank Ceph Enterprise can not be installed on {{ ansible_os_family }}i {{ ansible_distribution_major_version }}, Red Hat Enterprise Linux 7 only"
-  when: ansible_os_family == 'RedHat' and ansible_distribution_major_version != '7' and ceph_stable_ice
-
 - include: install_on_redhat.yml
   when: ansible_os_family == 'RedHat'
 
     value=4194303
     state=present
     sysctl_file=/etc/sysctl.conf
+
+- name: Create package directory
+  file: >
+    path={{ ceph_stable_ice_temp_path }}
+    state=directory
+    owner=root
+    group=root
+    mode=0644
+  when: ceph_stable_ice
+
+- name: Get ICE packages
+  get_url: >
+    url_username={{ ceph_stable_ice_user }}
+    url_password={{ ceph_stable_ice_password }}
+    url=https://download.inktank.com/enterprise/{{ ceph_stable_ice_version }}/ICE-{{ ceph_stable_ice_version }}-{{ ceph_stable_ice_distro }}.tar.gz
+    dest={{ ceph_stable_ice_temp_path }}/ICE-{{ ceph_stable_ice_version }}-{{ ceph_stable_ice_distro }}.tar.gz
+  when: ceph_stable_ice
+
+- name: Stat extracted repo files
+  stat: >
+    path={{ ceph_stable_ice_temp_path }}/ice_setup.py
+  register: repo_exist
+  when: ceph_stable_ice
+
+- name: Extract packages
+  shell: "cd {{ ceph_stable_ice_temp_path }} && tar -xzf ICE-{{ ceph_stable_ice_version }}-{{ ceph_stable_ice_distro }}.tar.gz"
+  when: ceph_stable_ice and repo_exist.stat.exists == False
+
+- name: Move the extracted packages
+  shell: "mv {{ ceph_stable_ice_temp_path }}/ceph/*/* {{ ceph_stable_ice_temp_path }}"
+  when: ceph_stable_ice and repo_exist.stat.exists == False
diff --git a/roles/ceph-common/templates/ice.repo.j2 b/roles/ceph-common/templates/ice.repo.j2
deleted file mode 100644 (file)
index 0b47a2d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# {{ ansible_managed }}
-[ice]
-name=Inktank Ceph Enterprise - local packages for Ceph
-baseurl=file:///tmp/ice_repo
-enabled=1
-gpgcheck=0
-protect=1
-priority=1
diff --git a/roles/ceph-common/templates/redhat_ice_repo.j2 b/roles/ceph-common/templates/redhat_ice_repo.j2
new file mode 100644 (file)
index 0000000..9600dcb
--- /dev/null
@@ -0,0 +1,9 @@
+# {{ ansible_managed }}
+[ice]
+name=Inktank Ceph Enterprise - local packages for Ceph
+baseurl=file://{{ ceph_stable_ice_temp_path }}
+enabled=1
+gpgcheck=1
+type=rpm-md
+priority=1
+gpgkey=file://{{ ceph_stable_ice_temp_path }}/release.asc
index 58a89fc2ed3dbd06e0716dd8762d7707c224556b..8c8b8ed634fa61ac10b8943f1c619b7b08aff306 100644 (file)
@@ -21,6 +21,8 @@ ceph_stable_redhat_distro: el7
 \r
 # ENTERPRISE VERSION\r
 ceph_stable_ice: false # use Inktank Ceph Enterprise\r
+#ceph_stable_ice_temp_path: /opt/ICE/ceph-repo/\r
+#ceph_stable_ice_distro: # Please check the download website for the supported versions.\r
 #ceph_stable_ice_version:\r
 #ceph_stable_ice_user:\r
 #ceph_stable_ice_password:\r