From c922d458df43e4d633c79be8eb04c98a4ddb3e69 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Wed, 6 Apr 2022 17:16:27 +0200 Subject: [PATCH] CI: cephadm: Add osds/pools/users in one run Change-Id: If9b40079d42cdabfd14d27603357dd0aa027a49b --- roles/cephadm/tasks/main.yml | 44 ++++---------------------- roles/cephadm/templates/commands.sh.j2 | 23 ++++++++++++++ tests/run.yml | 2 +- 3 files changed, 31 insertions(+), 38 deletions(-) create mode 100644 roles/cephadm/templates/commands.sh.j2 diff --git a/roles/cephadm/tasks/main.yml b/roles/cephadm/tasks/main.yml index e2d02615f1..d4559382e7 100644 --- a/roles/cephadm/tasks/main.yml +++ b/roles/cephadm/tasks/main.yml @@ -65,44 +65,19 @@ dest: "/var/run/ceph/{{ ceph_fsid }}/cluster.yml" become: True -- name: Check Ceph Orchestrator state - command: - cmd: > - cephadm shell -- - ceph orch status --detail +- name: Template out command spec + template: + src: templates/commands.sh.j2 + dest: "/var/run/ceph/{{ ceph_fsid }}/commands.sh" become: True -- name: Apply cluster spec +- name: Run commands command: cmd: > cephadm shell -- - ceph orch apply -i /var/run/ceph/cluster.yml + bash /var/run/ceph/commands.sh become: True -- name: Add osds - command: - cmd: > - cephadm shell -- - ceph orch daemon add osd {{ item }} - become: True - loop: "{{ cephadm_ceph_osd_devices }}" - -- name: Create and initialise pools for OpenStack services - command: - cmd: > - cephadm shell -- - ceph osd pool create {{ item }} - with_items: "{{ cephadm_ceph_pools }}" - become: true - -- name: Create users for OpenStack services - command: - cmd: > - cephadm shell -- - ceph auth get-or-create {{ item }} - become: true - with_items: "{{ cephadm_ceph_users }}" - # TODO(mnasiadka): Fix merge_configs to support tabs - name: Generate ceph.conf without tabs vars: @@ -112,10 +87,5 @@ mon_host = {% for host in groups['all'] %} {{ hostvars[host]['ansible_'+api_interface_name].ipv4.address }} {% if not loop.last %},{% endif %} {% endfor %} copy: content: "{{ ceph_conf_fixed }}" - dest: /etc/ceph/ceph.conf - become: True - -- name: Check ceph health - command: - cmd: cephadm shell -- ceph health detail + dest: "/etc/ceph/ceph.conf.fixed" become: True diff --git a/roles/cephadm/templates/commands.sh.j2 b/roles/cephadm/templates/commands.sh.j2 new file mode 100644 index 0000000000..dfdf79ec1f --- /dev/null +++ b/roles/cephadm/templates/commands.sh.j2 @@ -0,0 +1,23 @@ +# Status +ceph orch status --detail + +# Apply cluster spec +ceph orch apply -i /var/run/ceph/cluster.yml + +# OSDs +{% for osd in cephadm_ceph_osd_devices %} +ceph orch daemon add osd {{ osd }} +{% endfor %} + +# Pools +{% for pool in cephadm_ceph_pools %} +ceph osd pool create {{ pool }} +{% endfor %} + +# Users +{% for user in cephadm_ceph_users %} +ceph auth get-or-create {{ user }} +{% endfor %} + +# Health +ceph health detail diff --git a/tests/run.yml b/tests/run.yml index 107c8bd2d5..840fa445bd 100644 --- a/tests/run.yml +++ b/tests/run.yml @@ -364,7 +364,7 @@ - name: copy ceph.conf to enabled services copy: remote_src: True - src: "/etc/ceph/ceph.conf" + src: "/etc/ceph/ceph.conf.fixed" dest: "/etc/kolla/config/{{ item.name }}/ceph.conf" with_items: "{{ cephadm_kolla_ceph_services }}"