Ansible AWX - получить URL проекта и пользователя - PullRequest
1 голос
/ 23 января 2020

Я в процессе миграции Ansible playbooks в Ansible AWX проекты.

Ранее я извлекал Ansible playbook из git, а затем запускал его из командной строки.

В этом конкретном c случае у меня есть Ansible Playbook, который создает виртуальные машины VMware. Я использую следующие задачи, чтобы собрать информацию о git репо и текущем git коммите га sh, и использую эту информацию в аннотациях виртуальных машин, чтобы впоследствии ее можно было использовать для определения точных инструкций, используемых для создания VM.

  - name: return git commit hash
    command: git rev-parse HEAD
    register: gitCommitHash
    delegate_to: localhost
    become: false
    become_user: "{{ lookup('env','USER') }}"


  - name: get remote git repo
    command: git config --get remote.origin.url
    register: gitRemote
    delegate_to: localhost
    become: false
    become_user: "{{ lookup('env','USER') }}"

Я понимаю, что плейбуки, запускаемые в AWX, работают как пользователь awx.

В любом случае, в плейбуке я могу получить пользователя AWX, который запускает шаблон AWX, и могу ли я получить URL для проекта Ansible AWX?

Обновление

Я обнаружил, что могу получить AWX, на котором работает шаблон, с помощью {{awx_user_name}}, но пока не выяснил, как получить git удаленный URL-адрес проекта / книги воспроизведения.

1 Ответ

1 голос
/ 23 января 2020

Я запустил шаблон задания с простой книгой воспроизведения:

---
- name: Debug AWX
  hosts: all
  tasks:
    - debug:
        var: vars

И в выводе я мог видеть эти переменные:

    "awx_inventory_id": 1,
    "awx_inventory_name": "Demo Inventory",
    "awx_job_id": 23,
    "awx_job_launch_type": "manual",
    "awx_job_template_id": 10,
    "awx_job_template_name": "Debug AWX",
    "awx_project_revision": "3214f37f271ad589f7a63d12c3d1ef9fa0972d91",
    "awx_user_email": "admin@example.com",
    "awx_user_first_name": "",
    "awx_user_id": 1,
    "awx_user_last_name": "",
    "awx_user_name": "admin",

Так что, нет, вы не получите URL проекта AWX с работы. Но вы получаете идентификатор проекта! Я бы предложил использовать CLI для этих шагов.

...