Add restapi container deployment

Signed-off-by: leseb <seb@redhat.com>
pull/292/head
leseb 2015-06-29 14:15:07 +02:00
parent 02b53e1333
commit 083d7740f7
4 changed files with 73 additions and 8 deletions

View File

@ -0,0 +1,10 @@
---
##########
# DOCKER #
##########
ceph_containerized_deployment: false
ceph_restapi_docker_interface: eth0
ceph_restapi_port: 5000
ceph_restapi_docker_username: ceph
ceph_restapi_docker_imagename: daemon

View File

@ -0,0 +1,48 @@
---
- name: set config and keys paths
set_fact:
ceph_config_keys:
- /etc/ceph/ceph.client.admin.keyring
- /etc/ceph/ceph.conf
- name: install docker-py
pip: >
name=docker-py
version=1.1.0 # https://github.com/ansible/ansible-modules-core/issues/1227
- name: stat for Ceph config and keys
stat: >
path={{ item }}
with_items: ceph_config_keys
ignore_errors: true
register: statconfig
- name: try to fetch Ceph config and keys
copy: >
src=fetch/docker_mon_files/"{{ item }}"
dest=/etc/ceph/
owner=root
group=root
mode=600
with_together:
- ceph_config_keys
- statconfig.results
when: item.1.stat.exists == False
- name: run the Ceph REST API docker image
docker: >
image="{{ ceph_restapi_docker_username }}/{{ ceph_restapi_docker_imagename }}"
name={{ ansible_hostname }}-ceph-restapi
net=host
expose={{ ceph_restapi_port }}
state=running
env="RESTAPI_IP={{ hostvars[inventory_hostname]['ansible_' + ceph_restapi_docker_interface]['ipv4']['address'] }},CEPH_DAEMON=RESTAPI"
volumes="/etc/ceph:/etc/ceph"
- name: ensure Ceph REST API service is running
docker: >
image="{{ ceph_restapi_docker_username }}/{{ ceph_restapi_docker_imagename }}"
name="ceph-{{ ansible_hostname }}"
ports={{ ceph_restapi_port }}:{{ ceph_restapi_port }}
detach=yes
state=running

View File

@ -1,12 +1,9 @@
--- ---
- include: pre_requisite.yml - include: pre_requisite.yml
when: not ceph_containerized_deployment
- name: check if Ceph REST API is already started - include: start_restapi.yml
shell: "pgrep ceph-rest-api" when: not ceph_containerized_deployment
ignore_errors: true
register: restapi_status
- name: start Ceph REST API - include: docker.yml
shell: "nohup ceph-rest-api &" when: ceph_containerized_deployment
changed_when: false
when: restapi_status.rc != 0

View File

@ -0,0 +1,10 @@
---
- name: check if Ceph REST API is already started
shell: "pgrep ceph-rest-api"
ignore_errors: true
register: restapi_status
- name: start Ceph REST API
shell: "nohup ceph-rest-api &"
changed_when: false
when: restapi_status.rc != 0