system-config/playbooks/roles
Ian Wienand 19ea4603f4 puppet: don't run module install steps multiple times
It turns out you can't use "run_once" with the "free" strategy in
Ansible.  It actually warns you about this, if you're looking in the
right place.

The existing run-puppet role calls two things with "run_once:", both
delegated to localhost -- cloning the ansible-role-puppet repo (so we
can include_role: puppet) and installing the puppet modules (via
install-ansible-roles role), which are copied from bridge to the
remote side and run by ansible-role-puppet.

With remote_puppet_else.yaml we are running all the puppet hosts at
once with the "free" strategy.  This means that these two tasks, both
delegated to localhost (bridge) are actually running for every host.
install-ansible-roles does a git clone, and thus we often see one of
the clones bailing out with a git locking error, because the other
host is running similtaneously.
I8585a1af2dcc294c0e61fc45d9febb044e42151d tried to stop this with
"run_once:" -- but as noted because it's running under the "free"
strategy this is silently ignored.

To get around this, split out the two copying steps into a new role
"puppet-setup".  To maintain the namespace, the "run-puppet" module is
renamed to "puppet-run".  Before each call of (now) "puppet-run", make
sure we run "puppet-setup" just on localhost.

Remove the run_once and delegation on "install-ansible-roles"; because
this is now called from the playbook with localhost context.

