173 Commits

Author SHA1 Message Date
Colleen Murphy
c7f8b298ef Update nodepool servers to puppet 4
Except nb03.openstack.org, which runs on arm64 for which there are no
puppet 4 packages.

Change-Id: Ia85d20700309a9cd886886c4d4da52fb80ac595f
2019-04-11 21:35:51 +00:00
Ian Wienand
4abd0a3184 yamlgroup: add regex match; exclude puppet4 for arm64 mirrors
Two related changes that need to go together because we test with the
production groups.yaml.

Confusingly, there are arm64 PC1 puppet repos, and it contains a bunch
of things that it turns out are the common java parts only.  The
puppet-agent package is not available, and it doesn't seem like it
will be [1].  I think this means we can not run puppet4 on our arm64
xenial ci hosts.

The problem is the mirrors have been updated to puppet4 -- runs are
now breaking on the arm mirrors because they don't have puppet-agent
packages.  It seems all we can really do at this point is contine to
run them on puppet3.

This is hard (impossible?) to express with a fnmatch in the existing
yamlgroups syntax.  We could do something like list all the mirror
hosts and use anchors etc, but we have to keep that maintained.  Add
an feature to the inventory plugin that if the list entry starts with
a ^ it is considered a full regex and passed to re.match.  This
allows us to write more complex matchers where required -- in this
case the arm64 ci mirror hosts are excluded from the puppet4 group.

Testing is updated.

[1] https://groups.google.com/forum/#!msg/puppet-dev/iBMYJpvhaWM/WTGmJvXxAgAJ

Change-Id: I828e0c524f8d5ca866786978486bc04829464b47
2019-04-11 21:34:57 +00:00
Zuul
8e4cd58b2e Merge "Update kerberos servers to puppet 4" 2019-04-11 17:34:09 +00:00
Zuul
f028966fd3 Merge "Update AFS servers to puppet 4" 2019-04-10 23:27:10 +00:00
Zuul
8f9c2aada5 Merge "Update review.openstack.org to puppet 4" 2019-04-10 22:02:31 +00:00
Zuul
534f1b368d Merge "Add graphite01.opendev.org letsencrypt configuration" 2019-04-09 00:33:25 +00:00
Zuul
693fe27610 Merge "letsencrypt : minor updates" 2019-04-08 23:02:16 +00:00
Zuul
f139a81994 Merge "letsencrypt support" 2019-04-08 22:43:54 +00:00
Colleen Murphy
8ac2c91d23 Update kerberos servers to puppet 4
Change-Id: I6cdb2bb154bfe1365d2dad6c00aa17f408379609
2019-04-05 09:31:33 -07:00
Colleen Murphy
a988c9253e Update AFS servers to puppet 4
Change-Id: I02d63fe1198a8d023814820602d425f891efdb73
2019-04-05 09:31:29 -07:00
Ian Wienand
45e88482fd Add graphite01.opendev.org letsencrypt configuration
This is an initial change for deploying letsencrypt certificates on
graphite01.opendev.org.  As we are still in a testing phase, use test
mode.

Change-Id: I3e762d071cc609856950898b36f1903fe52840a6
2019-04-05 16:50:59 +11:00
Ian Wienand
6088c788f1 letsencrypt : minor updates
Minor updates from review comments for
I1f66da614751a29cc565b37cdc9ff34d70fdfd3f

Change-Id: Ie011f768345ca3d8fdcc0b833f5645a635983d64
2019-04-05 16:50:34 +11:00
Ian Wienand
afd907c16d letsencrypt support
This change contains the roles and testing for deploying certificates
on hosts using letsencrypt with domain authentication.

From a top level, the process is implemented in the roles as follows:

1) letsencrypt-acme-sh-install

   This role installs the acme.sh tool on hosts in the letsencrypt
   group, along with a small custom driver script to help parse output
   that is used by later roles.

2) letsencrypt-request-certs

   This role runs on each host, and reads a host variable describing
   the certificates required.  It uses the acme.sh tool (via the
   driver) to request the certificates from letsencrypt.  It populates
   a global Ansible variable with the authentication TXT records
   required.

   If the certificate exists on the host and is not within the renewal
   period, it should do nothing.

3) letsencrypt-install-txt-record

   This role runs on the adns server.  It installs the TXT records
   generated in step 2 to the acme.opendev.org domain and then
   refreshes the server.  Hosts wanting certificates will have
   pre-provisioned CNAME records for _acme-challenge.host.opendev.org
   pointing to acme.opendev.org.

4) letsencrypt-create-certs

   This role runs on each host, reading the same variable as in step
   2.  However this time the acme.sh tool is run to authenticate and
   create the certificates, which should now work correctly via the
   TXT records from step 3.  After this, the host will have the
   full certificate material.

Testing is added via testinfra.  For testing purposes requests are
made to the staging letsencrypt servers and a self-signed certificate
is provisioned in step 4 (as the authentication is not available
during CI).  We test that the DNS TXT records are created locally on
the CI adns server, however.

