]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
fix containerized deployment on centos
authorHuamin Chen <hchen@redhat.com>
Fri, 3 Jun 2016 15:24:00 +0000 (15:24 +0000)
committerHuamin Chen <hchen@redhat.com>
Fri, 3 Jun 2016 15:24:00 +0000 (15:24 +0000)
Signed-off-by: Huamin Chen <hchen@redhat.com>
roles/ceph-mds/tasks/docker/pre_requisite.yml
roles/ceph-mon/tasks/docker/pre_requisite.yml
roles/ceph-mon/tasks/docker/start_docker_monitor.yml
roles/ceph-osd/tasks/docker/pre_requisite.yml
roles/ceph-osd/tasks/docker/start_docker_osd.yml
roles/ceph-restapi/tasks/docker/pre_requisite.yml
roles/ceph-rgw/tasks/docker/pre_requisite.yml

index ed968e9458ebc83e75087e8c2064d1be3af850d2..ec87141287d5b8e21e123edb536b30089a421fb9 100644 (file)
   tags:
     with_pkg
 
-- name: install pip and docker on redhat
+# install epel for pip
+- name: install epel on redhat
+  yum:
+    name: "{{ item }}"
+    state: present
+  with_items:
+    - epel-release
+  when:
+    - ansible_os_family == 'RedHat'
+    - ansible_pkg_mgr == "yum"
+  tags:
+    with_pkg
+  failed_when: false
+
+- name: install pip on redhat
   yum:
     name: "{{ item }}"
     state: present
   with_items:
     - python-pip
+  when:
+    - ansible_os_family == 'RedHat'
+    - ansible_pkg_mgr == "yum"
+  tags:
+    with_pkg
+
+- name: install docker-engine on redhat
+  yum:
+    name: "{{ item }}"
+    state: present
+  with_items:
     - docker-engine
   when:
     - ansible_os_family == 'RedHat'
     - ansible_pkg_mgr == "yum"
   tags:
     with_pkg
+  failed_when: false
 
+# for CentOS
+- name: install docker on redhat
+  yum:
+    name: "{{ item }}"
+    state: present
+  with_items:
+    - docker
+  when:
+    - ansible_os_family == 'RedHat'
+    - ansible_pkg_mgr == "yum"
+  tags:
+    with_pkg
+  failed_when: false
+  
+# docker package could be docker-enginer or docker  
 - name: install pip and docker on redhat
   dnf:
     name: "{{ item }}"
index b90d1360753a65b82f0eb6759cd8e69171b8e166..d3012fff3d5e9d04bf39972687a68eb8f05a8ce1 100644 (file)
   tags:
     with_pkg
 
-- name: install pip and docker on redhat
+# install epel for pip
+- name: install epel-release on redhat
+  yum:
+    name: epel-release
+    state: present
+  when: ansible_os_family == 'RedHat'
+  tags:
+    with_pkg
+
+- name: install pip on redhat
   yum:
     name: "{{ item }}"
     state: present
   with_items:
     - python-pip
-    - docker-engine
   when:
     - ansible_os_family == 'RedHat'
     - ansible_pkg_mgr == "yum"
   tags:
     with_pkg
 
-- name: install pip and docker on redhat
-  dnf:
+- name: install docker-engine on redhat
+  yum:
     name: "{{ item }}"
     state: present
   with_items:
-    - python-pip
     - docker-engine
   when:
     - ansible_os_family == 'RedHat'
-    - ansible_pkg_mgr == "dnf"
+    - ansible_pkg_mgr == "yum"
   tags:
     with_pkg
+  failed_when: false
 
-- name: install epel-release on redhat
+# for CentOS
+- name: install docker on redhat
   yum:
-    name: epel-release
+    name: "{{ item }}"
     state: present
