0

I'm having difficulties with the following setup:

  • AWX deployed in a self hosted k8s cluster
  • Playbooks are using the AWX-EE
  • Playbooks are executed in a workflow template as follows:

START -> 1. EC2 Inventory Sync -> 2. Playbook Repo Sync -> 3. Playbook Based EC2-Instance Creation (Job) -> 4. EC2 Inventory Sync -> 5. Run Playbook To Apply Roles

In case it is not self-explanatory: I'm trying to launch instances in aws and then provide them their corresponding system configuration.

The workflow template is configured with a survey, which asks the user for a customer id, ec2 instance class and environment ("mxenv"). From this point, the first playbook (3.) generates a hostname and saves it to the variable ("vpc_hostname"). I want this variable to be available in step 5.

So far I tried

(yaml file from step 3, excerpt)

  - ansible.builtin.set_fact:
      vpc_hostname: "{{ customer_id }}-frontend-01.{{ mxenv }}.example.com"
    delegate_to: localhost
    delegate_facts: true
  - ansible.builtin.set_stats:
      data:
        vpc_hostname: "{{ vpc_hostname }}"
      per_host: no

yaml file from step 5 (excerpt)

- name: Provisioning new instance starts now.
  hosts: "{{ tower_job_launch_data.artifacts.vpc_hostname }}"
  remote_user: loginuser
  become: true
  roles:
    - network

- name: Network settings done, applying software and system configuration
  hosts: "{{ tower_job_launch_data.artifacts.vpc_hostname }}"
  remote_user: loginuser
  become: true
  roles:
    - baseinfra
    - frontend

In the last file, I also tried

  hosts: "{{ workflow_job_artifacts.vpc_hostname }}"

as well as this in the first file:

      tower_job_launch_data:
        artifacts:
          vpc_hostname: "{{ vpc_hostname }}"

However, the artifacts section shown in the job overview in the gui remains empty after it failed and I'm left with this error:

ERROR! The field 'hosts' has an invalid value, which includes an undefined variable. The error was: 'tower_job_launch_data' is undefined. 'tower_job_launch_data' is undefined
The error appears to be in '/runner/project/post-frontend-launch.yml': line 2, column 3, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
---
- name: Provisioning new instance starts now.
  ^ here

Sitting in front of this for hours now, I'm quite clueless, also, I'm new to AWX - please ask anything that you need to get a sufficient overview :)

Marc
  • 26
  • 2

0 Answers0