diff --git a/ansible/ansible.cfg b/ansible/ansible.cfg index 65e6c38..4351528 100644 --- a/ansible/ansible.cfg +++ b/ansible/ansible.cfg @@ -1,5 +1,5 @@ [defaults] -roles_path=roles +roles_path=~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:roles inventory=inventory vault_password_file=util/secret-service-client.sh interpreter_python=/usr/bin/python3 diff --git a/ansible/hermes.yml b/ansible/hermes.yml index 49ff96d..83be269 100644 --- a/ansible/hermes.yml +++ b/ansible/hermes.yml @@ -1,44 +1,28 @@ ---- -- hosts: all +- name: Wait for cloud-init to finish + hosts: all gather_facts: no + roles: + - 'cloudinit-wait' +- name: Install services + hosts: all pre_tasks: - - name: Wait for host to come up - tags: always - block: - - name: Wait for SSH connection - wait_for: - state: started - port: 22 - host: "192.168.30.7" - timeout: 300 - connect_timeout: 300 - search_regex: OpenSSH - delegate_to: localhost - - name: Wait for cloud-init to finish - command: - cmd: cloud-init status --wait - register: cloudinit - changed_when: "'..' in cloudinit.stdout" - - name: Gather facts - setup: - - name: Copy resolv.conf - copy: - src: resolv.conf - dest: /etc/resolv.conf - - name: Update repositories - apt: - autoremove: true - upgrade: yes - state: latest - update_cache: yes - cache_valid_time: 86400 # One day - - name: Install packages - apt: - pkg: - - qemu-guest-agent - - dnsutils - + - name: Copy resolv.conf + copy: + src: resolv.conf + dest: /etc/resolv.conf + - name: Update repositories + apt: + autoremove: true + upgrade: yes + state: latest + update_cache: yes + cache_valid_time: 86400 # One day + - name: Install packages + apt: + pkg: + - qemu-guest-agent + - dnsutils roles: - {role: 'dnsmasq', tags: 'dnsmasq'} - {role: 'nsd', tags: 'nsd'} diff --git a/ansible/requirements.yml b/ansible/requirements.yml new file mode 100644 index 0000000..5530c9f --- /dev/null +++ b/ansible/requirements.yml @@ -0,0 +1,3 @@ +- name: cloudinit-wait + src: https://git.pim.kunis.nl/pim/ansible-role-cloudinit-wait + scm: git