From 77214cbda4b5249bb790e6fd59f1909dd09809dd Mon Sep 17 00:00:00 2001 From: Noriko Hosoi Date: Tue, 21 Mar 2023 09:58:10 -0700 Subject: [PATCH] Fingerprint RHEL System Role managed config files - Add role name to the generated config files. # system_role:network Signed-off-by: Noriko Hosoi --- templates/get_ansible_managed.j2 | 1 + tests/tasks/assert_profile_present.yml | 5 +++++ tests/tasks/get_profile_stat.yml | 16 ++++++++++++++++ 3 files changed, 22 insertions(+) diff --git a/templates/get_ansible_managed.j2 b/templates/get_ansible_managed.j2 index 5c02948..a3a8b7f 100644 --- a/templates/get_ansible_managed.j2 +++ b/templates/get_ansible_managed.j2 @@ -1 +1,2 @@ {{ ansible_managed | comment }} +{{ "system_role:network" | comment(prefix="", postfix="") }} diff --git a/tests/tasks/assert_profile_present.yml b/tests/tasks/assert_profile_present.yml index 7fc30e8..7c08405 100644 --- a/tests/tasks/assert_profile_present.yml +++ b/tests/tasks/assert_profile_present.yml @@ -10,3 +10,8 @@ assert: that: lsr_net_profile_ansible_managed msg: "profile {{ profile }} does not have the ansible managed comment" + +- name: Assert that the fingerprint comment is present in {{ profile }} + assert: + that: lsr_net_profile_fingerprint + msg: "profile {{ profile }} does not have the fingerprint comment" diff --git a/tests/tasks/get_profile_stat.yml b/tests/tasks/get_profile_stat.yml index 10f3ce1..f4f501e 100644 --- a/tests/tasks/get_profile_stat.yml +++ b/tests/tasks/get_profile_stat.yml @@ -4,6 +4,7 @@ set_fact: lsr_net_profile_exists: false lsr_net_profile_ansible_managed: false + lsr_net_profile_fingerprint: false - name: Stat profile file stat: @@ -28,6 +29,7 @@ changed_when: false # lsr_net_profile_ansible_managed: +# lsr_net_profile_fingerprint: # under NetworkManager's control, the comment is not added by design. # Thus, set it always to true. - name: >- @@ -36,6 +38,7 @@ set_fact: lsr_net_profile_exists: true lsr_net_profile_ansible_managed: true + lsr_net_profile_fingerprint: true when: nm_profile_exists.rc == 0 - name: Check ansible_managed comment for the initscripts case @@ -55,3 +58,16 @@ lsr_net_profile_ansible_managed: true when: - _result.stdout_lines | length == 1 + + - name: Get the fingerprint comment in ifcfg-{{ profile }} + command: >- + grep "^# system_role:network" + /etc/sysconfig/network-scripts/ifcfg-{{ profile }} + register: _result + changed_when: false + + - name: Verify the fingerprint comment in ifcfg-{{ profile }} + set_fact: + lsr_net_profile_fingerprint: true + when: + - _result.stdout_lines | length == 1