Skip to content

Commit

Permalink
test_host_random: No jinja2 templating in conditional statements
Browse files Browse the repository at this point in the history
With ansible-core 2.14.12 using jinja2 templating in conditional
statements with ansible_facts['fqdn'] is marked as unsafe and results in
a failure.

The issues with using jinja2 templating in conditional statements for
asserts have been solved and a new server_fqdn fact has been added for
ansible_facts['fqdn'].
  • Loading branch information
t-woerner committed Dec 6, 2023
1 parent 48c0fd0 commit 2c9ee7d
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions tests/host/test_host_random.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
ansible.builtin.set_fact:
host1_fqdn: "{{ 'host1.' + ipaserver_domain }}"
host2_fqdn: "{{ 'host2.' + ipaserver_domain }}"
server_fqdn: "{{ ansible_facts['fqdn'] }}"

- name: Test hosts absent
ipahost:
Expand Down Expand Up @@ -86,10 +87,8 @@
- name: Assert randompassword is defined for host1 and host2.
ansible.builtin.assert:
that:
- ipahost.host["{{ host1_fqdn }}"].randompassword is
defined
- ipahost.host["{{ host2_fqdn }}"].randompassword is
defined
- ipahost.host[host1_fqdn].randompassword is defined
- ipahost.host[host2_fqdn].randompassword is defined

- name: Print generated random password for "{{ host1_fqdn }}"
ansible.builtin.debug:
Expand All @@ -99,11 +98,11 @@
ansible.builtin.debug:
var: ipahost.host["{{ host2_fqdn }}"].randompassword

- name: Enrolled host "{{ ansible_facts['fqdn'] }}" fails to set random password with update_password always
- name: Enrolled host "{{ server_fqdn }}" fails to set random password with update_password always
ipahost:
ipaadmin_password: SomeADMINpassword
hosts:
- name: "{{ ansible_facts['fqdn'] }}"
- name: "{{ server_fqdn }}"
random: yes
update_password: always
register: ipahost
Expand All @@ -112,8 +111,7 @@
- name: Assert randompassword is not defined for 'ansible_fqdn'.
ansible.builtin.assert:
that:
- ipahost.host["{{ ansible_facts['fqdn'] }}"].randompassword is
not defined
- ipahost.host[server_fqdn].randompassword is not defined
- "'Password cannot be set on enrolled host' in ipahost.msg"

- name: Hosts "{{ host1_fqdn }}" and "{{ host2_fqdn }}" absent
Expand Down

0 comments on commit 2c9ee7d

Please sign in to comment.