• Test locally a playbook
1ansible-pull -U https://github.com/MozeBaltyk/Okub.git ./playbooks/tasks/provision.yml
  • Inside a cloud-init
 1#cloud-config
 2timezone: ${timezone}
 3
 4packages:
 5  - qemu-guest-agent
 6  - git
 7
 8package_update: true
 9package_upgrade: true
10
11
12## Test 1
13ansible:
14  install_method: pip
15  package_name: ansible-core
16  run_user: ansible
17  galaxy:
18    actions:
19      - ["ansible-galaxy", "collection", "install", "community.general"]
20      - ["ansible-galaxy", "collection", "install", "ansible.posix"]
21      - ["ansible-galaxy", "collection", "install", "ansible.utils"]
22  pull:
23    playbook_name: ./playbooks/tasks/provision.yml
24    url: "https://github.com/MozeBaltyk/Okub.git"
25
26## Test 2
27ansible:
28  install_method: pip
29  package_name: ansible
30  #run_user only with install_method: pip
31  run_user: ansible
32  setup_controller:
33    repositories:
34      - path: /home/ansible/Okub
35        source: https://github.com/MozeBaltyk/Okub.git
36    run_ansible:
37      - playbook_dir: /home/ansible/Okub
38        playbook_name: ./playbooks/tasks/provision.yml
39########
  • Troubleshooting
1systemctl --failed
2systemctl list-jobs --after
3journalctl -e

Checks user-data and config:

1[root@bastion ~]# sudo cloud-init schema --system
2Found cloud-config data types: user-data, network-config
3
41. user-data at /var/lib/cloud/instances/nocloud/cloud-config.txt:
5  Valid schema user-data
6
72. network-config at /var/lib/cloud/instances/nocloud/network-config.json:
8  Valid schema network-config

Few troubleshooting commands:

1sudo cloud-init status --long
2
3sudo cloud-init schema --system
4
5sudo cat /var/lib/cloud/instance/user-data.txt

Rerun ansible part :

1cloud-init single --name cc_ansible

Checks which step take the most time:

1cloud-init analyze blame