diff options
| author | clyhtsuriva <aimeric@adjutor.xyz> | 2025-12-25 21:22:40 +0100 |
|---|---|---|
| committer | clyhtsuriva <aimeric@adjutor.xyz> | 2025-12-25 21:22:40 +0100 |
| commit | 7b618d5cfe057b43df036698472dada120f5c057 (patch) | |
| tree | 14d836cac1056d60a1d490d85c14e061478af4d3 | |
| parent | 85159d5a9f7d865684cd99cb774cef5f6984c940 (diff) | |
- Update all ansible_* fact references to use ansible_facts['fact_name'] syntax as required by upcoming Ansible 2.24 changes
- Set INJECT_FACTS_AS_VARS = False in ansible.cfg to prepare for deprecation
- Document known issue with community.proxmox _collections_compat warning"
- Fix community.proxmox plugin name in inventory configuration
- Add requirements.yml for collection dependencies
| -rw-r--r-- | ansible/README.md | 5 | ||||
| -rw-r--r-- | ansible/ansible.cfg | 5 | ||||
| -rw-r--r-- | ansible/inventory.proxmox.yaml | 2 | ||||
| -rw-r--r-- | ansible/requirements.yml | 7 | ||||
| -rw-r--r-- | ansible/roles/docker/tasks/install_docker.yml | 6 | ||||
| -rw-r--r-- | ansible/roles/k8s/tasks/install_k3s_worker.yml | 2 | ||||
| -rw-r--r-- | ansible/roles/update_system/tasks/main.yml | 4 |
7 files changed, 24 insertions, 7 deletions
diff --git a/ansible/README.md b/ansible/README.md index 2db4ee2..bddd6df 100644 --- a/ansible/README.md +++ b/ansible/README.md @@ -5,3 +5,8 @@ This folder contains Ansible playbooks and roles for configuration management. ## Structure - **roles/**: Reusable Ansible roles (e.g., Docker, Nginx). - **playbooks/**: Playbooks for orchestrating tasks. + +## Known Issue +- `community.proxmox` v1.4.0 shows deprecation warning about `_collections_compat` +- Fix is in PR #242, awaiting release +- Warning will disappear when collection is updated diff --git a/ansible/ansible.cfg b/ansible/ansible.cfg index 4c15ae0..9318edc 100644 --- a/ansible/ansible.cfg +++ b/ansible/ansible.cfg @@ -7,3 +7,8 @@ retry_files_enabled = False inventory = ./inventory.proxmox.yaml vault_password_file = ./.vault_password interpreter_python = auto_silent + +# INJECT_FACTS_AS_VARS default to `True` is deprecated, +# top-level facts will not be auto injected after the change. +# This feature will be removed from ansible-core version 2.24. +INJECT_FACTS_AS_VARS = False diff --git a/ansible/inventory.proxmox.yaml b/ansible/inventory.proxmox.yaml index cd0699b..1b4fb6f 100644 --- a/ansible/inventory.proxmox.yaml +++ b/ansible/inventory.proxmox.yaml @@ -1,5 +1,5 @@ --- -plugin: community.general.proxmox +plugin: community.proxmox.proxmox url: https://pve.vpn:8006 validate_certs: false want_facts: true diff --git a/ansible/requirements.yml b/ansible/requirements.yml new file mode 100644 index 0000000..bbb2a03 --- /dev/null +++ b/ansible/requirements.yml @@ -0,0 +1,7 @@ +--- +collections: + - name: community.general + version: ">=12.1.0" + - name: community.proxmox + version: ">=1.4.0" +... diff --git a/ansible/roles/docker/tasks/install_docker.yml b/ansible/roles/docker/tasks/install_docker.yml index 3179618..38c56c1 100644 --- a/ansible/roles/docker/tasks/install_docker.yml +++ b/ansible/roles/docker/tasks/install_docker.yml @@ -1,8 +1,8 @@ --- - name: Set Docker repository variables based on OS ansible.builtin.set_fact: - docker_repo: "{{ docker_repos[ansible_distribution] }}" - docker_gpg_key_url: "{{ docker_gpg_keys[ansible_distribution] }}" + docker_repo: "{{ docker_repos[ansible_facts['distribution']] }}" + docker_gpg_key_url: "{{ docker_gpg_keys[ansible_facts['distribution']] }}" - name: Install required dependencies ansible.builtin.apt: @@ -27,7 +27,7 @@ ansible.builtin.apt_repository: repo: >- deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] - {{ docker_repo }} {{ ansible_distribution_release }} stable + {{ docker_repo }} {{ ansible_facts['distribution_release'] }} stable state: present filename: docker diff --git a/ansible/roles/k8s/tasks/install_k3s_worker.yml b/ansible/roles/k8s/tasks/install_k3s_worker.yml index b550b88..eda028b 100644 --- a/ansible/roles/k8s/tasks/install_k3s_worker.yml +++ b/ansible/roles/k8s/tasks/install_k3s_worker.yml @@ -2,7 +2,7 @@ - name: Retrieve k3s token and master IP from master node ansible.builtin.set_fact: k3s_token: "{{ hostvars[groups['tag_k3s_master'][0]].k3s_token }}" - k3s_master_ip: "{{ hostvars[groups['tag_k3s_master'][0]].ansible_default_ipv4.address }}" + k3s_master_ip: "{{ hostvars[groups['tag_k3s_master'][0]].ansible_facts['default_ipv4']['address'] }}" when: hostvars[groups['tag_k3s_master'][0]].k3s_token is defined - name: Ensure /opt/k3s directory exists diff --git a/ansible/roles/update_system/tasks/main.yml b/ansible/roles/update_system/tasks/main.yml index 6195d64..b83dca4 100644 --- a/ansible/roles/update_system/tasks/main.yml +++ b/ansible/roles/update_system/tasks/main.yml @@ -4,7 +4,7 @@ update_cache: true upgrade: true autoremove: true - when: ansible_pkg_mgr == "apt" + when: ansible_facts['pkg_mgr'] == "apt" - name: Update and upgrade system packages (RedHat-based) ansible.builtin.dnf: @@ -12,5 +12,5 @@ name: "*" state: present autoremove: true - when: ansible_pkg_mgr == "dnf" + when: ansible_facts['pkg_mgr'] == "dnf" ... |
