diff options
| author | Michal Nasiadka <mnasiadka@gmail.com> | 2026-01-07 11:10:37 +0100 |
|---|---|---|
| committer | Michal Nasiadka <mnasiadka@gmail.com> | 2026-01-09 08:34:19 +0000 |
| commit | c8ea844b2b31cfc0446b6174e6b033a4036b9750 (patch) | |
| tree | 29d2ef8215f7b7b5a426ff6e34bfdcc160bcd542 /roles/cephadm | |
| parent | 7d89d6afbef6fcb352c30f9fe04a72fbeca1f18f (diff) | |
| download | kolla-ansible-c8ea844b2b31cfc0446b6174e6b033a4036b9750.tar.gz kolla-ansible-c8ea844b2b31cfc0446b6174e6b033a4036b9750.zip | |
ansible-lint: Rework validate-all-file into custom rules
Test roles/ subdirectories as well (used by Zuul)
In addition to that container_exec_become will also
fail when "docker exec" or "podman exec" will be used
instead of "{{ kolla_container_engine }} exec"
Generated-By: Claude
Change-Id: I75c1e48c36bb0284e2927b1cb354ce9ec47967d7
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
Diffstat (limited to 'roles/cephadm')
| -rw-r--r-- | roles/cephadm/tasks/main.yml | 33 | ||||
| -rw-r--r-- | roles/cephadm/tasks/pkg_debian.yml | 10 | ||||
| -rw-r--r-- | roles/cephadm/tasks/pkg_redhat.yml | 12 |
3 files changed, 32 insertions, 23 deletions
diff --git a/roles/cephadm/tasks/main.yml b/roles/cephadm/tasks/main.yml index 63ba7b0e3..7f0133779 100644 --- a/roles/cephadm/tasks/main.yml +++ b/roles/cephadm/tasks/main.yml @@ -1,39 +1,43 @@ --- -- include_tasks: pkg_{{ ansible_os_family | lower }}.yml +- name: Include package installation + include_tasks: pkg_{{ ansible_os_family | lower }}.yml - name: Ensure /etc/ceph exists file: path: /etc/ceph state: directory - become: True + mode: "0755" + become: true - name: Generate ssh key for cephadm openssh_keypair: path: "/etc/ceph/cephadm.id" + mode: "0600" size: 4096 comment: "cephadm" - become: True + become: true register: cephadm_ssh_key - name: Save public key copy: content: "{{ cephadm_ssh_key.public_key }}" dest: /etc/ceph/cephadm.pub - become: True + mode: "0644" + become: true - name: Copy cephadm public key to all hosts authorized_key: user: root state: present key: "{{ cephadm_ssh_key.public_key }}" - become: True + become: true with_inventory_hostnames: - all delegate_to: "{{ item }}" - name: Bootstrap cephadm vars: - mon_ip: "{{ hostvars[inventory_hostname]['ansible_' + api_interface_name | replace('-','_')].ipv4.address }}" + mon_ip: "{{ hostvars[inventory_hostname]['ansible_' + api_interface_name | replace('-', '_')].ipv4.address }}" command: cmd: > cephadm @@ -46,7 +50,8 @@ --skip-firewalld --log-to-file --mon-ip {{ mon_ip }} - become: True + become: true + changed_when: true register: cephadm_bootstrap_output - name: Get ceph fsid @@ -59,20 +64,23 @@ template: src: templates/cephadm.yml.j2 dest: "/var/run/ceph/{{ ceph_fsid }}/cluster.yml" - become: True + mode: "0600" + become: true - name: Template out command spec template: src: templates/commands.sh.j2 dest: "/var/run/ceph/{{ ceph_fsid }}/commands.sh" - become: True + mode: "0600" + become: true - name: Run commands command: cmd: > cephadm shell -- bash -x /var/run/ceph/commands.sh - become: True + become: true + changed_when: true # TODO(mnasiadka): Fix merge_configs to support tabs - name: Generate ceph.conf without tabs @@ -80,8 +88,9 @@ ceph_conf_fixed: | [global] fsid = {{ ceph_fsid }} - mon_host = {% for host in groups['all'] %} {{ hostvars[host]['ansible_' + api_interface_name | replace('-','_')].ipv4.address }} {% if not loop.last %},{% endif %} {% endfor %} + mon_host = {% for host in groups['all'] %} {{ hostvars[host]['ansible_' + api_interface_name | replace('-', '_')].ipv4.address }} {% if not loop.last %},{% endif %} {% endfor %} copy: content: "{{ ceph_conf_fixed }}" dest: "/etc/ceph/ceph.conf.fixed" - become: True + mode: "0644" + become: true diff --git a/roles/cephadm/tasks/pkg_debian.yml b/roles/cephadm/tasks/pkg_debian.yml index da1747982..92dd08221 100644 --- a/roles/cephadm/tasks/pkg_debian.yml +++ b/roles/cephadm/tasks/pkg_debian.yml @@ -1,23 +1,23 @@ --- - name: Ensure apt sources list directory exists + become: true file: path: /etc/apt/sources.list.d state: directory - recurse: yes - become: True + recurse: true - name: Enable Ceph apt repository + become: true apt_repository: repo: "{{ cephadm_ceph_apt_repo }}" filename: ceph - become: True when: not cephadm_use_package_from_distribution | bool - name: Install cephadm + become: true apt: name: - cephadm - python3-jinja2 - python3-yaml - install_recommends: False - become: True + install_recommends: false diff --git a/roles/cephadm/tasks/pkg_redhat.yml b/roles/cephadm/tasks/pkg_redhat.yml index af8c747b8..9f679c9f1 100644 --- a/roles/cephadm/tasks/pkg_redhat.yml +++ b/roles/cephadm/tasks/pkg_redhat.yml @@ -1,32 +1,32 @@ --- - name: Ensure yum repos directory exists + become: true file: path: /etc/yum.repos.d/ state: directory - recurse: yes - become: True + recurse: true - name: Install centos-release-ceph + become: true dnf: name: "centos-release-ceph-{{ cephadm_ceph_release }}" - become: True when: cephadm_use_package_from_distribution - name: Enable Ceph base yum repository + become: true yum_repository: name: "{{ item.shortname }}" description: "{{ item.name }}" baseurl: "{{ item.url }}" gpgkey: "{{ cephadm_ceph_rpm_gpg_key }}" loop: "{{ cephadm_ceph_rpm_repos }}" - become: True when: not cephadm_use_package_from_distribution # NOTE(mnasiadka): cephadm bootstrap failing on jinja2 missing - name: Install cephadm and jinja2 + become: true dnf: name: - cephadm - python3-jinja2 - install_weak_deps: False - become: True + install_weak_deps: false |
