From 83d195249ebb7250f1531e865ee962944997e9bd Mon Sep 17 00:00:00 2001 From: Sam Yaple Date: Sun, 27 Sep 2015 10:20:33 +0000 Subject: [PATCH] Convert ceph to json Remove ceph debug info and unused partuuid Change-Id: Ifbe9890979ee666d7e43a04376f36c41ae2d8add Implements: blueprint ceph-container Partially-Implements: blueprint replace-config-external --- ansible/roles/ceph/tasks/config.yml | 10 +++++ ansible/roles/ceph/tasks/start_mons.yml | 1 - ansible/roles/ceph/templates/ceph-mon.json.j2 | 32 +++++++++++++++ ansible/roles/ceph/templates/ceph-osd.json.j2 | 17 ++++++++ docker/ceph/ceph-mon/config-external.sh | 40 ------------------- docker/ceph/ceph-mon/start.sh | 5 +-- docker/ceph/ceph-osd/config-external.sh | 20 ---------- docker/ceph/ceph-osd/start.sh | 7 +--- 8 files changed, 62 insertions(+), 70 deletions(-) create mode 100644 ansible/roles/ceph/templates/ceph-mon.json.j2 create mode 100644 ansible/roles/ceph/templates/ceph-osd.json.j2 delete mode 100644 docker/ceph/ceph-mon/config-external.sh delete mode 100644 docker/ceph/ceph-osd/config-external.sh diff --git a/ansible/roles/ceph/tasks/config.yml b/ansible/roles/ceph/tasks/config.yml index d242ea80c8..a9f99e820a 100644 --- a/ansible/roles/ceph/tasks/config.yml +++ b/ansible/roles/ceph/tasks/config.yml @@ -10,6 +10,11 @@ - "{{ node_templates_directory }}/{{ service_name }}/ceph.conf_augment" config_dest: "{{ node_config_directory }}/{{ service_name }}/ceph.conf" +- name: Copying over ceph-mon JSON configuration file + template: + src: "ceph-mon.json.j2" + dest: "{{ node_config_directory }}/ceph-mon/config.json" + - include: ../../config.yml vars: service_name: "ceph-osd" @@ -20,3 +25,8 @@ - "{{ node_templates_directory }}/{{ service_name }}/ceph.conf_minimal" - "{{ node_templates_directory }}/{{ service_name }}/ceph.conf_augment" config_dest: "{{ node_config_directory }}/{{ service_name }}/ceph.conf" + +- name: Copying over ceph-osd JSON configuration file + template: + src: "ceph-osd.json.j2" + dest: "{{ node_config_directory }}/ceph-osd/config.json" diff --git a/ansible/roles/ceph/tasks/start_mons.yml b/ansible/roles/ceph/tasks/start_mons.yml index ab50d73554..0f70905b87 100644 --- a/ansible/roles/ceph/tasks/start_mons.yml +++ b/ansible/roles/ceph/tasks/start_mons.yml @@ -18,5 +18,4 @@ - "ceph_mon_data" env: KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" - MON_IP: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}" when: inventory_hostname in groups['ceph-mon'] diff --git a/ansible/roles/ceph/templates/ceph-mon.json.j2 b/ansible/roles/ceph/templates/ceph-mon.json.j2 new file mode 100644 index 0000000000..0b6f2c7722 --- /dev/null +++ b/ansible/roles/ceph/templates/ceph-mon.json.j2 @@ -0,0 +1,32 @@ +{ + "command": "/usr/bin/ceph-mon -d -i {{ ansible_hostname }} --public-addr {{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}:6789", + "config_files": [ + { + "source": "/opt/kolla/config_files/ceph.conf", + "dest": "/etc/ceph/ceph.conf", + "owner": "glance", + "perm": "0600" + } + { + "source": "/opt/kolla/config_files/ceph.client.admin.keyring", + "dest": "/etc/ceph/ceph.client.admin.keyring", + "owner": "ceph", + "perm": "0600" + "optional": True + }, + { + "source": "/opt/kolla/config_files/ceph.client.mon.keyring", + "dest": "/etc/ceph/ceph.client.mon.keyring", + "owner": "ceph", + "perm": "0600" + "optional": True + }, + { + "source": "/opt/kolla/config_files/ceph.monmap", + "dest": "/etc/ceph/ceph.monmap", + "owner": "ceph", + "perm": "0600" + "optional": True + } + ] +} diff --git a/ansible/roles/ceph/templates/ceph-osd.json.j2 b/ansible/roles/ceph/templates/ceph-osd.json.j2 new file mode 100644 index 0000000000..288ebc6ba7 --- /dev/null +++ b/ansible/roles/ceph/templates/ceph-osd.json.j2 @@ -0,0 +1,17 @@ +{ + "command": "/usr/bin/ceph-osd -f -d", + "config_files": [ + { + "source": "/opt/kolla/config_files/ceph.conf", + "dest": "/etc/ceph/ceph.conf", + "owner": "glance", + "perm": "0600" + }, + { + "source": "/opt/kolla/config_files/ceph.client.admin.keyring", + "dest": "/etc/ceph/ceph.client.admin.keyring", + "owner": "ceph", + "perm": "0600" + } + ] +} diff --git a/docker/ceph/ceph-mon/config-external.sh b/docker/ceph/ceph-mon/config-external.sh deleted file mode 100644 index 289cffc86b..0000000000 --- a/docker/ceph/ceph-mon/config-external.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -SOURCE="/opt/kolla/ceph-mon/ceph.conf" -TARGET="/etc/ceph/ceph.conf" -OWNER="ceph" - -if [[ -f "$SOURCE" ]]; then - cp $SOURCE $TARGET - chown ${OWNER}: $TARGET - chmod 0644 $TARGET -fi - -SOURCE="/opt/kolla/ceph-mon/ceph.client.admin.keyring" -TARGET="/etc/ceph/ceph.client.admin.keyring" -OWNER="ceph" - -if [[ -f "$SOURCE" ]]; then - cp $SOURCE $TARGET - chown ${OWNER}: $TARGET - chmod 0600 $TARGET -fi - -SOURCE="/opt/kolla/ceph-mon/ceph.client.mon.keyring" -TARGET="/etc/ceph/ceph.client.mon.keyring" -OWNER="ceph" - -if [[ -f "$SOURCE" ]]; then - cp $SOURCE $TARGET - chown ${OWNER}: $TARGET - chmod 0600 $TARGET -fi - -SOURCE="/opt/kolla/ceph-mon/ceph.monmap" -TARGET="/etc/ceph/ceph.monmap" -OWNER="ceph" - -if [[ -f "$SOURCE" ]]; then - cp $SOURCE $TARGET - chown ${OWNER}: $TARGET - chmod 0600 $TARGET -fi diff --git a/docker/ceph/ceph-mon/start.sh b/docker/ceph/ceph-mon/start.sh index f3eb35a596..29b2bd700f 100755 --- a/docker/ceph/ceph-mon/start.sh +++ b/docker/ceph/ceph-mon/start.sh @@ -1,9 +1,6 @@ #!/bin/bash set -o errexit -CMD="/usr/bin/ceph-mon" -ARGS="-d -i $(hostname) --public-addr ${MON_IP}:6789" - # Setup common paths KEYRING_ADMIN="/etc/ceph/ceph.client.admin.keyring" KEYRING_MON="/etc/ceph/ceph.client.mon.keyring" @@ -41,4 +38,4 @@ if [[ ! -e "${MON_DIR}/keyring" ]]; then rm "${KEYRING_TMP}" fi -exec $CMD $ARGS +exec $CMD diff --git a/docker/ceph/ceph-osd/config-external.sh b/docker/ceph/ceph-osd/config-external.sh deleted file mode 100644 index 8928f91cbd..0000000000 --- a/docker/ceph/ceph-osd/config-external.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -SOURCE="/opt/kolla/ceph-osd/ceph.conf" -TARGET="/etc/ceph/ceph.conf" -OWNER="ceph" - -if [[ -f "$SOURCE" ]]; then - cp $SOURCE $TARGET - chown ${OWNER}: $TARGET - chmod 0644 $TARGET -fi - -SOURCE="/opt/kolla/ceph-osd/ceph.client.admin.keyring" -TARGET="/etc/ceph/ceph.client.admin.keyring" -OWNER="ceph" - -if [[ -f "$SOURCE" ]]; then - cp $SOURCE $TARGET - chown ${OWNER}: $TARGET - chmod 0600 $TARGET -fi diff --git a/docker/ceph/ceph-osd/start.sh b/docker/ceph/ceph-osd/start.sh index 9a27d60cc1..4b26c426b5 100755 --- a/docker/ceph/ceph-osd/start.sh +++ b/docker/ceph/ceph-osd/start.sh @@ -7,11 +7,9 @@ source /opt/kolla/kolla-common.sh # Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases # of the KOLLA_BOOTSTRAP variable being set, including empty. if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then - JOURNAL_PARTUUID=$(uuidgen) - # Formating disk for ceph sgdisk --zap-all -- "${OSD_DEV}" - sgdisk --new=2:1M:5G --change-name=2:KOLLA_CEPH_JOURNAL --typecode=2:45B0969E-9B03-4F30-B4C6-B4B80CEFF106 --partition-guid=2:${JOURNAL_PARTUUID} --mbrtogpt -- "${OSD_DEV}" + sgdisk --new=2:1M:5G --change-name=2:KOLLA_CEPH_JOURNAL --typecode=2:45B0969E-9B03-4F30-B4C6-B4B80CEFF106 --mbrtogpt -- "${OSD_DEV}" sgdisk --largest-new=1 --change-name=1:KOLLA_CEPH_DATA --typecode=1:4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D -- "${OSD_DEV}" # This command may throw errors that we can safely ignore partprobe || true @@ -45,7 +43,6 @@ fi # We look up the appropriate journal since we cannot rely on symlinks JOURNAL_PARTITION=$(ls "${OSD_DEV}"* | egrep "${OSD_DEV}p?2") OSD_DIR="/var/lib/ceph/osd/ceph-${OSD_ID}" -CMD="/usr/bin/ceph-osd" -ARGS="-f -d -i ${OSD_ID} --osd-journal ${JOURNAL_PARTITION} -k ${OSD_DIR}/keyring" +ARGS="-i ${OSD_ID} --osd-journal ${JOURNAL_PARTITION} -k ${OSD_DIR}/keyring" exec $CMD $ARGS