|
1 | 1 | --- |
2 | | -- block: |
3 | | - - name: Testing privilege escalation |
4 | | - raw: "true" |
5 | | - become: true |
6 | | - failed_when: false |
7 | | - changed_when: false |
8 | | - register: privilege_escalation_result |
9 | | - |
10 | | - - name: Assert that we can escalate privileges |
11 | | - assert: |
12 | | - that: |
13 | | - - privilege_escalation_result is success |
14 | | - - '"password is required" not in privilege_escalation_result.stderr' |
15 | | - fail_msg: >- |
16 | | - Could not escalate privileges. You can either: set kayobe_control_host_become: true, |
17 | | - set ansible_become_password, or set up passwordless sudo. |
18 | | - when: kayobe_control_host_become | bool |
19 | | - |
20 | | -- name: Include OS family-specific variables |
21 | | - include_vars: "{{ ansible_facts.os_family }}.yml" |
22 | | - |
23 | | -- name: Gather the package facts |
24 | | - ansible.builtin.package_facts: |
25 | | - manager: auto |
26 | | - |
27 | | -- block: |
28 | | - - name: Assert that all packages are installed if not using privilege escalation |
29 | | - assert: |
30 | | - that: missing_packages is falsy |
31 | | - fail_msg: >- |
32 | | - The following packages are missing from your system: {{ missing_packages | join(', ') }} and |
33 | | - privilege escalation is disabled. Please get your system administator to install these packages |
34 | | - or enable kayobe_control_host_become. |
35 | | - when: not kayobe_control_host_become | bool |
36 | | - |
37 | | - - name: Ensure required packages are installed |
38 | | - package: |
39 | | - name: "{{ bootstrap_package_dependencies }}" |
40 | | - state: present |
41 | | - cache_valid_time: "{{ apt_cache_valid_time if ansible_facts.os_family == 'Debian' else omit }}" |
42 | | - update_cache: "{{ True if ansible_facts.os_family == 'Debian' else omit }}" |
43 | | - become: True |
44 | | - when: missing_packages is truthy |
45 | | - vars: |
46 | | - missing_packages: "{{ bootstrap_package_dependencies | difference(ansible_facts.packages.keys()) }}" |
47 | | - |
48 | 2 | - name: Check whether an SSH key exists |
49 | 3 | stat: |
50 | 4 | path: "{{ bootstrap_ssh_private_key_path }}" |
|
0 commit comments