Related-Spec: https://review.openstack.org/587283

Change-Id: I1f66da614751a29cc565b37cdc9ff34d70fdfd3f
2019-04-02 15:31:41 +11:00
Colleen Murphy
db0cf87ddb Update review.openstack.org to puppet 4
Change-Id: I841bae26862d4da41849835bb9f9548a2011cc95
2019-04-01 14:54:04 -07:00
Colleen Murphy
9a7172ab8a Upgrade lists.katacontainers.io to puppet 4
Change-Id: Ic0235ffec7d65a30a44fb518414e872a44b99f37
2019-04-01 14:53:42 -07:00
Clark Boylan
fa0d4f949e Update even more servers to puppet4
Change-Id: Ice2a07e0f1914b45690455b6b7199fc8441f21be
2019-03-22 09:51:25 -07:00
Clark Boylan
a67b27edda Run static and status under puppet4
With working globs now run static and status with puppet4

Change-Id: I091cfe755a416d8193b668ffe3b550d338e1d5f0
2019-03-21 14:41:15 -07:00
Clark Boylan
948e86d3cb Run static and status under futureparser
These two services had broken globs under the futureparser group. Move
them back to futureparser with working globs before we upgrade them to
puppet 4.

Change-Id: I32a3f56407fc2542985f3be2237a41260f7155d1
2019-03-21 14:40:06 -07:00
Colleen Murphy
f52134efc3 Fix groups.openstack.org glob
Change-Id: Ibc9427d97e492e7b0cf29ec39b6f919f4be60146
2019-03-21 14:38:56 -07:00
Clark Boylan
ba0242f054 Groups-dev to puppet4
This fixes the inventory glob to ensure we run groups-dev under puppet4.

Change-Id: I4cbc911a352d2968ba650a09c2a97a767cb8bc7d
2019-03-21 14:38:56 -07:00
Colleen Murphy
1c3a530ef1 Update more servers to puppet 4
Change-Id: I6fd2172fe937e123bd3ca1f0f8fa2a905661a50b
2019-03-16 21:11:35 +01:00
Colleen Murphy
2adff3ba22 Update more servers to puppet 4
Change-Id: Idd5079c2f24c30b7cac68d51e447c82865e7e038
2019-03-16 21:10:20 +01:00
Colleen Murphy
a734f54c5c Update more servers to puppet 4
Change-Id: Ifc81cbc2b95c0cfce718a31fce3c50dff9908049
2019-03-16 21:09:37 +01:00
Colleen Murphy
68705b22cd Update more dev servers to puppet 4
We missed these on the first *-dev pass.

Change-Id: I7de96df167050ad4114880aef59f93c6d1956c9f
2019-03-16 21:06:36 +01:00
Zuul
877e58a386 Merge "Upgrade some servers to puppet 4" 2019-03-15 15:50:59 +00:00
Colleen Murphy
cb868e8f97 Upgrade some servers to puppet 4
In roughly lexicographical order, upgrade a batch of servers to puppet
4. We skip ask-staging because although it is in the futureparser group
it was temporarily disabled in puppet and so hasn't actually gone
through the futureparser validation stage yet.

Depends-On: https://review.openstack.org/643465
Change-Id: I3971ffb9800e95aaaba0076ec3bd6a05cd92a750
2019-03-14 21:34:23 +00:00
Jeremy Stanley
eefb462d4c Add wiki-dev02 to Ansible inventory
The Xenial-based wiki-dev02.openstack.org server will replace
Trusty-based wiki-dev01 once completed. Include it in the inventory
so configuration management can be applied before the CNAME RR for
wiki-dev is changed to refer to it.

Change-Id: I4bc08c3e204219bcc99c51f3154d89813a6d55ab
2019-03-10 14:35:00 +00:00
Jeremy Stanley
72e51a8998 Just use openstack.org domain for wiki hosts
Currently there are no plans to integrate the existing wiki services
into OpenDev, so for clarity we're limiting the inventory globbing
and global site manifest node regular expressions to the
openstack.org domain specifically.

Change-Id: Ifdc86f7cc5d6a865e1d5f76828ad8b52f2ee75fe
2019-03-10 14:32:11 +00:00
Colleen Murphy
41315b11da Upgrade all dev servers to puppet 4
Change-Id: I1bde1c36dc45e7f1aa226582fa30503f55ff6817
2019-03-05 18:23:41 +01:00
James E. Blair
b374b3a24a Add zp01 to inventory
Change-Id: Ie109e5dab09e8cf34e9cb4e7490105e89ab127c7
2019-02-28 17:13:31 +00:00
Monty Taylor
8e52ae742d Add gitea servers to inventory and load-balancer hostvars
We have new servers, and a new load balancer server, let's use them.

