System configuration for the OpenDev Collaboratory
Go to file
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
doc Grafana container deployment 2020-07-03 07:17:22 +10:00
docker Gerrit image cleanups/fixes 2020-08-11 13:15:06 -07:00
hiera Remove elasticsearch01 2020-06-17 14:51:58 -07:00
inventory puppet: don't run module install steps multiple times 2020-09-03 09:23:05 +10:00
kubernetes Update opendev git references in puppet modules 2019-04-20 18:26:07 +00:00
launch Add OE mirror to inventory 2020-08-06 09:42:39 +10:00
manifests Cleanup old puppet management of release-volumes.py 2020-06-09 15:03:44 -07:00
modules/openstack_project Merge "Mirror Puppetlabs puppet for Ubuntu Focal" 2020-09-02 00:12:46 +00:00
playbooks puppet: don't run module install steps multiple times 2020-09-03 09:23:05 +10:00
roles Gerrit image cleanups/fixes 2020-08-11 13:15:06 -07:00
roles-test Remove Puppet 5 testing 2020-06-09 10:15:05 +10:00
testinfra letsencrypt test: fix email match 2020-08-25 14:42:54 +10:00
tools Install older setuptools in puppet apply jobs 2020-09-01 13:59:21 -07:00
zuul.d Merge "Run service-eavesdrop hourly" 2020-08-21 20:12:55 +00:00
.ansible-lint Work around new ansible lint errors. 2020-08-20 12:55:46 +10:00
.gitignore Ignore ansible .retry files 2016-07-15 12:04:48 -07:00
.gitreview OpenDev Migration Patch 2019-04-19 19:26:05 +00:00
bindep.txt Add libffi dev packages needed for ansible install 2016-10-04 15:20:00 -07:00
COPYING.GPL Add yamlgroup inventory plugin 2018-11-02 08:19:53 +11:00
Gemfile Update some paths for opendev 2019-04-20 09:31:14 -07:00
install_modules.sh Merge "Better checking for tags when cloning puppet modules" 2020-01-16 23:01:33 +00:00
install_puppet.sh Install the puppetlabs puppet package 2018-08-23 14:55:08 +10:00
make_swap.sh Use swapfile if no extra device is present 2019-07-17 10:37:30 -07:00
modules.env Stop cloning more puppet modules 2020-06-05 12:09:30 -05:00
mount_volume.sh Add support to launch-node for cinder attach 2016-04-19 11:07:23 -07:00
Rakefile Further changes to bring puppetboard online 2014-03-22 12:54:38 -07:00
README.rst Update some paths for opendev 2019-04-20 09:31:14 -07:00
run_k8s_ansible.sh Invoke run_k8s_ansible from its directory 2019-05-07 16:03:59 -07:00
run_puppet.sh Clean up bashate failures 2014-09-30 12:40:59 -07:00
setup.cfg Mention new mailing lists 2020-04-06 18:19:28 +00:00
setup.py Update to openstackdocstheme 2018-06-25 11:19:43 +10:00
test-requirements.txt Revert "Cap pytest to <6.0.0 to fix pytest-html" 2020-07-31 08:35:10 +10:00
tox.ini Fix junit error, add HTML report 2020-07-15 07:03:22 +10:00

Puppet Modules

These are a set of puppet manifests and modules that are currently being used to manage the OpenStack Project infrastructure.

The main entry point is in manifests/site.pp.

In general, most of the modules here are designed to be able to be run either in agent or apply mode.

These puppet modules require puppet 2.7 or greater. Additionally, the site.pp manifest assumes the existence of hiera.

See http://docs.openstack.org/infra/system-config for more information.

Documentation

The documentation presented at http://docs.openstack.org/infra/system-config comes from https://opendev.org/opendev/system-config repo's docs/source. To build the documentation use

tox -evenv python setup.py build_sphinx