Merge "Fix ceph pool creation failure"

This commit is contained in:
Zuul 2023-03-08 12:26:37 +00:00 committed by Gerrit Code Review
commit 3831309bf0
15 changed files with 52 additions and 5 deletions

View File

@ -52,12 +52,20 @@ def container_exec(binary, container_image, spec_path=None, interactive=False):
container_binary = os.getenv('CEPH_CONTAINER_BINARY') container_binary = os.getenv('CEPH_CONTAINER_BINARY')
command_exec = [container_binary, 'run'] command_exec = [container_binary, 'run']
fsid = ''
if interactive: if interactive:
command_exec.extend(['--interactive']) command_exec.extend(['--interactive'])
if 'CEPH_FSID' in os.environ:
fsid = os.getenv('CEPH_FSID')
ceph_config_path = '/etc/ceph'
if fsid:
path = '/var/lib/ceph/{}/config'.format(fsid)
if os.path.exists(path):
ceph_config_path = path
command_exec.extend(['--rm', command_exec.extend(['--rm',
'--net=host', '--net=host',
'-v', '/etc/ceph:/etc/ceph:z', '-v', '{}:/etc/ceph:z'.format(ceph_config_path),
'-v', '/var/lib/ceph/:/var/lib/ceph/:z', '-v', '/var/lib/ceph/:/var/lib/ceph/:z',
'-v', '/var/log/ceph/:/var/log/ceph/:z']) '-v', '/var/log/ceph/:/var/log/ceph/:z'])

View File

@ -5,6 +5,7 @@ tripleo_cephadm_ssh_user: ceph-admin
tripleo_cephadm_bin: /usr/sbin/cephadm tripleo_cephadm_bin: /usr/sbin/cephadm
tripleo_cephadm_cluster: ceph tripleo_cephadm_cluster: ceph
tripleo_cephadm_config_home: /etc/ceph tripleo_cephadm_config_home: /etc/ceph
tripleo_cephadm_config_home_container: "/var/lib/ceph/{{ tripleo_cephadm_fsid }}/config/"
tripleo_cephadm_verbose: false tripleo_cephadm_verbose: false
tripleo_cephadm_container_ns: "quay.io/ceph" tripleo_cephadm_container_ns: "quay.io/ceph"
tripleo_cephadm_container_image: "ceph" tripleo_cephadm_container_image: "ceph"

View File

@ -67,7 +67,7 @@
- tripleo_cephadm_ceph_cli | regex_search('-c ' + tripleo_cephadm_conf) - tripleo_cephadm_ceph_cli | regex_search('-c ' + tripleo_cephadm_conf)
- tripleo_cephadm_ceph_cli | regex_search('-k ' + tripleo_cephadm_admin_keyring) - tripleo_cephadm_ceph_cli | regex_search('-k ' + tripleo_cephadm_admin_keyring)
vars: vars:
ceph_vol: "--volume {{ tripleo_cephadm_config_home }}:{{ tripleo_cephadm_config_home }}:z" ceph_vol: "--volume {{ tripleo_cephadm_config_home_container }}:{{ tripleo_cephadm_config_home }}:z"
spec_vol: "--volume {{ tripleo_cephadm_spec }}:{{ tripleo_cephadm_container_spec }}:z" spec_vol: "--volume {{ tripleo_cephadm_spec }}:{{ tripleo_cephadm_container_spec }}:z"
image: "{{ tripleo_cephadm_container_ns }}/{{ tripleo_cephadm_container_image }}:{{ tripleo_cephadm_container_tag }}" image: "{{ tripleo_cephadm_container_ns }}/{{ tripleo_cephadm_container_image }}:{{ tripleo_cephadm_container_tag }}"

View File

@ -24,7 +24,7 @@
{% if sensitive_data|default(false) %} {% if sensitive_data|default(false) %}
--interactive --interactive
{% endif %} {% endif %}
--volume {{ tripleo_cephadm_config_home }}:/etc/ceph:z --volume {{ tripleo_cephadm_config_home_container }}:/etc/ceph:z
{% if not external_cluster|default(false) -%} {% if not external_cluster|default(false) -%}
--volume {{ tripleo_cephadm_assimilate_conf }}:{{ tripleo_cephadm_assimilate_conf_container }}:z --volume {{ tripleo_cephadm_assimilate_conf }}:{{ tripleo_cephadm_assimilate_conf_container }}:z
{% endif %} {% endif %}

View File

@ -44,6 +44,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
- name: Create the ingress Daemon spec definition for nfs - name: Create the ingress Daemon spec definition for nfs
when: tripleo_cephadm_ingress | default(true) when: tripleo_cephadm_ingress | default(true)
@ -63,3 +64,4 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"

View File

