Ian Wienand ee7faefe08 Create ansible roles to install puppet
Currently our puppet-requiring hosts (all !bridge) do not manage their
puppet installs.  This is OK for existing servers, but new servers
come up without puppet installed.

This is playbooks to manage puppet installs on hosts.  It is mostly a
port of the relevant parts of ./install_puppet.sh for our various
control-plane platforms.

Basic testing with zuul-integration jobs is added.  Using this in the
control-plane base.yaml playbooks will be a follow-on.

Change-Id: Id5b2f5eb0f1ade198acf53a7c886dd5b3ab79816
2018-08-28 16:42:45 +10:00

33 lines
846 B
YAML

- name: Install puppet packages
include: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "{{ ansible_distribution_release }}.yaml"
- "{{ ansible_distribution }}.yaml"
- "{{ ansible_os_family }}.yaml"
- "default.yaml"
paths:
- puppet-install
- name: Install system-config modules
when: puppet_install_system_config_modules
become: true
block:
- name: Make sure git is installed
package:
name: git
state: present
- name: Make sure system-config repo is up to date
git:
repo: https://git.openstack.org/openstack-infra/system-config
dest: /opt/system-config
force: yes
- name: Clone puppet modules to /etc/puppet/modules
command: ./install_modules.sh
args:
chdir: /opt/system-config