-  when: ansible_os_family == 'RedHat'
+  with_items:
+    - docker
+  when:
+    - ansible_os_family == 'RedHat'
+    - ansible_pkg_mgr == "yum"
+  tags:
+    with_pkg
+  failed_when: false
+
+- name: install pip and docker on redhat (dnf)
+  dnf:
+    name: "{{ item }}"
+    state: present
+  with_items:
+    - python-pip
+    - docker-engine
+    - docker
+  when:
+    - ansible_os_family == 'RedHat'
+    - ansible_pkg_mgr == "dnf"
   tags:
     with_pkg
 
+
 # NOTE (jimcurtis): need at least version 1.9.0 of six or we get:
 # re:NameError: global name 'DEFAULT_DOCKER_API_VERSION' is not defined
 - name: install six
index 4e855815a316ef246877b71c955e058b73bcf898..6cc9053ab3a1256596a376a04768d02bcc2c3aa4 100644 (file)
     owner: "root"
     group: "root"
     mode: "0644"
-  when: is_atomic or ansible_os_family == 'CoreOS'
+  when:  ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
 
 - name: link systemd unit file for mon instance
   file:
     src: /var/lib/ceph/ceph-mon@.service
     dest: /etc/systemd/system/multi-user.target.wants/ceph-mon@{{ ansible_hostname }}.service
     state: link
-  when: is_atomic or ansible_os_family == 'CoreOS'
+  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
 
 - name: enable systemd unit file for mon instance
   shell: systemctl enable /etc/systemd/system/multi-user.target.wants/ceph-mon@{{ ansible_hostname }}.service
   failed_when: false
   changed_when: false
-  when: is_atomic or ansible_os_family == 'CoreOS'
+  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
 
 - name: reload systemd unit files
   shell: systemctl daemon-reload
   changed_when: false
   failed_when: false
-  when: is_atomic or ansible_os_family == 'CoreOS'
+  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
 
 - name: systemd start mon container
   service:
     state: started
     enabled: yes
   changed_when: false
-  when: is_atomic or ansible_os_family == 'CoreOS'
+  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
 
 - name: wait for ceph.conf exists
   wait_for:
       path: /etc/ceph/ceph.conf
-  when: is_atomic
+  when: ansible_os_family == 'RedHat'
 
 - name: run the ceph monitor docker image
   docker:
@@ -93,7 +93,7 @@
     env: "MON_IP={{ hostvars[inventory_hostname]['ansible_' + ceph_mon_docker_interface]['ipv4']['address'] }},CEPH_DAEMON=MON,CEPH_PUBLIC_NETWORK={{ ceph_mon_docker_subnet }},{{ ceph_mon_extra_envs }}"
     volumes: "/var/lib/ceph:/var/lib/ceph,/etc/ceph:/etc/ceph"
   when:
-    - not is_atomic
+    - ansible_os_family != 'RedHat'
     - ansible_os_family != 'CoreOS'
     - not mon_containerized_deployment_with_kv
 
     privileged: "{{ mon_docker_privileged }}"
     env: "KV_TYPE={{kv_type}},KV_IP={{kv_endpoint}},MON_IP={{ hostvars[inventory_hostname]['ansible_' + ceph_mon_docker_interface]['ipv4']['address'] }},CEPH_DAEMON=MON,CEPH_PUBLIC_NETWORK={{ ceph_mon_docker_subnet }},{{ ceph_mon_extra_envs }}"
   when:
-    - not is_atomic
+    - ansible_os_family != 'RedHat'
     - ansible_os_family != 'CoreOS'
     - mon_containerized_deployment_with_kv
index b90d1360753a65b82f0eb6759cd8e69171b8e166..98f3f3432593f668377d3f1894295731ca438c00 100644 (file)
   tags:
     with_pkg
 
-- name: install pip and docker on redhat
+- name: install epel-release on redhat
+  yum:
+    name: epel-release
+    state: present
+  when: ansible_os_family == 'RedHat'
+  tags:
+    with_pkg
+
+- name: install pip on redhat
   yum:
     name: "{{ item }}"
     state: present
   with_items:
     - python-pip
