67 lines
1.9 KiB
YAML
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
|