4장. 순서 프로세스 워크플로우에서 대체 가능한 변수 활성화

순서 프로세스 워크플로에 사용된 제품 간에 변수를 대체할 수 있습니다. 대체 변수를 구현하려면 Ansible Tower에서 작업 템플릿 설문 조사를 생성 또는 편집하고 Automation Services Catalog의 제품에 첨부된 설문 조사를 대체할 수 있어야 합니다.

대체 형식 및 요구 사항

대체 값은 {{substitution_express}} 형식으로 표현되며, 중괄호와 표현식 사이에 공백을 사용할 수 없습니다. 대체에 사용할 수 있는 각 변수에 대한 정보는 대체 변수를 참조하십시오.

4.1. 순서 프로세스 워크플로에 대체 변수 구현

이 섹션에서는 이 가이드의 앞부분에서 제공한 플레이북 예제를 사용하여 플레이북에서 Automation Services Catalog에 노출하는 데이터를 대체 변수와 정렬하는 방법을 보여줍니다.

4.1.1. 제품 주문에 값을 전달하는 주문 프로세스 전 생성.

순서 전의 플레이북 before_order.yml 의 예

# This playbook prints a simple debug message and set_stats
- name: Echo Hello, world!
  hosts: localhost
  gather_facts: yes
  tasks:
    - debug:
        msg: "Hello, world!"

    - set_stats:
        data:
          expose_to_cloud_redhat_com_favorite_color: "orange"

이 플레이북은 Automation Services Catalog로 돌아가고 있는 플레이북 아티팩트 favorite_color돌아갑니다. 사용자 입력이 필요하지 않으므로 Ansible Tower에서 작업 템플릿 설문조사를 수행할 필요가 없습니다. 대신 주문 처리 전에 Automation Services Catalog에서 설문 조사를 편집하여 favorite_color 를 제품 플레이북에 전달할 수 있습니다.

4.1.2. 대체 변수를 사용하도록 제품 순서 구성

이 예제 제품 플레이북은 {{favorite_color}}의 대체 변수를 수락하고 다시 Automation Services Catalog에 아티팩트 'after_data'로 전달합니다.

플레이북 product_order.yml의 예

# This playbook prints a simple debug message with given information
- name: Echo Hello, world!
  hosts: localhost
  gather_facts: yes
  tasks:
    - debug:
        msg: "Hello, {{favorite_color}} world!"

    - set_stats:
        data:
          expose_to_cloud_redhat_com_after_data: "{{favorite_color}}"

'product_order.yml' 플레이북에 대한 Ansible Tower에 *Answer Variable Name으로 favorite_color 를 설정하는 작업 템플릿을 생성합니다.

다음을 포함하는 product_order.yml 작업 템플릿에 대한 설문조사를 생성합니다.

  1. 프롬프트 필드에 원하는 색상이 무엇입니까? 를 입력합니다.
  2. answer Variable Name 필드에 favorite_color 를 입력합니다.
  3. Update를 클릭합니다.

Automation Services Catalog에서 제품 주문 설문 조사를 활성화하여 before_order .yml 에서 전달된 'favorite_color' 값을 사용합니다.

귀하의 제품 주문에 포함된 설문 조사에서 :

  1. 다음 값으로 필드를 업데이트합니다.

    1. 이름: favorite_color
    2. 초기 값: {{before.before_order.artifacts.favorite_color}}
    3. 레이블: 가장 선호하는 색상은 무엇입니까?
    4. 자리 표시자: {{before.before_order.artifacts.favorite_color}}
  2. Disabled 스위치를 활성 위치로 전환합니다.
  3. Substitution 을 활성 위치로 전환합니다.

이제 before_ order.yml플레이북의 favorite_color 아티팩트를 대체 변수로 사용하도록 제품 순서를 구성했습니다.

4.1.3. 제품 순서의 after _data 아티팩트 값을 수락하도록 제품 구성

설문조사를 사용하여 대체 가능한 변수를 사용하여 'product_order.yml' 아티팩트 after_dataafter_order.yml 에 전달합니다.

제품 주문 후의 플레이북 after_order.yml 의 예

# This playbook prints a simple debug message with given information
- name: Echo Hello, world!
  hosts: localhost
  gather_facts: yes
  tasks:
    - debug:
        msg: "{{after_data}}"

after_data 를 *Answer Variable Name으로 설정하는 'after_order.yml' 플레이북에 대한 Ansible Tower에 작업 템플릿을 생성합니다.

after_order.yml 작업 템플릿에 연결된 설문 조사에서 다음을 수행합니다.

  1. 프롬프트 필드에 "Enter your after data"를 입력합니다.
  2. answer Variable Name 필드에 after_data 를 입력합니다.
  3. Update를 클릭합니다.

Automation Services Catalog의 주문 후 설문 조사를 활성화하여 after_order .yml 에서 전달된 'after_data' 값을 사용합니다.

주문 후 귀하의 설문 조사에서 :

  1. 다음 값으로 필드를 업데이트합니다.

    1. name: after_data
    2. 초기 값: {{product.artifacts.after_data}}
    3. 레이블: "데이터 후 입력"
    4. 자리 표시자: {{product.artifacts.after_data}}
  2. Disabled 스위치를 활성 위치로 전환합니다.
  3. Substitution 을 활성 위치로 전환합니다.

작업 템플릿이 실행될 때 Playbook은 데이터 이후에 전달된 값을 표시합니다.