+  when:
+    - ansible_os_family == 'RedHat'
+    - ansible_pkg_mgr == "yum"
+  tags:
+    with_pkg
+
+- name: install docker-engine on redhat
+  yum:
+    name: "{{ item }}"
+    state: present
+  with_items:
     - docker-engine
   when:
     - ansible_os_family == 'RedHat'
     - ansible_pkg_mgr == "yum"
   tags:
     with_pkg
+  failed_when: false
+
+# for CentOS
+- name: install docker on redhat
+  yum:
+    name: "{{ item }}"
+    state: present
+  with_items:
+    - docker
+  when:
+    - ansible_os_family == 'RedHat'
+    - ansible_pkg_mgr == "yum"
+  tags:
+    with_pkg
+  failed_when: false
 
 - name: install pip and docker on redhat
   dnf:
   with_items:
     - python-pip
     - docker-engine
+    - docker
   when:
     - ansible_os_family == 'RedHat'
     - ansible_pkg_mgr == "dnf"
   tags:
     with_pkg
 
-- name: install epel-release on redhat
-  yum:
-    name: epel-release
-    state: present
-  when: ansible_os_family == 'RedHat'
-  tags:
-    with_pkg
 
 # NOTE (jimcurtis): need at least version 1.9.0 of six or we get:
 # re:NameError: global name 'DEFAULT_DOCKER_API_VERSION' is not defined
index 9fda31cdf2e10f1a23e2f6372592d98ae6f5564f..cccb1e10e641429e2614af1dd41976a3a9fd7b85 100644 (file)
@@ -20,7 +20,7 @@
 # starting the next task
 - name: prepare ceph osd disk
   shell: |   
-    docker run -ti --net=host \
+    docker run  --net=host \
     --pid=host \
     --privileged=true \
     --name="{{ ansible_hostname }}-osd-prepare-{{ item.0 |
@@ -32,7 +32,6 @@
     -e "{{ ceph_osd_docker_prepare_env }}" \
     "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}" \
     OSD_CEPH_DISK_PREPARE
-  failed_when: false
   with_together:
     - ceph_osd_docker_devices
     - osd_prepared.results
@@ -60,7 +59,7 @@
     - ceph_osd_docker_prepare_env is defined
     - osd_containerized_deployment_with_kv
 
-# Use systemd to manage container on Atomic host
+# Use systemd to manage container on appropriate host
 - name: generate systemd unit file
   become: true
   template:
@@ -70,7 +69,7 @@
     group: "root"
     mode: "0644"
   failed_when: false
-  when: is_atomic or ansible_os_family == 'CoreOS'
+  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
 
 - name: link systemd unit file for osd instance
   file:
     dest: /etc/systemd/system/multi-user.target.wants/ceph-osd@{{ item | basename }}.service
     state: link
   with_items: ceph_osd_docker_devices
-  when: is_atomic or ansible_os_family == 'CoreOS'
+  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
 
 - name: enable systemd unit file for osd instance
   shell: systemctl enable /etc/systemd/system/multi-user.target.wants/ceph-osd@{{ item | basename }}.service
   failed_when: false
   changed_when: false
   with_items: ceph_osd_docker_devices
-  when: is_atomic or ansible_os_family == 'CoreOS'
+  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
 
 - name: reload systemd unit files
   shell: systemctl daemon-reload
   changed_when: false
   failed_when: false
-  when: is_atomic or ansible_os_family == 'CoreOS'
+  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
 
 - name: systemd start osd container
   service:
     enabled: yes
   changed_when: false
   with_items: ceph_osd_docker_devices
-  when: is_atomic or ansible_os_family == 'CoreOS'
+  when: ansible_os_family == 'RedHat' or ansible_os_family == 'CoreOS'
 
 - name: run the ceph osd docker image
   docker:
     volumes: "/var/lib/ceph:/var/lib/ceph,/etc/ceph:/etc/ceph,/dev:/dev,/run:/run"
   with_items: ceph_osd_docker_devices
   when:
