Files
toallab-automation/roles/oatakan.rhel_template_build/tasks/cloud-init.yml

67 lines
1.9 KiB
YAML

---
- name: ensure cloud-init packages are installed
ansible.builtin.package:
name:
- cloud-init
- cloud-utils-growpart
- gdisk
- name: enable cloud-init related services
ansible.builtin.service:
name: '{{ item }}'
enabled: true
loop:
- cloud-init
- cloud-init-local
- cloud-config
- cloud-final
when: ansible_distribution_major_version|int >= 9
- name: cloud-init config
block:
- name: check for cloud.cfg file
ansible.builtin.stat:
path: /etc/cloud/cloud.cfg
register: check_cloud_cfg
- name: ensure root login
block:
- name: ensure root login is enabled in cloud-init config
ansible.builtin.replace:
path: /etc/cloud/cloud.cfg
regexp: '^(disable_root\: ).*$'
replace: '\1false'
- name: ensure password login is enabled in cloud-init config
ansible.builtin.replace:
path: /etc/cloud/cloud.cfg
regexp: '^(ssh_pwauth\: ).*$'
replace: '\1true'
when: check_cloud_cfg.stat.exists
when: permit_root_login_with_password|bool
- name: ensure script created
block:
- name: ensure cloud-init scripts directory exists
ansible.builtin.file:
path: /var/lib/cloud/scripts/per-instance
state: directory
mode: '0755'
- name: create growpart cloud-init script to grow partition on boot
ansible.builtin.template:
src: grow_part.sh.j2
dest: /var/lib/cloud/scripts/per-instance/grow_part.sh
mode: u=rwx,g=rx,o=rx
# when:
# - ansible_lvm is defined
# - ansible_lvm.lvs is defined
# - ansible_lvm.lvs[the_root_lvname] is defined
# - ansible_lvm.lvs[the_root_lvname].vg is defined
# - ansible_lvm.vgs is defined
# - ansible_lvm.pvs is defined
# - ansible_cmdline is defined
# - ansible_cmdline.root is defined
# - ansible_lvm.lvs[the_root_lvname].vg in ansible_cmdline.root