14611 Commits

Author SHA1 Message Date
Jeremy Stanley
addec0df6b Add rewrites for whitelabeled legacy git sites
The Ariship, StarlingX and Zuul git sites "hide" the namespaces of
their repositories, so need additional rewriting to readd them when
redirecting to the OpenDev Gitea service. In an effort to avoid
rewrite loops, pattern match them on specific repository name
prefixes so they won't match the namespaces being inserted.

Change-Id: I0a19393147eca5d75b286dfb8bda5665f31a2a2b
Task: #29705
2019-04-09 18:14:04 +00:00
Zuul
713b98298e Merge "Don't manage puppet.conf during puppet-install" 2019-04-09 03:44:14 +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
Zuul
9ed2297b2e Merge "Update hieraedit for python3" 2019-04-08 18:06:41 +00:00
Zuul
0c3eff57e9 Merge "Install latest grafana" 2019-04-08 17:45:31 +00:00
Clark Boylan
0269710c86 Don't manage puppet.conf during puppet-install
The ansible-role-puppet role manages puppet.conf for us. These two roles
are currently fighting each other over the presence of the server line
in puppet.conf. Avoid this by removing the removal of this line and the
templatedir line from the new puppet-install role since
ansible-role-puppet was there first. Basically just trust
ansible-role-puppet to write a working puppet.conf for us.

Change-Id: Ifb1dff31a61071bd867d3a7cc3cbcc496177e3ce
2019-04-08 10:09:35 -07:00
Zuul
a9fd6980d6 Merge "Remove no longer used logstash config" 2019-04-08 14:55:27 +00:00
Zuul
99d9b76398 Merge "Disable github rate limit logging" 2019-04-08 14:55:25 +00:00
Zuul
2226ab5c98 Merge "Remove zonefile from nsd config" 2019-04-07 23:22:12 +00:00
Clark Boylan
90e867b0e3 Remove no longer used logstash config
This created confusion when updating configs to handle journald. Remove
the unused files and update docs to point at the proper config location.

Change-Id: Ifd8d8868b124b72a86cf7b5acb30480e72b903ed
2019-04-05 17:29:24 -07:00
Zuul
4436901673 Merge "Run python with jemalloc in containers" 2019-04-05 23:22:05 +00:00
Zuul
9d14ea534c Merge "Enable gerrit replication.autoReload for review-dev" 2019-04-05 23:20:33 +00:00
Zuul
6298cbd1d3 Merge "Remove /hosts from log outputs" 2019-04-05 23:13:43 +00:00
Zuul
029c81a84a Merge "Add a stop timeout to gitea docker-compose up" 2019-04-05 21:58:42 +00:00
Zuul
ade72bdd6a Merge "Add --flush-cache to launch.py ansible" 2019-04-05 20:59:39 +00:00
Zuul
a70cbfc89a Merge "Backup rotation procedure" 2019-04-05 20:49:00 +00: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
David Moreau Simard
8ed05c1340
Enable gerrit replication.autoReload for review-dev
This enables automatic reload of the replication configuration for
review-dev.

Depends-On: https://review.openstack.org/650049
Change-Id: I3be630339870d527bedcfbd84b8dc8084dc10f4b
2019-04-04 12:48:16 -04:00
Zuul
c3b25fa22c Merge "Upgrade lists.katacontainers.io to puppet 4" 2019-04-04 16:17:38 +00: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
Ian Wienand
6256732c10 Remove zonefile from nsd config
The zonefile isn't required in the config file as we are just
transfering from adns1.  Since we don't create the directory for the
files, it results in warnings in the nsd logs -- this can be a
confusing red-herring in a debugging situation.

Change-Id: I3e16a359549707a4a3967f580161dec9e71ab689
Related-Bug: https://www.nlnetlabs.nl/bugs-script/show_bug.cgi?id=4244
2019-04-02 13:20:01 +11:00
Ian Wienand
ce7d04ddea Remove /hosts from log outputs
Change I754637115f8c7469efbc1856e88bbcb6fb83b4ce moved a bunch of log
collection to use "stage-output".  This uses "fetch-output" which
automatically puts these logs in hostname subdirectories; but it does
not have an option to put it in hosts/hostname as we were doing with
the other logs.

