Merge "Fix ceph pool creation failure" into stable/wallaby

This commit is contained in:
Zuul 2023-03-22 20:08:17 +00:00 committed by Gerrit Code Review
commit d10cee487a
13 changed files with 68 additions and 3 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')
command_exec = [container_binary, 'run']
fsid = ''
if 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',
'--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/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_cluster: 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_container_ns: "quay.io/ceph"
tripleo_cephadm_container_image: "ceph"

View File

@ -14,6 +14,12 @@
# License for the specific language governing permissions and limitations
# under the License.
- name: Stat cephadm config home container directory
stat:
path: "{{ tripleo_cephadm_config_home_container }}"
register: tripleo_cephadm_config_home_container_stat
become: true
- name: Set ceph CLI
set_fact:
tripleo_cephadm_ceph_cli: >-
@ -24,7 +30,11 @@
{% if sensitive_data|default(false) %}
--interactive
{% endif %}
{% if tripleo_cephadm_config_home_container_stat.stat.exists %}
--volume {{ tripleo_cephadm_config_home_container }}:/etc/ceph:z
{% else %}
--volume {{ tripleo_cephadm_config_home }}:/etc/ceph:z
{% endif %}
{% if not external_cluster|default(false) -%}
--volume {{ tripleo_cephadm_assimilate_conf }}:{{ tripleo_cephadm_assimilate_conf_container }}:z
{% endif %}

View File

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

View File

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

View File

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

View File

@ -17,7 +17,16 @@
# Assumes the following module is in ANSIBLE_LIBRARY=/usr/share/ansible/library/
# https://github.com/ceph/ceph-ansible/blob/master/library/ceph_key.py
- name: create cephx key(s)
- name: Prepare tripleo_ceph_key_dest
set_fact:
tripleo_ceph_key_dest: >-
{%- if tripleo_cephadm_config_home_container_stat.stat.exists -%}
{{ tripleo_cephadm_config_home_container }}
{%- else -%}
{{ tripleo_cephadm_config_home }}
{%- endif -%}
- name: Create cephx key(s)
ceph_key:
import_key: true
name: "{{ item.name }}"
@ -25,14 +34,39 @@
mode: "{{ item.mode }}"
secret: "{{ item.key | default('') }}"
cluster: "{{ tripleo_cephadm_cluster }}"
dest: "{{ tripleo_cephadm_config_home }}"
dest: "{{ tripleo_ceph_key_dest }}"
owner: "{{ tripleo_cephadm_uid }}"
group: "{{ tripleo_cephadm_uid }}"
environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
become: true
loop: "{{ tripleo_cephadm_keys }}"
when:
- tripleo_cephadm_keys is defined
- 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
- tripleo_cephadm_config_home_container_stat.stat.exists | bool
- 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 }}"
when: tripleo_cephadm_config_home_container_stat.stat.exists | bool

View File

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

View File

@ -78,6 +78,7 @@
environment:
CEPH_CONTAINER_IMAGE: "{{ tripleo_cephadm_container_ns + '/' + tripleo_cephadm_container_image + ':' + tripleo_cephadm_container_tag }}"
CEPH_CONTAINER_BINARY: "{{ tripleo_cephadm_container_cli }}"
CEPH_FSID: "{{ tripleo_cephadm_fsid }}"
with_items:
- {"daemon": "grafana", "port": "{{ tripleo_cephadm_grafana_port | default(3100) }}"}
- {"daemon": "prometheus", "port": "{{ tripleo_cephadm_prometheus_port | default(9092) }}"}

View File

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

View File

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

View File

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

View File

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