We changed the way we declare image.
Prior to this patch we must have a "user/image:tag"
format, which is incompatible with non docker-hub registry where you
usually don't have a "user". On the docker hub a "user" is also
identified as a namespace, so for Ceph the user was "ceph".
Variables have been simplified with only:
* ceph_docker_image
* ceph_docker_image_tag
1. For docker hub images: ceph_docker_name: "ceph/daemon" will give
you the 'daemon' image of the 'ceph' user.
2. For non docker hub images: ceph_docker_name: "daemon" will simply
give you the "daemon" image.
Infrastructure playbooks have been modified as well.
The file group_vars/all.docker.yml.sample has been removed as well.
It is hard to maintain since we have to generate it manually. If
you want to configure specific variables for a specific daemon simply
edit group_vars/$DAEMON.yml
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1420207
Signed-off-by: Sébastien Han <seb@redhat.com>
+++ /dev/null
----
-dummy:
-
-##########
-# GLOBAL #
-##########
-#docker: true
-#ceph_docker_dev_image: false
-#ceph_docker_registry: docker.io
-
-#######
-# MON #
-#######
-#mon_containerized_deployment: true
-#mon_containerized_deployment_with_kv: false
-#mon_containerized_default_ceph_conf_with_kv: true
-#kv_type: etcd
-#kv_endpoint: 127.0.0.1
-#kv_port: 4001
-#mon_docker_privileged: true
-#ceph_mon_docker_username: ceph
-#ceph_mon_docker_imagename: daemon
-#ceph_mon_docker_image_tag: latest
-#ceph_mon_docker_interface: "{{ monitor_interface }}"
-#ceph_mon_docker_subnet: "{{ public_network }}" # subnet of the ceph_mon_docker_interface
-#ceph_mon_docker_extra_env: -e CLUSTER={{ cluster }} -e FSID={{ fsid }} -e MON_NAME={{ ansible_hostname }}
-
-#######
-# OSD #
-#######
-#osd_containerized_deployment: true
-#osd_containerized_deployment_with_kv: false
-#kv_type: etcd
-#kv_endpoint: 127.0.0.1
-#ceph_osd_docker_username: ceph
-#ceph_osd_docker_imagename: daemon
-#ceph_osd_docker_image_tag: latest
-#ceph_osd_docker_extra_env: -e CLUSTER={{ cluster }} -e CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE -e OSD_JOURNAL_SIZE={{ journal_size }}
-#ceph_osd_docker_prepare_env: "OSD_FORCE_ZAP=1" # comma separated variables
-#ceph_osd_docker_devices:
-# - /dev/sdb
-# - /dev/sdc
-#journal_size: 5120 # OSD journal size in MB
-#public_network: 0.0.0.0/0
-#cluster_network: "{{ public_network }}"
-
-#######
-# MDS #
-#######
-#mds_containerized_deployment: true
-#mds_containerized_deployment_with_kv: false
-#kv_type: etcd
-#kv_endpoint: 127.0.0.1
-#ceph_mds_docker_username: ceph
-#ceph_mds_docker_imagename: daemon
-#ceph_mds_docker_image_tag: latest
-#ceph_mds_docker_extra_env: -e CLUSTER={{ cluster }} -e MDS_NAME={{ ansible_hostname }}
-
-#######
-# RGW #
-#######
-#rgw_containerized_deployment: true
-#rgw_containerized_deployment_with_kv: false
-#kv_type: etcd
-#kv_endpoint: 127.0.0.1
-#ceph_rgw_docker_username: ceph
-#ceph_rgw_docker_imagename: daemon
-#ceph_rgw_docker_image_tag: latest
-#ceph_rgw_civetweb_port: 80
-#ceph_rgw_docker_extra_env: -e CLUSTER={{ cluster }} -e RGW_CIVETWEB_PORT={{ ceph_rgw_civetweb_port }}
-
-###########
-# RESTAPI #
-###########
-#restapi_containerized_deployment: true
-#ceph_restapi_docker_interface: eth0
-#ceph_restapi_port: 5000
-#ceph_restapi_docker_username: ceph
-#ceph_restapi_docker_imagename: daemon
-#ceph_restapi_docker_image_tag: latest
-#ceph_restapi_docker_extra_env: "RESTAPI_IP=0.0.0.0" # comma separated variables
-
-
-##############
-# RBD MIRROR #
-##############
-#rbd_mirror_containerized_deployment: true
-#rbd_mirror_containerized_deployment_with_kv: false
-#kv_type: etcd
-#kv_endpoint: 127.0.0.1
-#ceph_rbd_mirror_docker_username: ceph
-#ceph_rbd_mirror_docker_imagename: daemon
-#ceph_rbd_mirror_docker_image_tag: latest
-#ceph_docker_on_openstack: false
-
-#######
-# NFS #
-#######
-#nfs_containerized_deployment: true
-#nfs_containerized_deployment_with_kv: false
-#ceph_nfs_docker_username: ceph
-#ceph_nfs_docker_imagename: daemon
-#ceph_nfs_docker_image_tag: latest
-#ceph_nfs_docker_extra_env: -e GANESHA_EPOCH={{ ganesha_epoch }}
-#nfs_file_gw: false
-#nfs_obj_gw: false
-#ceph_nfs_rgw_access_key: "QFAMEDSJP5DEKJO0DDXY"
-#ceph_nfs_rgw_secret_key: "iaSFLDVvDdQt6lkNzHyW4fPLZugBAI1g17LO0+87[MAC[M#C"
##########
#docker: false
+#ceph_docker_image: "ceph/daemon"
+#ceph_docker_image_tag: latest
# Do not comment the following variables mon_containerized_deployment_* here. These variables are being used
# by ceph.conf.j2 template. so it should always be defined
#mds_containerized_deployment_with_kv: false
#kv_type: etcd
#kv_endpoint: 127.0.0.1
-#ceph_mds_docker_username: ceph
-#ceph_mds_docker_imagename: daemon
-#ceph_mds_docker_image_tag: latest
+#ceph_docker_image: "ceph/daemon"
+#ceph_docker_image_tag: latest
#ceph_mds_docker_extra_env: -e CLUSTER={{ cluster }} -e MDS_NAME={{ ansible_hostname }}
#ceph_docker_on_openstack: false
#ceph_config_keys: [] # DON'T TOUCH ME
#mon_containerized_default_ceph_conf_with_kv: false
#ceph_mon_docker_interface: "{{ monitor_interface }}"
#ceph_mon_docker_subnet: "{{ public_network }}"# subnet of the ceph_mon_docker_interface
-#ceph_mon_docker_username: ceph
-#ceph_mon_docker_imagename: daemon
-#ceph_mon_docker_image_tag: latest
+#ceph_docker_image: "ceph/daemon"
+#ceph_docker_image_tag: latest
#ceph_mon_docker_extra_env: -e CLUSTER={{ cluster }} -e FSID={{ fsid }} -e MON_NAME={{ ansible_hostname }}
#ceph_docker_on_openstack: false
#mon_docker_privileged: false
#nfs_containerized_deployment_with_kv: false
#kv_type: etcd
#kv_endpoint: 127.0.0.1
-#ceph_nfs_docker_username: ceph
-#ceph_nfs_docker_imagename: ganesha
-#ceph_nfs_docker_image_tag: latest
+#ceph_docker_image: "ceph/ganesha"
+#ceph_docker_image_tag: latest
#ceph_nfs_docker_extra_env: -e GANESHA_EPOCH={{ ganesha_epoch }}
#ceph_docker_on_openstack: false
#ceph_config_keys: [] # DON'T TOUCH ME
#kv_endpoint: 127.0.0.1
#kv_port: 4001
#ceph_osd_docker_prepare_env: -e CLUSTER={{ cluster }} -e OSD_JOURNAL_SIZE={{ journal_size }} -e OSD_FORCE_ZAP=1
-#ceph_osd_docker_username: ceph
-#ceph_osd_docker_imagename: daemon
-#ceph_osd_docker_image_tag: latest
+#ceph_docker_image: "ceph/daemon"
+#ceph_docker_image_tag: latest
#ceph_osd_docker_extra_env: -e CLUSTER={{ cluster }} -e CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE -e OSD_JOURNAL_SIZE={{ journal_size }}
#ceph_osd_docker_devices: "{{ devices }}"
#ceph_docker_on_openstack: false
#rbd_mirror_containerized_deployment_with_kv: false
#kv_type: etcd
#kv_endpoint: 127.0.0.1
-#ceph_rbd_mirror_docker_username: ceph
-#ceph_rbd_mirror_docker_imagename: daemon
-#ceph_rbd_mirror_docker_image_tag: latest
+#ceph_docker_image: "ceph/daemon"
+#ceph_docker_image_tag: latest
#ceph_docker_on_openstack: false
#ceph_config_keys: [] # DON'T TOUCH ME
#restapi_containerized_deployment: false
#ceph_restapi_docker_interface: eth0
#ceph_restapi_port: 5000
-#ceph_restapi_docker_username: ceph
-#ceph_restapi_docker_imagename: daemon
-#ceph_restapi_docker_image_tag: latest
+#ceph_docker_image: "ceph/daemon"
+#ceph_docker_image_tag: latest
#ceph_restapi_docker_extra_env: "RESTAPI_IP=0.0.0.0" # comma separated variables
#ceph_docker_on_openstack: false
#ceph_config_keys: [] # DON'T TOUCH ME
#kv_type: etcd
#kv_endpoint: 127.0.0.1
#ceph_rgw_civetweb_port: "{{ radosgw_civetweb_port }}"
-#ceph_rgw_docker_username: ceph
-#ceph_rgw_docker_imagename: daemon
-#ceph_rgw_docker_image_tag: latest
+#ceph_docker_image: "ceph/daemon"
+#ceph_docker_image_tag: latest
#ceph_rgw_docker_extra_env: -e CLUSTER={{ cluster }} -e RGW_CIVETWEB_PORT={{ ceph_rgw_civetweb_port }}
#ceph_docker_on_openstack: false
#ceph_config_keys: [] # DON'T TOUCH ME
- name: remove ceph mds container
docker:
- image: "{{ ceph_mds_docker_username }}/{{ ceph_mds_docker_imagename }}:{{ ceph_mds_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}"
state: absent
ignore_errors: true
- name: remove ceph mds image
docker_image:
state: absent
- name: "{{ ceph_mds_docker_username }}/{{ ceph_mds_docker_imagename }}"
- tag: "{{ ceph_mds_docker_image_tag }}"
+ name: "{{ ceph_docker_image }}"
+ tag: "{{ ceph_docker_image_tag }}"
force: yes
tags:
remove_img
- name: remove ceph rgw container
docker:
- image: "{{ ceph_rgw_docker_username }}/{{ ceph_rgw_docker_imagename }}:{{ ceph_rgw_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}"
state: absent
ignore_errors: true
- name: remove ceph rgw image
docker_image:
state: absent
- name: "{{ ceph_rgw_docker_username }}/{{ ceph_rgw_docker_imagename }}"
- tag: "{{ ceph_rgw_docker_image_tag }}"
+ name: "{{ ceph_docker_image }}"
+ tag: "{{ ceph_docker_image_tag }}"
force: yes
tags:
remove_img
- name: remove ceph rbd-mirror container
docker:
- image: "{{ ceph_rbd_mirror_docker_username }}/{{ ceph_rbd_mirror_docker_imagename }}:{{ ceph_rbd_mirror_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}"
state: absent
ignore_errors: true
- name: remove ceph rbd-mirror image
docker_image:
state: absent
- name: "{{ ceph_rbd_mirror_docker_username }}/{{ ceph_rbd_mirror_docker_imagename }}"
- tag: "{{ ceph_rbd_mirror_docker_image_tag }}"
+ name: "{{ ceph_docker_image }}"
+ tag: "{{ ceph_docker_image_tag }}"
force: yes
tags:
remove_img
- name: remove ceph nfs container
docker:
- image: "{{ ceph_nfs_docker_username }}/{{ ceph_nfs_docker_imagename }}:{{ ceph_nfs_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}"
state: absent
ignore_errors: true
- name: remove ceph nfs image
docker_image:
state: absent
- name: "{{ ceph_nfs_docker_username }}/{{ ceph_nfs_docker_imagename }}"
- tag: "{{ ceph_nfs_docker_image_tag }}"
+ name: "{{ ceph_docker_image }}"
+ tag: "{{ ceph_docker_image_tag }}"
force: yes
tags:
remove_img
- name: remove ceph osd prepare container
docker:
- image: "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}-osd-prepare-{{ item | regex_replace('/', '') }}"
state: absent
with_items: "{{ ceph_osd_docker_devices }}"
- name: remove ceph osd container
docker:
- image: "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}-osd-{{ item | regex_replace('/', '') }}"
state: absent
with_items: "{{ ceph_osd_docker_devices }}"
- name: zap ceph osd disk
docker:
- image: "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}-osd-zap-{{ item | regex_replace('/', '') }}"
net: host
pid: host
- name: remove ceph osd zap disk container
docker:
- image: "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}-osd-zap-{{ item | regex_replace('/', '') }}"
state: absent
with_items: "{{ ceph_osd_docker_devices }}"
# zap twice
- name: zap ceph osd disk
docker:
- image: "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}-osd-zap-{{ item | regex_replace('/', '') }}"
net: host
pid: host
- name: remove ceph osd zap disk container
docker:
- image: "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}-osd-zap-{{ item | regex_replace('/', '') }}"
state: absent
with_items: "{{ ceph_osd_docker_devices }}"
- name: remove ceph osd image
docker_image:
state: absent
- name: "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}"
- tag: "{{ ceph_osd_docker_image_tag }}"
+ name: "{{ ceph_docker_image }}"
+ tag: "{{ ceph_docker_image_tag }}"
force: yes
tags:
remove_img
- name: remove ceph mon container
docker:
- image: "{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}:{{ ceph_mon_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}"
state: absent
ignore_errors: true
- name: remove restapi container
docker:
- image: "{{ ceph_restapi_docker_username }}/{{ ceph_restapi_docker_imagename }}:{{ ceph_restapi_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}-ceph-restapi"
state: absent
ignore_errors: true
- name: remove ceph mon image
docker_image:
state: absent
- name: "{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}"
- tag: "{{ ceph_mon_docker_image_tag }}"
+ name: "{{ ceph_docker_image }}"
+ tag: "{{ ceph_docker_image_tag }}"
force: yes
tags:
remove_img
- set_fact:
ceph_uid: 64045
- when: ceph_mon_docker_image_tag | match("latest")
+ when: ceph_docker_image_tag | match("latest")
- set_fact:
ceph_uid: 64045
- when: ceph_mon_docker_image_tag | search("ubuntu")
+ when: ceph_docker_image_tag | search("ubuntu")
- set_fact:
ceph_uid: 167
- when: ceph_mon_docker_image_tag | search("centos")
+ when: ceph_docker_image_tag | search("centos")
- set_fact:
ceph_uid: 167
- when: ceph_mon_docker_image_tag | search("fedora")
+ when: ceph_docker_image_tag | search("fedora")
- name: set proper ownership on ceph directories
file:
- name: start ceph mon container image
docker:
- image: "{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}:{{ ceph_mon_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}"
net: "host"
state: "running"
- set_fact:
ceph_uid: 64045
- when: ceph_osd_docker_image_tag | match("latest")
+ when: ceph_docker_image_tag | match("latest")
- set_fact:
ceph_uid: 64045
- when: ceph_osd_docker_image_tag | search("ubuntu")
+ when: ceph_docker_image_tag | search("ubuntu")
- set_fact:
ceph_uid: 167
- when: ceph_osd_docker_image_tag | search("centos")
+ when: ceph_docker_image_tag | search("centos")
- set_fact:
ceph_uid: 167
- when: ceph_osd_docker_image_tag | search("fedora")
+ when: ceph_docker_image_tag | search("fedora")
- name: set proper ownership on ceph directories
file:
- name: start ceph osd container image(s)
docker:
- image: "{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}-osd-{{ item | regex_replace('/', '') }}"
net: host
pid: host
- set_fact:
ceph_uid: 64045
- when: ceph_mds_docker_image_tag | match("latest")
+ when: ceph_docker_image_tag | match("latest")
- set_fact:
ceph_uid: 64045
- when: ceph_mds_docker_image_tag | search("ubuntu")
+ when: ceph_docker_image_tag | search("ubuntu")
- set_fact:
ceph_uid: 167
- when: ceph_mds_docker_image_tag | search("centos")
+ when: ceph_docker_image_tag | search("centos")
- set_fact:
ceph_uid: 167
- when: ceph_mds_docker_image_tag | search("fedora")
+ when: ceph_docker_image_tag | search("fedora")
- name: set proper ownership on ceph directories
file:
- name: start ceph metadata container image
docker:
- image: "{{ ceph_mds_docker_username }}/{{ ceph_mds_docker_imagename }}:{{ ceph_mds_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: ceph-{{ ansible_hostname }}-mds
net: host
state: running
- set_fact:
ceph_uid: 64045
- when: ceph_rgw_docker_image_tag | match("latest")
+ when: ceph_docker_image_tag | match("latest")
- set_fact:
ceph_uid: 64045
- when: ceph_rgw_docker_image_tag | search("ubuntu")
+ when: ceph_docker_image_tag | search("ubuntu")
- set_fact:
ceph_uid: 167
- when: ceph_rgw_docker_image_tag | search("centos")
+ when: ceph_docker_image_tag | search("centos")
- set_fact:
ceph_uid: 167
- when: ceph_rgw_docker_image_tag | search("fedora")
+ when: ceph_docker_image_tag | search("fedora")
- name: set proper ownership on ceph directories
file:
- name: start ceph rados gateway container image
docker:
- image: "{{ ceph_rgw_docker_username }}/{{ ceph_rgw_docker_imagename }}:{{ ceph_rgw_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: ceph-{{ ansible_hostname }}-rgw
expose: "{{ ceph_rgw_civetweb_port }}"
ports: "{{ ceph_rgw_civetweb_port }}:{{ ceph_rgw_civetweb_port }}"
- set_fact:
ceph_uid: 64045
- when: ceph_rbd_mirror_docker_image_tag | match("latest")
+ when: ceph_docker_image_tag | match("latest")
- set_fact:
ceph_uid: 64045
- when: ceph_rbd_mirror_docker_image_tag | search("ubuntu")
+ when: ceph_docker_image_tag | search("ubuntu")
- set_fact:
ceph_uid: 167
- when: ceph_rbd_mirror_docker_image_tag | search("centos")
+ when: ceph_docker_image_tag | search("centos")
- set_fact:
ceph_uid: 167
- when: ceph_rbd_mirror_docker_image_tag | search("fedora")
+ when: ceph_docker_image_tag | search("fedora")
- name: set proper ownership on ceph directories
file:
- name: start ceph rbd mirror container image
docker:
- image: "{{ ceph_rbd_mirror_docker_username }}/{{ ceph_rbd_mirror_docker_imagename }}:{{ ceph_rbd_mirror_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}"
net: host
state: running
- set_fact:
ceph_uid: 64045
- when: ceph_nfs_docker_image_tag | match("latest")
+ when: ceph_docker_image_tag | match("latest")
- set_fact:
ceph_uid: 64045
- when: ceph_nfs_docker_image_tag | search("ubuntu")
+ when: ceph_docker_image_tag | search("ubuntu")
- set_fact:
ceph_uid: 167
- when: ceph_nfs_docker_image_tag | search("centos")
+ when: ceph_docker_image_tag | search("centos")
- set_fact:
ceph_uid: 167
- when: ceph_nfs_docker_image_tag | search("fedora")
+ when: ceph_docker_image_tag | search("fedora")
- name: set proper ownership on ceph directories
file:
- name: start ceph nfs container image
docker:
- image: "{{ ceph_nfs_docker_username }}/{{ ceph_nfs_docker_imagename }}:{{ ceph_nfs_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}"
net: "host"
state: "running"
##########
docker: false
+ceph_docker_image: "ceph/daemon"
+ceph_docker_image_tag: latest
# Do not comment the following variables mon_containerized_deployment_* here. These variables are being used
# by ceph.conf.j2 template. so it should always be defined
---
# Normal case - pull image from registry
-- name: pull ceph daemon image
- command: "docker pull {{ ceph_docker_registry}}/{{ ceph_docker_username }}/{{ ceph_docker_imagename }}:{{ ceph_docker_image_tag }}"
+- name: "pull {{ ceph_docker_image }} image"
+ command: "docker pull {{ ceph_docker_registry}}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
changed_when: false
when: ceph_docker_dev_image is undefined or not ceph_docker_dev_image
mds_containerized_deployment_with_kv: false
kv_type: etcd
kv_endpoint: 127.0.0.1
-ceph_mds_docker_username: ceph
-ceph_mds_docker_imagename: daemon
-ceph_mds_docker_image_tag: latest
+ceph_docker_image: "ceph/daemon"
+ceph_docker_image_tag: latest
ceph_mds_docker_extra_env: -e CLUSTER={{ cluster }} -e MDS_NAME={{ ansible_hostname }}
ceph_docker_on_openstack: false
ceph_config_keys: [] # DON'T TOUCH ME
---
- name: check if a cluster is already running
- shell: "docker ps | grep -sq '{{ceph_mds_docker_username}}/{{ceph_mds_docker_imagename}}:{{ceph_mds_docker_image_tag}}'"
+ command: "docker ps -q -a --filter='ancestor={{ ceph_docker_image }}:{{ ceph_docker_image_tag }}'"
register: ceph_health
changed_when: false
failed_when: false
- ntp_service_enabled
- include: "{{ playbook_dir }}/roles/ceph-common/tasks/docker/fetch_image.yml"
- vars:
- ceph_docker_username: "{{ ceph_mds_docker_username }}"
- ceph_docker_imagename: "{{ ceph_mds_docker_imagename }}"
- ceph_docker_image_tag: "{{ ceph_mds_docker_image_tag }}"
- include: dirs_permissions.yml
- include: fetch_configs.yml
-e CEPHFS_CREATE=1 \
{{ ceph_mds_docker_extra_env }} \
--name={{ ansible_hostname }} \
- {{ ceph_docker_registry }}/{{ ceph_mds_docker_username }}/{{ ceph_mds_docker_imagename }}:{{ ceph_mds_docker_image_tag }}
+ {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
ExecStopPost=-/usr/bin/docker stop {{ ansible_hostname }}
Restart=always
RestartSec=10s
#mon_containerized_default_ceph_conf_with_kv: false
ceph_mon_docker_interface: "{{ monitor_interface }}"
ceph_mon_docker_subnet: "{{ public_network }}"# subnet of the ceph_mon_docker_interface
-ceph_mon_docker_username: ceph
-ceph_mon_docker_imagename: daemon
-ceph_mon_docker_image_tag: latest
+ceph_docker_image: "ceph/daemon"
+ceph_docker_image_tag: latest
ceph_mon_docker_extra_env: -e CLUSTER={{ cluster }} -e FSID={{ fsid }} -e MON_NAME={{ ansible_hostname }}
ceph_docker_on_openstack: false
mon_docker_privileged: false
---
- name: check if a cluster is already running
- shell: "docker ps | grep -sq '{{ceph_mon_docker_username}}/{{ceph_mon_docker_imagename}}:{{ceph_mon_docker_image_tag}}'"
+ command: "docker ps -q -a --filter='ancestor={{ ceph_docker_image }}:{{ ceph_docker_image_tag }}'"
register: ceph_health
changed_when: false
failed_when: false
- ntp_service_enabled
- include: "{{ playbook_dir }}/roles/ceph-common/tasks/docker/fetch_image.yml"
- vars:
- ceph_docker_username: "{{ ceph_mon_docker_username }}"
- ceph_docker_imagename: "{{ ceph_mon_docker_imagename }}"
- ceph_docker_image_tag: "{{ ceph_mon_docker_image_tag }}"
- include: dirs_permissions.yml
tags:
with_pkg
when: ansible_version['full'] | version_compare('2.1.0.0', '<')
-
+
- name: install docker-py
pip:
name: docker-py
- name: populate kv_store with default ceph.conf
docker:
name: populate-kv-store
- image: "{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}:{{ ceph_mon_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
command: populate_kvstore
net: host
env:
- name: populate kv_store with custom ceph.conf
docker:
name: populate-kv-store
- image: "{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}:{{ ceph_mon_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
command: populate_kvstore
net: host
env:
docker:
name: populate-kv-store
state: absent
- image: "{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}:{{ ceph_mon_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
when: mon_containerized_deployment_with_kv
- name: generate systemd unit file
-e MON_IP={{ hostvars[inventory_hostname]['ansible_' + ceph_mon_docker_interface]['ipv4']['address'] }} \
-e CEPH_PUBLIC_NETWORK={{ ceph_mon_docker_subnet }} \
{{ ceph_mon_docker_extra_env }} \
- {{ceph_docker_registry }}/{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}:{{ ceph_mon_docker_image_tag }}
+ {{ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
ExecStopPost=-/usr/bin/docker stop %i
Restart=always
RestartSec=10s
nfs_containerized_deployment_with_kv: false
kv_type: etcd
kv_endpoint: 127.0.0.1
-ceph_nfs_docker_username: ceph
-ceph_nfs_docker_imagename: ganesha
-ceph_nfs_docker_image_tag: latest
+ceph_docker_image: "ceph/ganesha"
+ceph_docker_image_tag: latest
#ceph_nfs_docker_extra_env: -e GANESHA_EPOCH={{ ganesha_epoch }}
ceph_docker_on_openstack: false
ceph_config_keys: [] # DON'T TOUCH ME
- name: create the nfs rgw user
docker:
- image: "{{ ceph_rgw_docker_username }}/{{ ceph_rgw_docker_imagename }}:{{ ceph_rgw_docker_image_tag }}"
+ image: "{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: ceph-{{ ansible_hostname }}-rgw-user
hostname: "{{ ansible_hostname }}"
expose: "{{ ceph_rgw_civetweb_port }}"
---
- name: check if a cluster is already running
- shell: "docker ps | grep -sq '{{ceph_nfs_docker_username}}/{{ceph_nfs_docker_imagename}}:{{ceph_nfs_docker_image_tag}}'"
+ command: "docker ps -q -a --filter='ancestor={{ ceph_docker_image }}:{{ ceph_docker_image_tag }}'"
register: ceph_health
changed_when: false
failed_when: false
- ntp_service_enabled
- include: "{{ playbook_dir }}/roles/ceph-common/tasks/docker/fetch_image.yml"
- vars:
- ceph_docker_username: "{{ ceph_nfs_docker_username }}"
- ceph_docker_imagename: "{{ ceph_nfs_docker_imagename }}"
- ceph_docker_image_tag: "{{ ceph_nfs_docker_image_tag }}"
- include: dirs_permissions.yml
-e CEPH_DAEMON=NFS \
{{ ceph_nfs_docker_extra_env }} \
--name=nfs-{{ ansible_hostname }} \
- {{ ceph_docker_registry }}/{{ ceph_nfs_docker_username }}/{{ ceph_nfs_docker_imagename }}:{{ ceph_nfs_docker_image_tag }}
+ {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
ExecStopPost=-/usr/bin/docker stop %i
Restart=always
RestartSec=10s
kv_endpoint: 127.0.0.1
kv_port: 4001
ceph_osd_docker_prepare_env: -e CLUSTER={{ cluster }} -e OSD_JOURNAL_SIZE={{ journal_size }} -e OSD_FORCE_ZAP=1
-ceph_osd_docker_username: ceph
-ceph_osd_docker_imagename: daemon
-ceph_osd_docker_image_tag: latest
+ceph_docker_image: "ceph/daemon"
+ceph_docker_image_tag: latest
ceph_osd_docker_extra_env: -e CLUSTER={{ cluster }} -e CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE -e OSD_JOURNAL_SIZE={{ journal_size }}
ceph_osd_docker_devices: "{{ devices }}"
ceph_docker_on_openstack: false
---
- name: check if a cluster is already running
- shell: "docker ps | grep -sq '{{ceph_osd_docker_username}}/{{ceph_osd_docker_imagename}}:{{ceph_osd_docker_image_tag}}'"
+ command: "docker ps -q -a --filter='ancestor={{ ceph_docker_image }}:{{ ceph_docker_image_tag }}'"
register: ceph_health
changed_when: false
failed_when: false
- ntp_service_enabled
- include: "{{ playbook_dir }}/roles/ceph-common/tasks/docker/fetch_image.yml"
- vars:
- ceph_docker_username: '{{ ceph_osd_docker_username }}'
- ceph_docker_imagename: '{{ ceph_osd_docker_imagename }}'
- ceph_docker_image_tag: '{{ ceph_osd_docker_image_tag }}'
# NOTE (jimcurtis): dirs_permissions.yml must precede fetch_configs.yml
# because it creates the directories needed by the latter.
tags:
with_pkg
when: ansible_version['full'] | version_compare('2.1.0.0', '<')
-
+
- name: install docker-py
pip:
name: docker-py
-e "OSD_DEVICE={{ item.0 }}" \
-e CEPH_DAEMON=OSD_CEPH_DISK_PREPARE \
{{ ceph_osd_docker_prepare_env }} \
- "{{ ceph_docker_registry }}/{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}"
+ "{{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
with_together:
- "{{ ceph_osd_docker_devices }}"
- "{{ osd_prepared.results }}"
-e KV_IP={{kv_endpoint}} \
-e KV_PORT={{kv_port}} \
{{ ceph_osd_docker_prepare_env }} \
- "{{ ceph_docker_registry }}/{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}" \
+ "{{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}" \
with_together:
- "{{ ceph_osd_docker_devices }}"
- "{{ osd_prepared.results }}"
-e OSD_DEVICE=/dev/%i \
{{ ceph_osd_docker_extra_env }} \
--name={{ ansible_hostname }}-osd-dev%i \
- {{ ceph_docker_registry }}/{{ ceph_osd_docker_username }}/{{ ceph_osd_docker_imagename }}:{{ ceph_osd_docker_image_tag }}
+ {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
ExecStop=-/usr/bin/docker stop {{ ansible_hostname }}-osd-dev%i
Restart=always
RestartSec=10s
rbd_mirror_containerized_deployment_with_kv: false
kv_type: etcd
kv_endpoint: 127.0.0.1
-ceph_rbd_mirror_docker_username: ceph
-ceph_rbd_mirror_docker_imagename: daemon
-ceph_rbd_mirror_docker_image_tag: latest
+ceph_docker_image: "ceph/daemon"
+ceph_docker_image_tag: latest
ceph_docker_on_openstack: false
ceph_config_keys: [] # DON'T TOUCH ME
---
- name: check if a cluster is already running
- shell: "docker ps | grep -sq '{{ceph_rbd_mirror_docker_username}}/{{ceph_rbd_mirror_docker_imagename}}:{{ceph_rbd_mirror_docker_image_tag}}'"
+ command: "docker ps -q -a --filter='ancestor={{ ceph_docker_image }}:{{ ceph_docker_image_tag }}'"
register: ceph_health
changed_when: false
failed_when: false
- ntp_service_enabled
- include: "{{ playbook_dir }}/roles/ceph-common/tasks/docker/fetch_image.yml"
- vars:
- ceph_docker_username: "{{ ceph_rbd_mirror_docker_username }}"
- ceph_docker_imagename: "{{ ceph_rbd_mirror_docker_imagename }}"
- ceph_docker_image_tag: "{{ ceph_rbd_mirror_docker_image_tag }}"
- include: dirs_permissions.yml
- include: fetch_configs.yml
--privileged \
-e CEPH_DAEMON=RBD_MIRROR \
--name={{ ansible_hostname }} \
- {{ ceph_docker_registry }}/{{ ceph_rbd_mirror_docker_username }}/{{ ceph_rbd_mirror_docker_imagename }}:{{ ceph_rbd_mirror_docker_image_tag }}
+ {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
ExecStopPost=-/usr/bin/docker stop {{ ansible_hostname }}
Restart=always
RestartSec=10s
restapi_containerized_deployment: false
ceph_restapi_docker_interface: eth0
ceph_restapi_port: 5000
-ceph_restapi_docker_username: ceph
-ceph_restapi_docker_imagename: daemon
-ceph_restapi_docker_image_tag: latest
+ceph_docker_image: "ceph/daemon"
+ceph_docker_image_tag: latest
ceph_restapi_docker_extra_env: "RESTAPI_IP=0.0.0.0" # comma separated variables
ceph_docker_on_openstack: false
ceph_config_keys: [] # DON'T TOUCH ME
- ntp_service_enabled
- include: "{{ playbook_dir }}/roles/ceph-common/tasks/docker/fetch_image.yml"
- vars:
- ceph_docker_username: "{{ ceph_restapi_docker_username }}"
- ceph_docker_imagename: "{{ ceph_restapi_docker_imagename }}"
- ceph_docker_image_tag: "{{ ceph_restapi_docker_image_tag }}"
- include: dirs_permissions.yml
- include: fetch_configs.yml
- include: start_docker_restapi.yml
---
- name: run the ceph rest api docker image
docker:
- image: "{{ ceph_docker_registry }}/{{ ceph_restapi_docker_username }}/{{ ceph_restapi_docker_imagename }}:{{ ceph_restapi_docker_image_tag }}"
+ image: "{{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
name: "{{ ansible_hostname }}-ceph-restapi"
net: host
expose: "{{ ceph_restapi_port }}"
kv_type: etcd
kv_endpoint: 127.0.0.1
ceph_rgw_civetweb_port: "{{ radosgw_civetweb_port }}"
-ceph_rgw_docker_username: ceph
-ceph_rgw_docker_imagename: daemon
-ceph_rgw_docker_image_tag: latest
+ceph_docker_image: "ceph/daemon"
+ceph_docker_image_tag: latest
ceph_rgw_docker_extra_env: -e CLUSTER={{ cluster }} -e RGW_CIVETWEB_PORT={{ ceph_rgw_civetweb_port }}
ceph_docker_on_openstack: false
ceph_config_keys: [] # DON'T TOUCH ME
---
- name: check if a cluster is already running
- shell: "docker ps | grep -sq '{{ceph_rgw_docker_username}}/{{ceph_rgw_docker_imagename}}:{{ceph_rgw_docker_image_tag}}'"
+ command: "docker ps -q -a --filter='ancestor={{ ceph_docker_image }}:{{ ceph_docker_image_tag }}'"
register: ceph_health
changed_when: false
failed_when: false
- ntp_service_enabled
- include: "{{ playbook_dir }}/roles/ceph-common/tasks/docker/fetch_image.yml"
- vars:
- ceph_docker_username: "{{ ceph_rgw_docker_username }}"
- ceph_docker_imagename: "{{ ceph_rgw_docker_imagename }}"
- ceph_docker_image_tag: "{{ ceph_rgw_docker_image_tag }}"
- include: dirs_permissions.yml
# NOTE (jimcurtis): dirs_permissions.yml must precede fetch_configs.yml
# because it creates the directories needed by the latter.
-e CEPH_DAEMON=RGW \
{{ ceph_rgw_docker_extra_env }} \
--name={{ ansible_hostname }} \
- {{ ceph_docker_registry }}/{{ ceph_rgw_docker_username }}/{{ ceph_rgw_docker_imagename }}:{{ ceph_rgw_docker_image_tag }}
+ {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}
ExecStopPost=-/usr/bin/docker stop {{ ansible_hostname }}
Restart=always
RestartSec=10s