Although we could add such support, it probably doesn't make sense as
most other multinode jobs will have the same layout with the host logs
at the top level.  Remove the intermediate "/hosts/" directory on
system-config jobs so all logs remain at the top level, and we don't
have this confusing split as to where logs are for each host.

Change-Id: I56bd67c659ffb26a460d9406f6f090d431c8aa79
2019-04-02 13:20:01 +11:00
Colleen Murphy
9a7172ab8a Upgrade lists.katacontainers.io to puppet 4
Change-Id: Ic0235ffec7d65a30a44fb518414e872a44b99f37
2019-04-01 14:53:42 -07:00
Zuul
0e206c8ce5 Merge "master-nameserver: Add unmanaged domains; add acme.opendev.org" 2019-03-28 23:42:37 +00:00
Zuul
7b6db4f008 Merge "Use adns group in base.yaml" 2019-03-28 23:42:35 +00:00
Zuul
e55fef3a9c Merge "Add fake DNSSEC keys for zones" 2019-03-28 23:42:34 +00:00
Zuul
a5a26f0264 Merge "Add monitoring for filesystems other than root" 2019-03-28 22:35:10 +00:00
Zuul
2af483a167 Merge "Be permissive with tumbleweed mirroring for now" 2019-03-28 15:59:48 +00:00
Zuul
839ad2df18 Merge "Stop trying to mirror Master openSUSE_Leap_42.3" 2019-03-28 15:33:33 +00:00
Dirk Mueller
bc85842166 Be permissive with tumbleweed mirroring for now
We mainly focus on opensuse leap, so having those
mirrors up to date is more important than tumbleweed.

We need to avoid tumbleweed blocking the rest of the
sync, so we are permissive with errors there for now.

Change-Id: If15b0f65d7f4a470d9274be41b3d921d7709f19a
2019-03-28 15:18:20 +01:00
Jens Harbott
b6fb20f982 Add monitoring for filesystems other than root
We have hosts with an extra volume mounted to e.g. /opt, we want to
monitor disk space for those volumes, too.

For reference, this is how a sample list of hrStorageDescr looks like
before filtering:

$ php -q add_graphs.php --host-id=$HOST_ID --list-snmp-values
--snmp-field=hrStorageDescr
Known values for hrStorageDescr for host 350: (name)
/
/dev/shm
/opt
/opt/dib_tmp/dib_build.yFIsY6K6/mnt/tmp/yum
/run
/run/lock
/run/user/0
/sys/fs/cgroup
Cached memory
Memory buffers
Physical memory
Shared memory
Swap space
Virtual memory

Change-Id: Ia75448f68a0cee50a3a164a483869ab526bb8ad7
2019-03-28 10:22:54 +00:00
Ian Wienand
327cfa7893 Skip backports for buster
This is a follow-on to I39cb9dc0aa52cf5b20545baf4acacc21c5459f2a; as
buster has no backports we need to skip this in the reprepro
configuration.  It's a bit hacky, but we can revert when it is
available.

Change-Id: I60e231f23999d0af9c899a30822c71702befb2bd
2019-03-28 10:52:58 +11:00
Zuul
a6beae4eb7 Merge "Stop creating jeepyb scratch repos" 2019-03-27 21:34:59 +00:00
Zuul
0cbd09efbf Merge "Add the mirroring of Debian Buster" 2019-03-27 21:10:25 +00:00
James E. Blair
aaa6de7541 Stop creating jeepyb scratch repos
A long time ago, we created repos on the git farm for the use of
Zuul.  We put those in /var/lib/git/zuul.  They were not added
to the cgit index, so were generally not visible.

E.g., /var/lib/git/zuul/openstack/nova.git

We no longer use them, and we now want to create repos in the
zuul namespace, E.g., /var/lib/git/zuul/project-config.git.

Therefore we need to tell jeepyb to stop creating repos in the
zuul directory and additionally manually remove the repos from
the git servers.

