Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 18 additions & 4 deletions roles/ocp4_workload_multi_tenant_loop/tasks/provision_user.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
# =========================================================================
# Run all tenant workloads for a single user (Phase 1).
#
# VARIABLE SCOPING:
Expand All @@ -17,7 +16,6 @@
#
# No agnosticd_user_info calls here — registration is in Phase 2.
# See workload.yml header for why two-phase is necessary.
# =========================================================================

- name: "Set identity: {{ tenant_user_prefix ~ _tenant_user_num }}"
ansible.builtin.set_fact:
Expand Down Expand Up @@ -94,9 +92,25 @@
dest: "{{ output_dir }}/provision-user-data.yaml"
mode: '0644'

- name: "Reset _showroom_user_data fact to prevent dirty in-memory combine: {{ _tenant_username }}"
- name: "Strip users key from _showroom_user_data fact to prevent dirty in-memory combine: {{ _tenant_username }}"
# Remove ONLY the users key — resetting to {} would wipe role defaults such as
# bastion_public_hostname: 'test_hostname' (from showroom vars/main.yml), breaking
# labs without a bastion (e.g. DevSpaces-only labs). Stripping just the users key
# is sufficient: combine() in prepare_variables.yaml then merges from a clean slate
# that still carries role-level defaults.
when:
- _showroom_user_data is defined
- _showroom_user_data is mapping
- _showroom_user_data.users is defined
ansible.builtin.set_fact:
_showroom_user_data: {}
_showroom_user_data: >-
{{
_showroom_user_data
| dict2items
| rejectattr('key', 'equalto', 'users')
| list
| items2dict
}}
# ─────────────────────────────────────────────────────────────────────────────

- name: "Provision workloads: {{ _tenant_username }}"
Expand Down
Loading