Change-Id: I3b1cea5a25974f56ea9202e252af7b8420f4adc9
2020-09-03 09:23:05 +10:00
..
accessbot Split eavesdrop into its own playbook 2020-04-23 14:34:28 -05:00
afs-release Add a new docs.airshipit.org vhost on static01 2020-03-20 19:09:13 +00:00
afsmon afsmon: install python3-pip 2020-02-12 16:39:11 +11:00
backup Update bup excludes for zuul-scheduler 2020-05-07 08:44:58 -07:00
backup-server Exclude disabled group from backup-server loop 2020-04-11 14:53:20 -05:00
base arm64 mirror : update to Focal 2020-08-20 13:32:08 +10:00
configure-kubectl Configure .kube/config on bridge 2019-02-06 15:43:19 -08:00
configure-openstacksdk Update the limestone cert in our clouds.yaml 2020-08-25 15:25:25 -07:00
disable-puppet-agent Stop running mcollective 2020-05-05 15:00:04 -05:00
edit-secrets-script Add edit-secrets script to bridge.o.o 2019-02-27 08:45:11 -08:00
etherpad Upgrade Etherpad to 1.8.4 2020-06-11 10:26:45 -07:00
gerrit Merge "Cleanup /p/ further and add reminder comments" 2020-07-31 20:16:54 +00:00
gerritbot Couple of gerritbot role cleanups 2020-08-10 10:42:20 -07:00
gitea Increase gitea indexer startup timeout 2020-07-31 14:21:50 -07:00
gitea-git-repos Merge "Allow setting Gitea repo branch on project creation" 2020-07-17 20:50:59 +00:00
grafana Grafana container deployment 2020-07-03 07:17:22 +10:00
graphite graphite: statsd timer settings 2020-07-07 17:03:46 +10:00
haproxy Remove the tcplog option from haproxy configs 2020-06-30 22:22:28 +00:00
install-ansible Stop cloning k8s-on-openstack 2020-07-14 08:22:49 -05:00
install-ansible-roles puppet: don't run module install steps multiple times 2020-09-03 09:23:05 +10:00
install-apt-repo Vendor the apt repo gpg keys used for Zuul 2020-05-20 13:17:09 -07:00
install-certcheck Generate ssl check list directly from letsencrypt variables 2020-05-20 14:27:14 +10:00
install-docker install-docker: remove arch match 2020-04-30 08:38:41 +10:00
install-kubectl Remove snap cleanup tasks 2020-04-16 12:45:36 -05:00
install-osc-container Use openstackclient from container 2020-04-23 07:46:28 -05:00
install-podman Run a gerrit container on review-dev01 2019-10-29 08:29:17 +09:00
iptables Run iptables in service playbooks instead of base 2020-06-04 07:44:22 -05:00
jitsi-meet Merge "Indicate firefox is suboptimal in meetpad" 2020-06-03 17:48:46 +00:00
letsencrypt-acme-sh-install ansible-lint : disable 503 2020-03-06 09:57:00 +11:00
letsencrypt-config-certcheck Generate ssl check list directly from letsencrypt variables 2020-05-20 14:27:14 +10:00
letsencrypt-create-certs Add LE bits for mirror02.regionone.linaro-us.opendev.org 2020-08-25 14:43:07 +10:00
letsencrypt-install-txt-record Handle offline hosts in LE role 2020-01-08 10:21:53 -08:00
letsencrypt-request-certs Generate ssl check list directly from letsencrypt variables 2020-05-20 14:27:14 +10:00
logrotate logrotate: better rotation options 2019-10-01 09:00:53 +10:00
master-nameserver Don't log the public loop on master-nameserver 2020-04-08 16:38:15 -05:00
mirror Add copr-lxc3 to list of mirrors 2020-07-02 00:15:37 +03:00
mirror-update Switch Fedora mirror to mirrors.mit.edu 2020-08-17 18:47:35 +00:00
nameserver Remove zonefile from nsd config 2019-04-02 13:20:01 +11:00
nodepool-base Revert "Revert "Add Zookeeper TLS support"" 2020-07-15 15:45:48 -07:00
nodepool-base-legacy Add initial Ansible for nodepool hosts 2020-03-06 14:02:52 +11:00
nodepool-builder Increate nodepool builder upload workers from 4 to 8 2020-08-04 12:36:01 -07:00
nodepool-launcher Add stop and start playbooks for nodepool 2020-06-16 15:48:47 -05:00
pip3 Install pip3 for docker-compose installation 2020-04-17 13:28:03 -07:00
puppet-run puppet: don't run module install steps multiple times 2020-09-03 09:23:05 +10:00
puppet-setup-ansible puppet: don't run module install steps multiple times 2020-09-03 09:23:05 +10:00
rax-dns-backup rax-dns-backup: fix copy file typo 2020-06-17 09:29:11 +10:00
registry Install docker-compose from pypi 2020-04-16 12:08:00 -07:00
root-keys roles: Add README.rst and lint 2018-08-23 21:34:42 +10:00
static Redirect UC content to TC site 2020-08-12 17:27:14 +02:00
sync-project-config Stop logging the rsync of puppet 2020-04-30 16:11:42 -05:00
vos-release Add missing newline in vos_release.sudo 2019-11-21 19:08:30 +00:00
zk-ca Zookeeper: listen on plain and TLS ports 2020-06-17 10:38:59 -07:00
zookeeper Zookeeper: listen on plain and TLS ports 2020-06-17 10:38:59 -07:00
zuul Revert "Revert "Add Zookeeper TLS support"" 2020-07-15 15:45:48 -07:00
zuul-executor Start zuul-executor after afsd and /afs is mounted 2020-07-27 18:47:52 +00:00
zuul-merger Fix a few missing zuul_user usages 2020-05-23 09:05:16 -05:00
zuul-preview Install docker-compose from pypi 2020-04-16 12:08:00 -07:00
zuul-scheduler Fix a few missing zuul_user usages 2020-05-23 09:05:16 -05:00
zuul-status-backup Add --fail flag to zuul status backup curl 2020-04-28 08:33:05 -05:00
zuul-user Split eavesdrop into its own playbook 2020-04-23 14:34:28 -05:00
zuul-web Run Zuul as the zuuld user 2020-05-20 13:17:28 -07:00
set-hostname Split eavesdrop into its own playbook 2020-04-23 14:34:28 -05:00