Ensure cloud-init has finished before puppet run
Sometimes cloud-init does not finish before we start applying configs with ansible/puppet and can lead to issues. This would ensure that cloud-init has finished before ansible/puppet configs. With os-collect-config we used to ensure that with: $ sudo cat /usr/lib/systemd/system/os-collect-config.service [Unit] Description=Collect metadata and run hook commands. After=cloud-final.service Before=crond.service With baremetal provisioning after config-drive support, this would also be useful when firstboot config is used. Change-Id: I35c7c1610af08b33497f43090761aaa55d3a9efc
This commit is contained in:
parent
d04421d48a
commit
1879441b3c
@ -7,6 +7,20 @@
|
|||||||
- name: Ensure /var/log/journal exists
|
- name: Ensure /var/log/journal exists
|
||||||
become: true
|
become: true
|
||||||
file: path=/var/log/journal state=directory mode=0750 owner=root group=root setype=var_log_t
|
file: path=/var/log/journal state=directory mode=0750 owner=root group=root setype=var_log_t
|
||||||
|
- name: Populate service facts
|
||||||
|
service_facts:
|
||||||
|
- name: Wait for cloud-init to finish, if enabled
|
||||||
|
cloud_init_data_facts:
|
||||||
|
filter: status
|
||||||
|
register: res
|
||||||
|
until: >
|
||||||
|
res.cloud_init_data_facts.status.v1.stage is defined and
|
||||||
|
not res.cloud_init_data_facts.status.v1.stage
|
||||||
|
retries: 50
|
||||||
|
delay: 5
|
||||||
|
when: >
|
||||||
|
'cloud-init.service' in ansible_facts.services and
|
||||||
|
ansible_facts.services['cloud-init.service']['status'] == 'enabled'
|
||||||
- name: Create /var/lib/container-puppet
|
- name: Create /var/lib/container-puppet
|
||||||
become: true
|
become: true
|
||||||
no_log: True
|
no_log: True
|
||||||
|
Loading…
Reference in New Issue
Block a user