-    - not is_atomic
+    - ansible_os_family != 'RedHat'
     - ansible_os_family != 'CoreOS'
     - not osd_containerized_deployment_with_kv
 
     volumes: "/dev/:/dev/"
   with_items: ceph_osd_docker_devices
   when:
-   - not is_atomic
+   - ansible_os_family != 'RedHat'
    - ansible_os_family != 'CoreOS'
    - osd_containerized_deployment_with_kv
index 116a9ac27ab5e291b0c7f3e231095c19e2db5895..7b09751612024a2664fa8cf1ec3dc7a182bbb708 100644 (file)
   tags:
     with_pkg
 
-- name: install pip and docker on redhat
+- name: install epel-release on redhat
+  yum:
+    name: epel-release
+    state: present
+  when: ansible_os_family == 'RedHat'
+  tags:
+    with_pkg
+
+- name: install pip on redhat
   yum:
     name: "{{ item }}"
     state: present
   with_items:
     - python-pip
-    - docker-engine
   when:
     - ansible_os_family == 'RedHat'
     - ansible_pkg_mgr == "yum"
   tags:
     with_pkg
 
-- name: install pip and docker on redhat
-  dnf:
+- name: install docker-engine on redhat
+  yum:
     name: "{{ item }}"
     state: present
   with_items:
-    - python-pip
     - docker-engine
   when:
     - ansible_os_family == 'RedHat'
-    - ansible_pkg_mgr == "dnf"
+    - ansible_pkg_mgr == "yum"
   tags:
     with_pkg
+  failed_when: false
 
-- name: install epel-release on redhat
+# for CentOS
+- name: install docker on redhat
   yum:
-    name: epel-release
+    name: "{{ item }}"
     state: present
-  when: ansible_os_family == 'RedHat'
+  with_items:
+    - docker
+  when:
+    - ansible_os_family == 'RedHat'
+    - ansible_pkg_mgr == "yum"
+  tags:
+    with_pkg
+  failed_when: false
+- name: install pip and docker on redhat
+  dnf:
+    name: "{{ item }}"
+    state: present
+  with_items:
+    - python-pip
+    - docker-engine
+  when:
+    - ansible_os_family == 'RedHat'
+    - ansible_pkg_mgr == "dnf"
   tags:
     with_pkg
 
index 116a9ac27ab5e291b0c7f3e231095c19e2db5895..d16c9e2fa289647c8c5bd8967e67d52b32f060dd 100644 (file)
   tags:
     with_pkg
 
-- name: install pip and docker on redhat
+- name: install epel-release on redhat
+  yum:
+    name: epel-release
+    state: present
+  when: ansible_os_family == 'RedHat'
+  tags:
+    with_pkg
+    
+- name: install pip on redhat
   yum:
     name: "{{ item }}"
     state: present
   with_items:
     - python-pip
-    - docker-engine
   when:
     - ansible_os_family == 'RedHat'
     - ansible_pkg_mgr == "yum"
   tags:
     with_pkg
 
-- name: install pip and docker on redhat
-  dnf:
+- name: install docker-engine on redhat
+  yum:
     name: "{{ item }}"
     state: present
   with_items:
-    - python-pip
     - docker-engine
   when:
     - ansible_os_family == 'RedHat'
-    - ansible_pkg_mgr == "dnf"
+    - ansible_pkg_mgr == "yum"
   tags:
     with_pkg
+  failed_when: false
 
-- name: install epel-release on redhat
+# for CentOS
+- name: install docker on redhat
   yum:
-    name: epel-release
+    name: "{{ item }}"
     state: present
-  when: ansible_os_family == 'RedHat'
+  with_items:
+    - docker
+  when:
+    - ansible_os_family == 'RedHat'
+    - ansible_pkg_mgr == "yum"
   tags:
     with_pkg
+  failed_when: false
 
 # NOTE (jimcurtis): need at least version 1.9.0 of six or we get:
 # re:NameError: global name 'DEFAULT_DOCKER_API_VERSION' is not defined