aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclyhtsuriva <aimeric@adjutor.xyz>2025-12-25 21:22:40 +0100
committerclyhtsuriva <aimeric@adjutor.xyz>2025-12-25 21:22:40 +0100
commit7b618d5cfe057b43df036698472dada120f5c057 (patch)
tree14d836cac1056d60a1d490d85c14e061478af4d3
parent85159d5a9f7d865684cd99cb774cef5f6984c940 (diff)
ansible: fix deprecation warnings and update configurationHEADmaster
- 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.md5
-rw-r--r--ansible/ansible.cfg5
-rw-r--r--ansible/inventory.proxmox.yaml2
-rw-r--r--ansible/requirements.yml7
-rw-r--r--ansible/roles/docker/tasks/install_docker.yml6
-rw-r--r--ansible/roles/k8s/tasks/install_k3s_worker.yml2
-rw-r--r--ansible/roles/update_system/tasks/main.yml4
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"
...