The mailman puppet module is tested and seems to be working on puppet
4[1]. Turn on the future parser for lists.katacontainers.io, which hosts
fewer mailing lists than lists.openstack.org does.
[1] https://review.openstack.org/601464
Change-Id: Iea7fbabf7cee579dcd19d4deb4d7537ed1b13bd9
Depends-On: https://review.openstack.org/601831
eavesdrop.o.o runs a number of different sites and bots, so on the one
hand it is a slightly complex service, but on the other hand these
modules are quite simple and similar to each other. Meetbot, accessbot,
and statusbot have tests and seem to work fine on puppet 4. Ptgbot does
not have tests, but that's why we should try this out sooner rather than
later so we have time to correct any issues before the PTG.
Change-Id: Id1af4b3ebf04f34c381eab5f818815734a296f7b
We run a cluster of elasticsearch nodes which may have additional
servers added to it or old servers replaced. Make this slightly easier
by matching them with a glob in groups.yaml so that we don't have to
edit this file to add new servers.
Change-Id: I8ce3e38f67c545642d561b2afdd6dbbfa677e67f
We run many git server backend nodes which may be replaced with new
servers. To simplify the process of adding or replacing git0* servers
stop explicitly listing them in groups.yaml and instead match them on a
glob.
Change-Id: I3dbf814122bbfc508b2a90a5f5a533226fa0bf8f
We run a cluster of zookeeper nodes. Lets match them with globs in
groups.yaml so that we don't have to edit groups.yaml if expanding the
size ofthe cluster or replacing nodes in the cluster.
Change-Id: Iff9048a9bc15e4f888e7caab54abb4d4a9d340d7
Replace all the explicit listings of nb01, nl01, etc with globs so that
we can launch new nodepool builders and nodepool launchers without
editing the groups file.
Change-Id: I3c32fb604109a3c65b2145b733fc0e2545e21045
Match the mirrors with a glob so that we can boot new mirrors in new
regions or replacements in existing regions without needing to
explicitly add them to groups.yaml first.
Change-Id: I3e7bf04a2d3a7602e46710840b0cec42c238c6c1
Match logstash-worker and logstash.o.o nodes with globs. This allows us
to launch new servers without needing to add them to the groups file
first.
Note that logstash.o.o is currently hosted by logstash01.openstack.org
so the existing groups.yaml content is broken for this host.
Change-Id: Iea9b5815a31355925979e6d4da5c578a64af7972
Convert ze01, ze02, ze03, etc to ze[0-9]* so that we can launch new zuul
executors as necessary without updating the groups file.
Change-Id: Id9896e89d8bc821de003994a96ae11517a76145d
The zuul mergers do not run a webserver so we remove them from the
webserver group. Convert zm01, zm02, zm03, etc to zm[0-9]* so that we
can launch new zuul mergers as necessary without updating the groups
file.
Change-Id: Ibe8cbea02990378f4ee5ba7880ee0c8a4e9b7bb9
We removed the mirror nodes from the webservers group to fix iptables
rule application on the nodes. Unfortunately we didn't update our test
that tries to assert mirrors should be in the webservers group. Update
the test results fixture to remove webservers as a valid group for a
mirror node.
Change-Id: Iba18e54f4df4a36c0247f65642faacca9d195769
The webservers group is meant to be mutually exclusive to any other
iptables modifications but was inadvertently expanded to include the
mirror servers by Iea8b2eb2e9c723aca06f75d3d3307893e320cced. Remove
the glob as it should not be there and is overriding the
mirror-specific firewall rules.
Change-Id: Ia1b702e5c9a2d433536edcec4bfaf6f47b1c0291
Our etherpad servers now have digits so we need them to have digits in
the groups file. Also we have etherpad-dev group_vars that are different
than the etherpad group_vars values so add a group for etherpad-dev to
ensure the correct hiera data is used on the dev server.
Change-Id: I9e34ef7969b8a562192a29d98ead6fc55f71d5f2
This mocks out enough of the Ansible inventory framework so we can
test the group matching against a range of corner cases as present in
the results.yaml file.
Change-Id: I05114d9aae6f149122da20f239c8b3546bc140bc
The constructed inventory plugin allows expressing additional groups,
but it's too heavy weight for our needs. Additionally, it is a full
inventory plugin that will add hosts to the inventory if they don't
exist.
What we want instead is something that will associate existing hosts
(that would have come from another source) with groups.
This also switches to using emergency.yaml instead of emergency, which
uses the same format.
We add an extra groups file for gate testing to ensure the CI nodes
get puppet installed.
Change-Id: Iea8b2eb2e9c723aca06f75d3d3307893e320cced
We've only been using nodepool.o.o as a zookeeper server for the past
year or so. Last week we transitioned to a three node zookeeper cluster
and stopped using nodepool.o.o. This server has since been deleted.
This is the last bit of cleanup to remove it from config management.
Change-Id: I9d0363393ed20ee59f40b210ea14fb105a492e20
It seems that the package module doesn't have a default value for the
state of a package. So not specifying it is essentially a no-op. Specify
state: present so that we really get the packages installed that we want
to have.
Change-Id: Ied9484c74922b9f48e14205b73ca95066a68a87f
citycloud is rolling out per-region keystone. There is a change with an
error in it in the latest openstacksdk, so put the right auth_url into
the files directly while we update it and release it again.
Additionally, Sto2 and Lon1 each have different domain ids. The domain
names are the same though - and that's good, because logical names are
nicer in config files anyway.
Restore the config for those clouds.
Change-Id: If55d27defc164bd38af2ffd1e7739120389422af
First we convert from a hash to an array to list the zk cluster members.
Do this because the older puppet-zookeeper module we use doesn't support
hashes like newer releases do.
Second we convert from hostnames to IP addresses because the hostnames
were looked up in /etc/hosts to resolve to 127.0.1.1 which caused zk to
listen on 127.0.1.1 and the cluster members could not talk to each
other.
Change-Id: Id590eb535301b27ff0dcb27cf65ba85d61ed19a5
This region does not show up in catalog listings anymore and is causing
inventory generation for ansible to fail. This change removes Sto2 from
the management side of things so that we can get ansible and puppet
running again.
This does not cleanup nodepool which we can do in a followup once
ansible and puppet are running again.
Change-Id: Ifeea238592b897aa4cea47b723513d7f38d6374b
You have to tell the zk servers what servers belong to the cluster to
have them act as a cluster. Currently all our servers are in mode
standalone as they do not know about the other servers.
Fix this by configuring the three servers as servers 1, 2, and 3 in the
zk config.
Change-Id: I985ac7387744498058f99859eb8445f885b8bbcc
Switch the zuul scheduler to use our new zk cluster. Note this should
happen after the builders have switched and populated image data on the
new database cluster and at the same time as the launchers update.
This gets us off the old single node zk server running on trusty to
newer xenial based zk cluster with HA.
This change does update the config for mergers and executors for
consistency, but I believe that only the scheduler makes use of this
config today.
Change-Id: I132c176af188787cec3a5a562ffdc81f818c26b0
Depends-On: https://review.openstack.org/612441
testinfra 1.17.0 has a broken wheel on pypi that attempts to install
importlib regardless of the python version. Unfortunately this breaks
under python3 (and possibly under python2.7) as this is a python2.6 only
dependency. Avoid this trouble by not installing that package version.
I've filed https://github.com/philpep/testinfra/issues/380 upstream to
see if they can fix this.
Change-Id: I5cdfb8467cbc62cf729a9070589f5dcf5c794234
Add some details about how we integrate a new cloud into the
ecosystem. I feel like this is an appropriate level of detail given
we're dealing with clueful admins who just need a rough guide on what
to do and can fill in the gaps.
Fix up the formatting a bit while we're here.
Change-Id: Iba3440e67ab798d5018b9dffb835601bb5c0c6c7