From e424966cbffd7c8b80b51cf1128bde2d94dbaaf6 Mon Sep 17 00:00:00 2001 From: Michael Sambol Date: Fri, 16 Oct 2015 18:55:31 -0500 Subject: [PATCH] Refactor ceph monitor role --- roles/ceph-mon/tasks/ceph_keys.yml | 39 +++++++++--------- roles/ceph-mon/tasks/deploy_monitors.yml | 40 +++++++++---------- roles/ceph-mon/tasks/docker/copy_configs.yml | 8 ++-- roles/ceph-mon/tasks/docker/fetch_configs.yml | 12 +++--- roles/ceph-mon/tasks/docker/pre_requisite.yml | 12 +++--- .../tasks/docker/start_docker_monitor.yml | 14 +++---- roles/ceph-mon/tasks/openstack_config.yml | 6 +-- roles/ceph-mon/tasks/start_monitor.yml | 22 +++++----- 8 files changed, 76 insertions(+), 77 deletions(-) diff --git a/roles/ceph-mon/tasks/ceph_keys.yml b/roles/ceph-mon/tasks/ceph_keys.yml index 886936d63..a28aca4c1 100644 --- a/roles/ceph-mon/tasks/ceph_keys.yml +++ b/roles/ceph-mon/tasks/ceph_keys.yml @@ -2,12 +2,13 @@ # NOTE (leseb): wait for mon discovery and quorum resolution # the admin key is not instantanely created so we have to wait a bit - name: wait for client.admin key exists - wait_for: path=/etc/ceph/ceph.client.admin.keyring + wait_for: + path: /etc/ceph/ceph.client.admin.keyring - name: create ceph rest api keyring - command: > - ceph auth get-or-create client.restapi osd 'allow *' mon 'allow *' -o /etc/ceph/ceph.client.restapi.keyring - creates=/etc/ceph/ceph.client.restapi.keyring + command: ceph auth get-or-create client.restapi osd 'allow *' mon 'allow *' -o /etc/ceph/ceph.client.restapi.keyring + args: + creates: /etc/ceph/ceph.client.restapi.keyring changed_when: false when: cephx and @@ -25,19 +26,19 @@ when: cephx - name: set keys permissions - file: > - path={{ item }} - mode=0600 - owner=root - group=root + file: + path: "{{ item }}" + mode: 0600 + owner: root + group: root with_items: - "{{ ceph_keys.stdout_lines }}" - name: copy keys to the ansible server - fetch: > - src={{ item }} - dest={{ fetch_directory }}/{{ fsid }}/{{ item }} - flat=yes + fetch: + src: "{{ item }}" + dest: "{{ fetch_directory }}/{{ fsid }}/{{ item }}" + flat: yes with_items: - "{{ ceph_keys.stdout_lines }}" - /var/lib/ceph/bootstrap-osd/ceph.keyring @@ -46,10 +47,10 @@ when: cephx - name: drop in a motd script to report status when logging in - copy: > - src=precise/92-ceph - dest=/etc/update-motd.d/92-ceph - owner=root - group=root - mode=0755 + copy: + src: precise/92-ceph + dest: /etc/update-motd.d/92-ceph + owner: root + group: root + mode: 0755 when: ansible_distribution_release == 'precise' diff --git a/roles/ceph-mon/tasks/deploy_monitors.yml b/roles/ceph-mon/tasks/deploy_monitors.yml index cb178c2f4..da62a3726 100644 --- a/roles/ceph-mon/tasks/deploy_monitors.yml +++ b/roles/ceph-mon/tasks/deploy_monitors.yml @@ -1,15 +1,13 @@ --- - name: generate monitor initial keyring - local_action: > - shell python -c "import os ; import struct ; import time; import base64 ; key = os.urandom(16) ; header = struct.pack(' - command cat {{ fetch_directory }}/monitor_keyring.conf + local_action: command cat {{ fetch_directory }}/monitor_keyring.conf removes={{ fetch_directory }}/monitor_keyring.conf changed_when: false register: monitor_keyring @@ -17,26 +15,26 @@ when: monitor_secret != 'AQAWqilTCDh7CBAAawXt6kyTgLFCxSvJhTEmuw==' - name: create monitor initial keyring - command: > - ceph-authtool /var/lib/ceph/tmp/keyring.mon.{{ ansible_hostname }} --create-keyring --name=mon. --add-key={{ monitor_secret }} --cap mon 'allow *' - creates=/var/lib/ceph/tmp/keyring.mon.{{ ansible_hostname }} + command: ceph-authtool /var/lib/ceph/tmp/keyring.mon.{{ ansible_hostname }} --create-keyring --name=mon. --add-key={{ monitor_secret }} --cap mon 'allow *' + args: + creates: /var/lib/ceph/tmp/keyring.mon.{{ ansible_hostname }} - name: set initial monitor key permissions - file: > - path=/var/lib/ceph/tmp/keyring.mon.{{ ansible_hostname }} - mode=0600 - owner=root - group=root + file: + path: /var/lib/ceph/tmp/keyring.mon.{{ ansible_hostname }} + mode: 0600 + owner: root + group: root - name: create monitor directory - file: > - path=/var/lib/ceph/mon/ceph-{{ ansible_hostname }} - state=directory - owner=root - group=root - mode=0755 + file: + path: /var/lib/ceph/mon/ceph-{{ ansible_hostname }} + state: directory + owner: root + group: root + mode: 0755 - name: ceph monitor mkfs - command: > - ceph-mon --mkfs -i {{ ansible_hostname }} --fsid {{ fsid }} --keyring /var/lib/ceph/tmp/keyring.mon.{{ ansible_hostname }} - creates=/var/lib/ceph/mon/ceph-{{ ansible_hostname }}/keyring + command: ceph-mon --mkfs -i {{ ansible_hostname }} --fsid {{ fsid }} --keyring /var/lib/ceph/tmp/keyring.mon.{{ ansible_hostname }} + args: + creates: /var/lib/ceph/mon/ceph-{{ ansible_hostname }}/keyring diff --git a/roles/ceph-mon/tasks/docker/copy_configs.yml b/roles/ceph-mon/tasks/docker/copy_configs.yml index cc68910aa..f2ba50e81 100644 --- a/roles/ceph-mon/tasks/docker/copy_configs.yml +++ b/roles/ceph-mon/tasks/docker/copy_configs.yml @@ -1,9 +1,9 @@ --- - name: push ceph files to the ansible server - fetch: > - src={{ item.0 }} - dest={{ fetch_directory }}/docker_mon_files/{{ item.0 }} - flat=yes + fetch: + src: "{{ item.0 }}" + dest: "{{ fetch_directory }}/docker_mon_files/{{ item.0 }}" + flat: yes with_together: - ceph_config_keys - statconfig.results diff --git a/roles/ceph-mon/tasks/docker/fetch_configs.yml b/roles/ceph-mon/tasks/docker/fetch_configs.yml index 295724ce0..06d9546b3 100644 --- a/roles/ceph-mon/tasks/docker/fetch_configs.yml +++ b/roles/ceph-mon/tasks/docker/fetch_configs.yml @@ -19,12 +19,12 @@ register: statconfig - name: try to fetch ceph config and keys - copy: > - src={{ fetch_directory }}/docker_mon_files/{{ item.0 }} - dest={{ item.0 }} - owner=root - group=root - mode=644 + copy: + src: "{{ fetch_directory }}/docker_mon_files/{{ item.0 }}" + dest: "{{ item.0 }}" + owner: root + group: root + mode: 644 changed_when: false with_together: - ceph_config_keys diff --git a/roles/ceph-mon/tasks/docker/pre_requisite.yml b/roles/ceph-mon/tasks/docker/pre_requisite.yml index 409511f1a..112e5bfd7 100644 --- a/roles/ceph-mon/tasks/docker/pre_requisite.yml +++ b/roles/ceph-mon/tasks/docker/pre_requisite.yml @@ -1,8 +1,8 @@ --- - name: create bootstrap directories - file: > - path=/var/lib/ceph/bootstrap-{{ item }} - state=directory + file: + path: /var/lib/ceph/bootstrap-{{ item }} + state: directory with_items: - osd - mds @@ -10,6 +10,6 @@ # NOTE (leseb): for version 1.1.0 because https://github.com/ansible/ansible-modules-core/issues/1227 - name: install docker-py - pip: > - name=docker-py - version=1.1.0 + pip: + name: docker-py + version: 1.1.0 diff --git a/roles/ceph-mon/tasks/docker/start_docker_monitor.yml b/roles/ceph-mon/tasks/docker/start_docker_monitor.yml index d31bc8132..e943fd9af 100644 --- a/roles/ceph-mon/tasks/docker/start_docker_monitor.yml +++ b/roles/ceph-mon/tasks/docker/start_docker_monitor.yml @@ -1,9 +1,9 @@ --- - name: run the ceph Monitor docker image - docker: > - image="{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}" - name="{{ ansible_hostname }}" - net="host" - state="running" - 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" + docker: + image: "{{ ceph_mon_docker_username }}/{{ ceph_mon_docker_imagename }}" + name: "{{ ansible_hostname }}" + net: "host" + state: "running" + 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" diff --git a/roles/ceph-mon/tasks/openstack_config.yml b/roles/ceph-mon/tasks/openstack_config.yml index 9cd016125..ed527c259 100644 --- a/roles/ceph-mon/tasks/openstack_config.yml +++ b/roles/ceph-mon/tasks/openstack_config.yml @@ -10,8 +10,8 @@ failed_when: false - name: create openstack keys - command: > - ceph auth get-or-create {{ item.name }} {{ item.value }} -o /etc/ceph/ceph.{{ item.name }}.keyring - creates=/etc/ceph/ceph.{{ item.name }}.keyring + command: ceph auth get-or-create {{ item.name }} {{ item.value }} -o /etc/ceph/ceph.{{ item.name }}.keyring + args: + creates: /etc/ceph/ceph.{{ item.name }}.keyring with_items: openstack_keys changed_when: false diff --git a/roles/ceph-mon/tasks/start_monitor.yml b/roles/ceph-mon/tasks/start_monitor.yml index 828b19c7c..c96314800 100644 --- a/roles/ceph-mon/tasks/start_monitor.yml +++ b/roles/ceph-mon/tasks/start_monitor.yml @@ -1,11 +1,11 @@ --- - name: activate monitor with upstart - file: > - path=/var/lib/ceph/mon/ceph-{{ ansible_hostname }}/{{ item }} - state=touch - owner=root - group=root - mode=0600 + file: + path: /var/lib/ceph/mon/ceph-{{ ansible_hostname }}/{{ item }} + state: touch + owner: root + group: root + mode: 0600 with_items: - done - upstart @@ -13,11 +13,11 @@ changed_when: false - name: start and add that the monitor service to the init sequence (ubuntu) - service: > - name=ceph-mon - state=started - enabled=yes - args="id={{ ansible_hostname }}" + service: + name: ceph-mon + state: started + enabled: yes + args: "id={{ ansible_hostname }}" when: ansible_distribution == "Ubuntu" # NOTE (leseb): somehow the service ansible module is messing things up -- 2.39.5