Change-Id: Ibb72bc5e8a21195e829f55c5bea242ca69c6fceb
2019-03-27 13:27:31 -07:00
Zuul
8936916be4 Merge "Use docs.opendev.org ssl cert" 2019-03-27 16:58:54 +00:00
Dirk Mueller
2785f46b17 Stop trying to mirror Master openSUSE_Leap_42.3
for Train+ openSUSE is no longer focusing on Leap 42.3 anymore,
so we shouldn't try to mirror it going forward. In order
to make this more flexible we need to break out the loop because
in general not all combinations of Base OS and OpenStack
release might be available.

Change-Id: If0a783d85ce292772b845dfc6bdf55abafb56cb9
2019-03-27 16:16:35 +01:00
Zuul
0024d07a11 Merge "Explicitly set up mirror update crons under root user" 2019-03-27 13:34:12 +00:00
Zuul
2fc6ec0a80 Merge "Remove code to handle grafana 2.x installations" 2019-03-27 13:26:44 +00:00
Ian Wienand
66ceb321a6 master-nameserver: Add unmanaged domains; add acme.opendev.org
This adds the concept of an unmanaged domain; for unmanaged domains we
will write out the zone file only if it doesn't already exist.

acme.opendev.org is added as an unmanaged domain.  It will be managed
by other ansible roles which add TXT records for ACME authentication.
The initial template comes from the dependent change, and this ensures
the bind configuration is always valid.

For flexibility and testing purposes, we allow passing an extra
refspec and version to the git checkout.  This is one way to pull in
changes for speculative CI runs (I looked into having the hosts under
test checkout from Zuul; but by the time we're 3-ansible call's deep
on the DNS hosts-under-test it's a real pain.  For the amount of times
we update this, it's easier to just allow a speculative change that
can take a gerrit URL; for an example see [1])

[1] https://review.openstack.org/#/c/641155/10/playbooks/group_vars/dns.yaml

Testing is enhanced to check for zone files and correct configuration
stanzas.

Depends-On: https://review.openstack.org/641154
Depends-On: https://review.openstack.org/641168
Change-Id: I9ef5cfc850c3458c63aff46cfaa0d49a5d194e87
2019-03-27 14:22:59 +11:00
Ian Wienand
490df68885 Use adns group in base.yaml
Although we only have adns01, for testing purposes it would be handy
to have another adns server in testinfra (this way, we can write tests
for letsencrypt paths that don't try and execute on the existing dns
testing paths).

Change-Id: Ie1968660c110bdb626df637f182f1f39598e59ac
2019-03-27 14:21:29 +11:00
Ian Wienand
0484e29576 Add fake DNSSEC keys for zones
This allows the zones to load, which is useful in follow-on changes
where we can query them on the host from testinfra to make sure it's
all working.

Change-Id: I9d22c07ce2d1ebad67b0f1ca222c1b457779ce47
2019-03-27 10:39:02 +11:00
James E. Blair
2db41fc488 Update hieraedit for python3
Change-Id: Ibd8991eb466416f77a2decc7b0a280d8e4124942
2019-03-26 15:32:23 -07:00
James E. Blair
2ccf1ddb7a Use docs.opendev.org ssl cert
This has been added to bridge hostvars.

Change-Id: Ibd3db857b02558a255c482d8da83564fbc65d7c1
2019-03-26 15:31:50 -07:00
James E. Blair
9039bdc0b2 Allow all mod_rewrite directives in git-redirect vhosts
For our git redirect virtualhosts, allow the full set of mod_rewrite
directives.  These are entirely under our static control, so should
be safe.

Change-Id: Ia9c12ccc42ea157ebc4e3060841f1ab2d13008a3
2019-03-26 15:09:36 -07:00
Zuul
e806861095 Merge "Serve docs.opendev.org from files.openstack.org" 2019-03-26 16:11:48 +00:00
Zuul
f2f575b6d6 Merge "Replace openstack.org git:// URLs with https://" 2019-03-25 17:58:21 +00:00