Create ansible-galaxy-import role

Ansible Galaxy has the ability for user to import roles into it. This
role will leverage the ansible-galaxy CLI command to do this.  We'll
login via a github token (sorry only method) then trigger an import on
the remote API server.

Change-Id: I959c3051403929ef4927cf23fdbef14b45294aa2
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
Paul Belanger 2018-10-07 19:49:41 -04:00
parent 836cc85eec
commit 5e1a7e7234
3 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,28 @@
Import ansible roles into ansible galaxy
**Role Variables**
.. zuul:rolevar:: ansible_galaxy_branch
:default: zuul.branch
The name of a branch to import.
.. zuul:rolevar:: ansible_galaxy_executable
:default: ansible-galaxy
Path to ansible-galaxy executable.
.. zuul:rolevar:: ansible_galaxy_info
Complex argument which contains the information about the Ansible
Galaxy server as well as the authentication information needed. It
is expected that this argument comes from a `Secret`.
.. zuul:rolevar:: server
:default: https://galaxy.ansible.com
The API server destination.
.. zuul:rolevar:: token
Identify with github token rather than username and password.

View File

@ -0,0 +1,4 @@
---
ansible_galaxy_branch: "{{ zuul.branch }}"
ansible_galaxy_executable: ansible-galaxy
ansible_galaxy_server: "{{ ansible_galaxy_info.server|default('https://galaxy.ansible.com') }}"

View File

@ -0,0 +1,6 @@
- name: Login into Ansible Galaxy
command: "{{ ansible_galaxy_executable }} -s {{ ansible_galaxy_server }} login --github-token {{ galaxy_info.token }}"
no_log: True
- name: Import role into Ansible Galaxy
command: "{{ ansible_galaxy_executable }} -s {{ ansible_galaxy_server }} import --branch {{ ansible_galaxy_branch }} {{ zuul.project['name'].split('/')[0] }} {{ zuul.project['short_name'] }}"