Skip to content

Commit ba8fef6

Browse files
Add diff logic to identity-management playbook (#32)
* Add diff logic to identity-management playbook * Remove filters for inventory files
1 parent 29236d6 commit ba8fef6

File tree

3 files changed

+28
-3
lines changed

3 files changed

+28
-3
lines changed
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
---
22

3-
generate_name: true

inventory-generation/identity-management/main.yml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
when:
1818
- governor_name is undefined or (governor_name | trim) == ""
1919

20+
- name: Generate Timestamp
21+
set_fact:
22+
inv_ts: " {{ lookup('pipe','date +%Y%m%d%H%M%S') }}"
23+
2024
- name: Read Engagement Data
2125
include_vars:
2226
file: "{{ directory }}/engagement.json"
@@ -73,6 +77,26 @@
7377
users: "{{ users }}"
7478
groups: "{{ usrgrp }}"
7579

80+
- name: "Check For Existing Inventory File"
81+
stat:
82+
path: "{{ directory }}/iac/inventories/identity-management/inventory/group_vars/all.yml"
83+
register: existing_inv
84+
85+
- name: "Pull existing inventory vars"
86+
include_vars:
87+
file: "{{ directory }}/iac/inventories/identity-management/inventory/group_vars/all.yml"
88+
name: existing_inv_contents
89+
when:
90+
- existing_inv.stat.exists
91+
92+
- name: "Diff existing vars with new inventory"
93+
set_fact:
94+
inv_has_diff: true
95+
when:
96+
- existing_inv.stat.exists
97+
- existing_inv_contents is defined
98+
- existing_inv_contents != (claim_content | from_yaml)
99+
76100
- name: "Write inventory to file"
77101
copy:
78102
content: "{{ claim_content | to_nice_yaml(indent=2) }}"
@@ -86,4 +110,6 @@
86110
- name: "Create ResourceClaim"
87111
copy:
88112
content: "{{ lookup('template', inventory_dir + '/../files/templates/resourceclaim.yaml.j2') }}"
89-
dest: "{{ directory }}/ocp-init/id-mgmt.yaml"
113+
dest: "{{ directory }}/ocp-init/id-mgmt-{{ inv_ts | trim }}.yaml"
114+
when:
115+
- (inv_has_diff is defined and inv_has_diff is true) or not existing_inv.stat.exists

templates/resourceclaim.yaml.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
apiVersion: poolboy.gpte.redhat.com/v1
55
kind: ResourceClaim
66
metadata:
7-
name: {{ governor_name }}-{{ project_id }}{% if (generate_name | default(false)) %}-{{ (999 | random | to_uuid) }}{% endif %}
7+
name: {{ governor_name }}-{{ project_id }}{% if inv_ts is defined %}-{{ inv_ts | trim }}{% endif %}
88
spec:
99
resources:
1010
- template:

0 commit comments

Comments
 (0)