@ -33,6 +33,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
with_items: "{{ tripleo_cephadm_crush_rules | unique }}" with_items: "{{ tripleo_cephadm_crush_rules | unique }}"
run_once: true run_once: true
@ -44,6 +45,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
register: info_ceph_default_crush_rule register: info_ceph_default_crush_rule
with_items: "{{ tripleo_cephadm_crush_rules | unique }}" with_items: "{{ tripleo_cephadm_crush_rules | unique }}"
run_once: true run_once: true

View File

@ -78,6 +78,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
- name: Configure Monitoring Stack - name: Configure Monitoring Stack
become: true become: true

View File

@ -65,6 +65,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
register: tripleo_cephadm_client_keys register: tripleo_cephadm_client_keys
become: true become: true
loop: "{{ tripleo_cephadm_keys }}" loop: "{{ tripleo_cephadm_keys }}"

View File

@ -17,7 +17,7 @@
# Assumes the following module is in ANSIBLE_LIBRARY=/usr/share/ansible/library/ # Assumes the following module is in ANSIBLE_LIBRARY=/usr/share/ansible/library/
# https://github.com/ceph/ceph-ansible/blob/master/library/ceph_key.py # https://github.com/ceph/ceph-ansible/blob/master/library/ceph_key.py
- name: create cephx key(s) - name: Create cephx key(s)
ceph_key: ceph_key:
import_key: true import_key: true
name: "{{ item.name }}" name: "{{ item.name }}"
@ -25,14 +25,37 @@
mode: "{{ item.mode }}" mode: "{{ item.mode }}"
secret: "{{ item.key | default('') }}" secret: "{{ item.key | default('') }}"
cluster: "{{ tripleo_cephadm_cluster }}" cluster: "{{ tripleo_cephadm_cluster }}"
dest: "{{ tripleo_cephadm_config_home }}" dest: "{{ tripleo_cephadm_config_home_container }}"
owner: "{{ tripleo_cephadm_uid }}" owner: "{{ tripleo_cephadm_uid }}"
group: "{{ tripleo_cephadm_uid }}" group: "{{ tripleo_cephadm_uid }}"
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
become: true become: true
loop: "{{ tripleo_cephadm_keys }}" loop: "{{ tripleo_cephadm_keys }}"
when: when:
- tripleo_cephadm_keys is defined - tripleo_cephadm_keys is defined
- tripleo_cephadm_keys | length > 0 - tripleo_cephadm_keys | length > 0
- name: Find the generated key(s)
ansible.builtin.find:
paths: "{{ tripleo_cephadm_config_home_container }}"
patterns: "*.{{ item.name }}.*"
register: keyring_files
become: true
loop: "{{ tripleo_cephadm_keys }}"
when:
- tripleo_cephadm_keys is defined
- tripleo_cephadm_keys | length > 0
- name: Copy key(s) to /etc/ceph
ansible.builtin.copy:
remote_src: true
src: "{{ item.path }}"
dest: "{{ tripleo_cephadm_config_home }}"
owner: "{{ tripleo_cephadm_uid }}"
group: "{{ tripleo_cephadm_uid }}"
mode: '0644'
become: true
with_items: "{{ keyring_files.results | map(attribute='files') | list }}"

View File

@ -42,6 +42,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
- name: create filesystem pools - name: create filesystem pools
ceph_pool: ceph_pool:
@ -59,6 +60,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
with_items: "{{ cephfs_pools }}" with_items: "{{ cephfs_pools }}"
become: true become: true
vars: vars:
@ -76,3 +78,4 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"

View File

@ -28,6 +28,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
when: tripleo_cephadm_dashboard_enabled | default(false) | bool or when: tripleo_cephadm_dashboard_enabled | default(false) | bool or
tripleo_cephadm_observability_data_only | default(false) | bool tripleo_cephadm_observability_data_only | default(false) | bool
@ -80,6 +81,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
with_items: with_items:
- {"daemon": "grafana", "port": "{{ tripleo_cephadm_grafana_port | default(3100) }}"} - {"daemon": "grafana", "port": "{{ tripleo_cephadm_grafana_port | default(3100) }}"}
- {"daemon": "prometheus", "port": "{{ tripleo_cephadm_prometheus_port | default(9092) }}"} - {"daemon": "prometheus", "port": "{{ tripleo_cephadm_prometheus_port | default(9092) }}"}

View File

@ -54,6 +54,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
register: _rgw_keys_int register: _rgw_keys_int
become: true become: true
with_items: with_items:

View File

@ -34,6 +34,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
become: true become: true
with_items: "{{ tripleo_cephadm_pools }}" with_items: "{{ tripleo_cephadm_pools }}"
when: when:

View File

@ -41,6 +41,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
when: when:
- tripleo_enabled_services | intersect(['ceph_rbdmirror']) - tripleo_enabled_services | intersect(['ceph_rbdmirror'])

View File

@ -56,6 +56,7 @@
environment: environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}" CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}" CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
vars: vars:
rgw_frontend_cert: "{{ slurp_cert.get('content', '') | b64decode }}" rgw_frontend_cert: "{{ slurp_cert.get('content', '') | b64decode }}"
when: when: