aboutsummaryrefslogtreecommitdiff
path: root/roles/cephadm
diff options
context:
space:
mode:
authorMichal Nasiadka <mnasiadka@gmail.com>2026-01-07 11:10:37 +0100
committerMichal Nasiadka <mnasiadka@gmail.com>2026-01-09 08:34:19 +0000
commitc8ea844b2b31cfc0446b6174e6b033a4036b9750 (patch)
tree29d2ef8215f7b7b5a426ff6e34bfdcc160bcd542 /roles/cephadm
parent7d89d6afbef6fcb352c30f9fe04a72fbeca1f18f (diff)
downloadkolla-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.yml33
-rw-r--r--roles/cephadm/tasks/pkg_debian.yml10
-rw-r--r--roles/cephadm/tasks/pkg_redhat.yml12
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