Change-Id: I5c58530b66637759c7882abb96967d0733bc8e6d
2019-02-28 17:13:02 +00:00
Zuul
2fbbeebef2 Merge "Add graphite01.opendev.org" 2019-02-27 20:54:24 +00:00
Clark Boylan
bfb2963c20 Cleanup old health server
We have replaced health.openstack.org with health01.openstack.org
(CNAMEd to by health.openstack.org). Remove reference to the old server.
Note that this updates references to health01.openstack.org to use the
full openstack.org to make it clear that this is not an opendev service.

Change-Id: Ifa21dc4a82258974857da2a843f67c5234736c47
2019-02-27 10:32:02 -08:00
Ian Wienand
3db4bdf7d3 Add graphite01.opendev.org
The is a Xenial replacement server for graphite.openstack.org

Change-Id: Id28ddb403ea9c00c59d295852ba133e35a3a80e8
2019-02-27 11:18:04 +11:00
Clark Boylan
d54c187a34 Add health01.openstack.org server
This is a new Xenial server to replace our old Trusty server. Note we
keep this server in the openstack domain as it is a fairly openstack
specific service in its current setup.

Change-Id: Ie1f068847f22ddabc52b3e9203a790c2ac17ae20
2019-02-26 14:46:51 -08:00
Clark Boylan
fb34c32c1f Revert "Add new health01 server to our inventory"
This reverts commit 0cddc2ae9b23a6d44ff6e0761c70126dc0923970.

This server is going to remain in the openstack.org domain.

Change-Id: I0d5a4f1e07d9782085bdbe875f466c564b1c681c
2019-02-26 13:58:54 -08:00
Zuul
1279a544d5 Merge "Turn on the future parser for ask.o.o" 2019-02-26 16:37:04 +00:00
Colleen Murphy
13cfb216cb Turn on the future parser for ask.o.o
ask-staging.o.o is known to be safe with the future parser so flip the
switch for ask.o.o as well.

Change-Id: I5b91dca124595d506a641402959478a2bf92c799
2019-02-26 11:02:20 +01:00
Clark Boylan
0cddc2ae9b Add new health01 server to our inventory
This adds a new xenial health api server to our inventory. This server
will be used to replace the old trusty health.openstack.org server.

Change-Id: Id6cf8230f82464c4466692cac324a1e39ba595af
2019-02-25 16:22:32 -08:00
Zuul
445541d77c Merge "Run zuul-preview" 2019-02-25 22:18:15 +00:00
Zuul
066e3a78a5 Merge "Turn on the future parser for refstack" 2019-02-25 21:35:42 +00:00
James E. Blair
287eecd9d2 Run zuul-preview
Change-Id: Ib72e2bd29d1061822e0c16c201445115a5e5c58f
2019-02-25 13:14:51 -08:00
Zuul
8c19991e64 Merge "Make kdc03 the master kerberos kdc and admin server" 2019-02-25 19:23:25 +00:00
Zuul
ac7ef013f0 Merge "Turn on the future parser for openstackid" 2019-02-25 19:17:35 +00:00
Clark Boylan
9c465131db Make kdc03 the master kerberos kdc and admin server
This change will convert kdc03 to a master from a hot standby and will
remove kdc01 from management.

Cutover plan:
  Disable kdc01 in ansible emergeny file
  Stop run-kprop cron on kdc01
  Stop kadmind on kdc01
  Execute run-kprop.sh on kdc01
  Merge this change
  Wait for puppet to convert kdc03 to the master
  Confirm that run-kprop works from kdc03 to kdc04
  Update dns records as documented in our kerberos docs
  Test kadmin works
  Delete old kdc01 server

Change-Id: Ib14b11fa1f0a6bc11b0f615ce5b6f6be214b5629
2019-02-22 15:47:49 -08:00
Zuul
d96623934c Merge "Run an haproxy load balancer for gitea" 2019-02-22 23:00:11 +00:00
Colleen Murphy
d0313d04c0 Turn on the future parser for refstack
Depends-on: https://review.openstack.org/628159

Change-Id: I56bc421b25f06bfb3d98caf60881b182de2522fd
2019-02-22 23:43:33 +01:00
Colleen Murphy
f9951cd705 Turn on the future parser for openstackid
Change-Id: I2c6755fba71a66eb9fad0db4255eacd77802da9b
2019-02-22 23:43:33 +01:00
Colleen Murphy
f3e120e75f Turn on the future parser for openstackid-dev
Change-Id: Ic44697ad099525ea24d12f4e18f5bfaae2bcabcc
2019-02-22 21:57:13 +01:00
James E. Blair
4b031f9f24 Run an haproxy load balancer for gitea
This runs an haproxy which is strikingly similar to the one we
currently run for git.openstack.org, but it is run in a docker
container.

Change-Id: I647ae8c02eb2cd4f3db2b203d61a181f7eb632d2
2019-02-22 12:54:04 -08:00