loopabull roles added and loopabull playbook updated
Signed-off-by: Adam Miller <admiller@redhat.com>
This commit is contained in:
parent
f6e5e15889
commit
2d08776708
8 changed files with 394 additions and 0 deletions
|
@ -29,3 +29,26 @@
|
|||
|
||||
handlers:
|
||||
- include: "{{ handlers }}/restart_services.yml"
|
||||
|
||||
- name: Deploy and configure loopabull
|
||||
hosts: loopabull-stg
|
||||
user: root
|
||||
gather_facts: True
|
||||
|
||||
vars_files:
|
||||
- /srv/web/infra/ansible/vars/global.yml
|
||||
- "/srv/private/ansible/vars.yml"
|
||||
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
||||
|
||||
roles:
|
||||
- {
|
||||
role: loopabull,
|
||||
plugin: fedmsg,
|
||||
routing_keys: [
|
||||
"org.fedoraproject.prod.buildsys.build.state.change"
|
||||
],
|
||||
playbooks_dir: /usr/local/loopabull-playbooks/,
|
||||
ansible_cfg_path: /etc/ansible/ansible.cfg,
|
||||
playbook_cmd: /usr/bin/ansible-playbook
|
||||
}
|
||||
|
||||
|
|
39
roles/loopabull/README.md
Normal file
39
roles/loopabull/README.md
Normal file
|
@ -0,0 +1,39 @@
|
|||
Loopabull
|
||||
=========
|
||||
|
||||
Fedora's deployment of [loopabull](https://github.com/maxamillion/loopabull)
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
|
||||
See defaults/main.yml for full docs on role variables
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
|
||||
|
||||
- hosts: servers
|
||||
roles:
|
||||
- {
|
||||
role: loopabull,
|
||||
plugin: fedmsg,
|
||||
routing_keys: [
|
||||
"org.fedoraproject.prod.buildsys.build.state.change"
|
||||
],
|
||||
playbooks_dir: /usr/local/loopabull-playbooks/,
|
||||
ansible_cfg_path: /etc/ansible/ansible.cfg,
|
||||
playbook_cmd: /usr/bin/ansible-playbook
|
||||
|
||||
}
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
GPLv3+
|
||||
|
||||
Author Information
|
||||
------------------
|
||||
|
||||
Adam Miller (maxamillion@fedoraproject.org)
|
||||
|
39
roles/loopabull/defaults/main.yml
Normal file
39
roles/loopabull/defaults/main.yml
Normal file
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
# defaults file for loopabull
|
||||
#
|
||||
|
||||
# playbooks git repo
|
||||
#
|
||||
# URL to the git repo to clone that contains loopabull playbooks
|
||||
playbooks_repo: "https://pagure.io/releng-automation.git"
|
||||
|
||||
# plugin
|
||||
#
|
||||
# This is the selected plugin that will interface with your prefered origin of
|
||||
# events (message bus or otherwise).
|
||||
plugin: fedmsg
|
||||
|
||||
# routing_keys
|
||||
#
|
||||
# This is a list of routing keys that will be yielded by your selected plugin
|
||||
# that should be acted upon (i.e. - these keys should trigger an ansible
|
||||
# playbook by the same name).
|
||||
routing_keys:
|
||||
- org.fedoraproject.prod.buildsys.build.state.change
|
||||
|
||||
# playbooks_dir
|
||||
#
|
||||
# The full path location of the directory containing your playbooks that
|
||||
# coorelate to the routing_keys
|
||||
playbooks_dir: /usr/share/doc/loopabull/examples/playbooks/
|
||||
|
||||
# ansible_cfg_path
|
||||
#
|
||||
# Full path location of the ansible configuration to use
|
||||
ansible_cfg_path: /etc/ansible/ansible.cfg
|
||||
|
||||
# playbook_cmd
|
||||
#
|
||||
# Command to use in place of ansible-playbook (for those that want to use
|
||||
# Ansible Tower commands or custom wrappers of their own)
|
||||
playbook_cmd: /usr/bin/rbac-playbook
|
2
roles/loopabull/handlers/main.yml
Normal file
2
roles/loopabull/handlers/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
# handlers file for loopabull
|
222
roles/loopabull/meta/main.yml
Normal file
222
roles/loopabull/meta/main.yml
Normal file
|
@ -0,0 +1,222 @@
|
|||
galaxy_info:
|
||||
author: your name
|
||||
description: your description
|
||||
company: your company (optional)
|
||||
|
||||
# If the issue tracker for your role is not on github, uncomment the
|
||||
# next line and provide a value
|
||||
# issue_tracker_url: http://example.com/issue/tracker
|
||||
|
||||
# Some suggested licenses:
|
||||
# - BSD (default)
|
||||
# - MIT
|
||||
# - GPLv2
|
||||
# - GPLv3
|
||||
# - Apache
|
||||
# - CC-BY
|
||||
license: license (GPLv2, CC-BY, etc)
|
||||
|
||||
min_ansible_version: 1.2
|
||||
|
||||
# Optionally specify the branch Galaxy will use when accessing the GitHub
|
||||
# repo for this role. During role install, if no tags are available,
|
||||
# Galaxy will use this branch. During import Galaxy will access files on
|
||||
# this branch. If travis integration is cofigured, only notification for this
|
||||
# branch will be accepted. Otherwise, in all cases, the repo's default branch
|
||||
# (usually master) will be used.
|
||||
#github_branch:
|
||||
|
||||
#
|
||||
# Below are all platforms currently available. Just uncomment
|
||||
# the ones that apply to your role. If you don't see your
|
||||
# platform on this list, let us know and we'll get it added!
|
||||
#
|
||||
#platforms:
|
||||
#- name: OpenBSD
|
||||
# versions:
|
||||
# - all
|
||||
# - 5.6
|
||||
# - 5.7
|
||||
# - 5.8
|
||||
# - 5.9
|
||||
# - 6.0
|
||||
#- name: Fedora
|
||||
# versions:
|
||||
# - all
|
||||
# - 16
|
||||
# - 17
|
||||
# - 18
|
||||
# - 19
|
||||
# - 20
|
||||
# - 21
|
||||
# - 22
|
||||
# - 23
|
||||
# - 24
|
||||
# - 25
|
||||
#- name: DellOS
|
||||
# versions:
|
||||
# - all
|
||||
# - 10
|
||||
# - 6
|
||||
# - 9
|
||||
#- name: MacOSX
|
||||
# versions:
|
||||
# - all
|
||||
# - 10.10
|
||||
# - 10.11
|
||||
# - 10.12
|
||||
# - 10.7
|
||||
# - 10.8
|
||||
# - 10.9
|
||||
#- name: Synology
|
||||
# versions:
|
||||
# - all
|
||||
# - any
|
||||
#- name: Junos
|
||||
# versions:
|
||||
# - all
|
||||
# - any
|
||||
#- name: GenericBSD
|
||||
# versions:
|
||||
# - all
|
||||
# - any
|
||||
#- name: Void Linux
|
||||
# versions:
|
||||
# - all
|
||||
# - any
|
||||
#- name: GenericLinux
|
||||
# versions:
|
||||
# - all
|
||||
# - any
|
||||
#- name: NXOS
|
||||
# versions:
|
||||
# - all
|
||||
# - any
|
||||
#- name: IOS
|
||||
# versions:
|
||||
# - all
|
||||
# - any
|
||||
#- name: Amazon
|
||||
# versions:
|
||||
# - all
|
||||
# - 2013.03
|
||||
# - 2013.09
|
||||
# - 2016.03
|
||||
# - 2016.09
|
||||
#- name: ArchLinux
|
||||
# versions:
|
||||
# - all
|
||||
# - any
|
||||
#- name: FreeBSD
|
||||
# versions:
|
||||
# - all
|
||||
# - 10.0
|
||||
# - 10.1
|
||||
# - 10.2
|
||||
# - 10.3
|
||||
# - 11.0
|
||||
# - 8.0
|
||||
# - 8.1
|
||||
# - 8.2
|
||||
# - 8.3
|
||||
# - 8.4
|
||||
# - 9.0
|
||||
# - 9.1
|
||||
# - 9.1
|
||||
# - 9.2
|
||||
# - 9.3
|
||||
#- name: Ubuntu
|
||||
# versions:
|
||||
# - all
|
||||
# - lucid
|
||||
# - maverick
|
||||
# - natty
|
||||
# - oneiric
|
||||
# - precise
|
||||
# - quantal
|
||||
# - raring
|
||||
# - saucy
|
||||
# - trusty
|
||||
# - utopic
|
||||
# - vivid
|
||||
# - wily
|
||||
# - xenial
|
||||
# - yakkety
|
||||
#- name: Debian
|
||||
# versions:
|
||||
# - all
|
||||
# - etch
|
||||
# - jessie
|
||||
# - lenny
|
||||
# - sid
|
||||
# - squeeze
|
||||
# - stretch
|
||||
# - wheezy
|
||||
#- name: Alpine
|
||||
# versions:
|
||||
# - all
|
||||
# - any
|
||||
#- name: EL
|
||||
# versions:
|
||||
# - all
|
||||
# - 5
|
||||
# - 6
|
||||
# - 7
|
||||
#- name: Windows
|
||||
# versions:
|
||||
# - all
|
||||
# - 2012R2
|
||||
#- name: SmartOS
|
||||
# versions:
|
||||
# - all
|
||||
# - any
|
||||
#- name: opensuse
|
||||
# versions:
|
||||
# - all
|
||||
# - 12.1
|
||||
# - 12.2
|
||||
# - 12.3
|
||||
# - 13.1
|
||||
# - 13.2
|
||||
#- name: SLES
|
||||
# versions:
|
||||
# - all
|
||||
# - 10SP3
|
||||
# - 10SP4
|
||||
# - 11
|
||||
# - 11SP1
|
||||
# - 11SP2
|
||||
# - 11SP3
|
||||
# - 11SP4
|
||||
# - 12
|
||||
# - 12SP1
|
||||
#- name: GenericUNIX
|
||||
# versions:
|
||||
# - all
|
||||
# - any
|
||||
#- name: Solaris
|
||||
# versions:
|
||||
# - all
|
||||
# - 10
|
||||
# - 11.0
|
||||
# - 11.1
|
||||
# - 11.2
|
||||
# - 11.3
|
||||
#- name: eos
|
||||
# versions:
|
||||
# - all
|
||||
# - Any
|
||||
|
||||
galaxy_tags: []
|
||||
# List tags for your role here, one per line. A tag is
|
||||
# a keyword that describes and categorizes the role.
|
||||
# Users find roles by searching for tags. Be sure to
|
||||
# remove the '[]' above if you add tags to this list.
|
||||
#
|
||||
# NOTE: A tag is limited to a single word comprised of
|
||||
# alphanumeric characters. Maximum 20 tags per role.
|
||||
|
||||
dependencies: []
|
||||
# List your role dependencies here, one per line.
|
||||
# Be sure to remove the '[]' above if you add dependencies
|
||||
# to this list.
|
27
roles/loopabull/tasks/main.yml
Normal file
27
roles/loopabull/tasks/main.yml
Normal file
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
# tasks file for loopabull
|
||||
|
||||
- name: Install required packages
|
||||
package: name="{{ item }}" state=installed
|
||||
with_items:
|
||||
- git
|
||||
|
||||
- name: install loopabull
|
||||
dnf: name=loopabull state=latest
|
||||
|
||||
- name: configure loopabull
|
||||
template:
|
||||
src: loopabull.yml.j2
|
||||
dest: {{ansible_cfg_path}}
|
||||
|
||||
- name: clone the playbooks repo into playbooks dir
|
||||
git:
|
||||
repo: "https://pagure.io/releng-automation.git"
|
||||
dest: {{playbooks_dir}}
|
||||
|
||||
- name: start and enable loopabull
|
||||
service:
|
||||
name: loopabull
|
||||
state: started
|
||||
enabled: yes
|
||||
|
40
roles/loopabull/templates/loopabull.yml.j2
Normal file
40
roles/loopabull/templates/loopabull.yml.j2
Normal file
|
@ -0,0 +1,40 @@
|
|||
# Loopabull (https://github.com/maxamillion/loopabull) config file
|
||||
#
|
||||
# There are three main definitions: ansible, routing_keys, plugin. These will be
|
||||
# explained in comments above each section below.
|
||||
|
||||
# plugin
|
||||
#
|
||||
# This is the selected plugin that will interface with your prefered origin of
|
||||
# events (message bus or otherwise).
|
||||
plugin: {{plugin}}
|
||||
|
||||
# routing_keys
|
||||
#
|
||||
# This is a list of routing keys that will be yielded by your selected plugin
|
||||
# that should be acted upon (i.e. - these keys should trigger an ansible
|
||||
# playbook by the same name).
|
||||
routing_keys:
|
||||
{% for rkey in routing_keys %}
|
||||
- {{ rkey }}
|
||||
{% endfor %}
|
||||
|
||||
# ansible
|
||||
#
|
||||
# This section will tell Loopabull about information to pass to the
|
||||
# ansible-playbook command.
|
||||
#
|
||||
# playbooks_dir
|
||||
# The full path location of the directory containing your playbooks that
|
||||
# coorelate to the routing_keys
|
||||
#
|
||||
# cfg_file_path
|
||||
# Full path location of the ansible configuration to use
|
||||
#
|
||||
# playbook_cmd
|
||||
# Command to use in place of ansible-playbook (for those that want to use
|
||||
# Ansible Tower commands or custom wrappers of their own)
|
||||
ansible:
|
||||
playbooks_dir: {{ playbooks_dir }}
|
||||
cfg_file_path: {{ cfg_file_path }}
|
||||
playbook_cmd: {{ playbook_cmd }}
|
2
roles/loopabull/vars/main.yml
Normal file
2
roles/loopabull/vars/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
# vars file for loopabull
|
Loading…
Add table
Add a link
Reference in a new issue