18366 Commits

Author SHA1 Message Date
Zuul
d83a44d9ec Merge "Correct how ansible-galaxy is proxified" 2022-12-06 15:32:21 +00:00
James E. Blair
381cec3154 Update internal hyperkitty URL
This is the correct URL for messages to be submitted to hyperkitty.

Change-Id: I03e25e008f14036d1bc161bc78f85060fbdaaf57
2022-12-05 14:27:25 -08:00
Jeremy Stanley
32927a2181 Create lists.zuul-ci.org on the Mailman v3 server
Uncomment the existing configuration for the Zuul community's
mailing lists so they'll be precreated in time for our migration
maintenance later today.

Change-Id: I5d0680eae356c2585f872411ab4529e895f543fd
2022-12-05 16:05:50 +00:00
Zuul
42581d6462 Merge "Also bootstrap bridge any time inventory changes" 2022-12-04 23:42:11 +00:00
Zuul
7d2795e2dd Merge "bridge: change prod Ansible policy to <8" 2022-12-04 23:42:08 +00:00
Zuul
f69d8f5385 Merge "bridge: Update to Ansible 7" 2022-12-04 23:42:05 +00:00
Zuul
50d1d7895d Merge "Bump bridge ansible to 6.6.0" 2022-12-04 23:42:02 +00:00
Ian Wienand
c4364f5e38
mailman3: fix db name in streaming file
This file streams the db backup to borg; it should be using the
"database" container from the docker-compose file.

Change-Id: Ide568215677855aa8eff1da617c4649223373052
2022-12-02 16:40:03 +11:00
Zuul
76fc51c3b0 Merge "bridge: Disable writing known_hosts files" 2022-12-01 22:54:43 +00:00
Zuul
4d1ce65f01 Merge "Trigger gerrit image testing" 2022-12-01 22:17:28 +00:00
Zuul
2e0ec9986b Merge "gitea-set-org-logos: use -T on mariadb command" 2022-12-01 21:15:42 +00:00
Zuul
1fb364ea25 Merge "gitea-git-repos: remove #!/usr/bin/env python" 2022-12-01 21:15:39 +00:00
Zuul
c3d466ac34 Merge "letsencrypt: build txt record lists betterer" 2022-12-01 21:15:37 +00:00
Zuul
2404e2d168 Merge "letsencrypt-request-certs: refactor certcheck list" 2022-12-01 21:14:16 +00:00
Zuul
cde97b6c56 Merge "borg-backup-server: build borg users betterer" 2022-12-01 20:41:31 +00:00
Ian Wienand
89d11a1544
Trigger gerrit image testing
This runs tests on Ic47d998089c320e8e4ca371b8fb4b338c5fd903a.  We'll
use this tested image to deploy with.

Change-Id: I6c500b26a0340a685573c22b748d37d32cb45e27
2022-12-02 07:23:07 +11:00
Cédric Jeanneret
d6a5c34eb0 Correct how ansible-galaxy is proxified
ansible-galaxy CLI makes multiple calls to the remote server, with
various API endpoint, and expects JSON containing fully qualified URI
(scheme://host/path), meaning we must inspect the different files and
ensure we're rewriting the content so that it points to the proxy all
the time.

Also, the remote galaxy.ansible.com has some redirects with absolute
paths, breaking for some reason the ProxyPassReverse - this is why we
get yet a new pair of dedicated ports for this proxy (TLS/non-TLS).

Then, there's the protocol issue: since mod_substitute is apparently
unable to take httpd variables such as the REQUEST_SCHEME, we have to
use some If statement in order to ensure we're passing the correct
scheme, being http or https. Note that ansible-galaxy doesn't understand
the "//host/path".

This patch also adds some more tests in order to ensure the API answers
as expected through the proxy.

Change-Id: Icf6f5c83554b51854fabde6e4cc2d646d120c0e9
2022-12-01 17:40:42 +00:00
Zuul
0ab828f1f5 Merge "Clean up an old raw IP address from our MTAs" 2022-12-01 13:30:50 +00:00
Clark Boylan
06c808e70d Update iweb clouds.yaml for old and new openstacksdk
Due to changes in the internap cloud being renamed to iweb and back
again the history of the internap clouds.yaml profile is one of change.
Unfortunately, we need to talk to iweb specifically but the internap
profile in new openstack sdk talks to internap and things break.

Fix this by removing the use of the profile and setting the values
explicitly in our clouds.yaml files.

While this cloud is going away in about a month making this change is
still worthwile as it will allow us to use new openstacksdk on bridge
and nodepool to talk to iweb in the meantime.

Change-Id: I9f6c414115190ec5d25e0654b4da9cd9b9cbb957
2022-11-30 13:37:13 -08:00
Jeremy Stanley
35ddeb06c7 Clean up an old raw IP address from our MTAs
For some reason, this was in our original lists.openstack.org Exim
configuration when we first imported it to Puppet so many years ago.
Somehow it's survived and multiplied its way into other configs as
well. Time to finally let it go.

Change-Id: I23470c10ae0324954cb2afda929c86e7ad34663e
2022-11-30 18:32:46 +00:00
Zuul
6ba92c3a52 Merge "Improve launch-node deps and fix script bugs" 2022-11-30 17:50:59 +00:00
Jeremy Stanley
a31bd1a8fd Improve launch-node deps and fix script bugs
The version of python-cinderclient needs to be constrained to before
the point at which it dropped volume API v2 support (which happened
in 8.0.0). If this is pinned back, latest openstackclient can be
installed and used for Rackspace volume operations without issue.
Make sure we install new enough OpenStackSDK so it doesn't try to
pass unsupported networking options in server create calls to
Rackspace too.

The script itself had a couple of issues once rehomed, the first
being it was looking for Ansible playbooks relative to its former
path in the repository rather than its installed location in the
venv, so make that path configurable but have it default to the
absolute path to those on the bridge now. Also, the script really
wanted to clear the ansible cache, but when that path doesn't exist
(as is currently the case on the bridge), it aborts rather than
continuing, so wrap that call in a try/except.

While we're here, update our default server image from focal to
jammy.

Change-Id: I103c7799ebe319d2d8b3fb626d7804387d3e8a60
2022-11-30 01:53:14 +00:00
Zuul
8187efc684 Merge "rax: remove identity_api_version 2 pin" 2022-11-30 00:01:25 +00:00
Jeremy Stanley
fa22fa726a Also bootstrap bridge any time inventory changes
We need the infra-prod-bootstrap-bridge job to add SSH host keys
from our Ansible inventory to the /etc/ssh_known_hosts on the
bridge. When adding a new server to the inventory, any added host
keys should be deployed. Make sure this happens.

Change-Id: I422f80fc033cfe8e20d6d30b0fe23f82800c4cea
2022-11-29 20:48:23 +00:00
Zuul
c661bb4e78 Merge "bridge: switch OSC from container to local install" 2022-11-29 19:41:27 +00:00
Zuul
afeb21a294 Merge "Add lists01.opendev.org to the inventory" 2022-11-29 19:15:57 +00:00
Ian Wienand
ecc2e9a69f
letsencrypt: pin acme.sh to 3.0.5
We've been running against the dev branch of acme.sh since the initial
commit of the letsencrypt work -- at the time I feel like there were
things we needed that weren't in a release.  Anyway, there is now an
issue causing ECC certificates to be made and failing to renew [1]
which we can't work-around.

Pin this to the current release.  It would probably be good to pin
this to the "latest" release to avoid us forgetting to ever bump this
and ending up with even harder to debug bit-rot.

[1] https://github.com/acmesh-official/acme.sh/issues/4416

Change-Id: I0d07ba1b5ab77e07c67ad990e7bc78a9f90005a4
2022-11-29 13:11:51 +11:00
Ian Wienand
9e2d9f6aef bridge: switch OSC from container to local install
Currently "openstack" command on bridge doesn't work, because we need
cinder client pinned to an older version for RAX support.  The
upstream container uses the latest versions of everything and it fails
to parse the "volume_api_version: 2" pin for RAX in the config file.

In general, the version of openstackclient we can probably most likely
rely on to work is the one from the launch-node virtualenv.  It also
means we just have one place to manage a broadly-compatible version,
instead of trying to manage versions in separate containers, etc.

This converts the /usr/local/bin/openstack command from calling into
the container, to calling into the launch venv.

Change-Id: I604d5c17268a8219d51d432ba21feeb2e752a693
2022-11-25 09:37:40 +00:00
Ian Wienand
368b781cc6
bridge: change prod Ansible policy to <8
Instead of pinning to an exact release, make this just accept anything
from the current version series.  I think this is a good trade-off
between us have to bump every single time a point release comes out,
but also not jumping too far and breaking production.

Change-Id: I4789fe99651597b073e35066ec3be312e18659b8
2022-11-25 10:39:37 +11:00
Ian Wienand
d741b66e94
bridge: Update to Ansible 7
Just a few hours after Ifcb88f57a4e6b721eb87b47148ad133713af1e42 to
update to 6.6.0, Ansible 7 was released :)

This is proposed as a separate change just to facilitate quick
reversal to 6 if required.

Change-Id: Id3d8b660a5442c3033d8177a80921979244adbae
2022-11-25 10:38:26 +11:00
Ian Wienand
7370046c3b
rax: remove identity_api_version 2 pin
This was pinned to v2 in I6dddf93fb2c7b1a73315629e4a983a2d5a0142cc
some time ago.

I have tested with this removed and openstacksdk appears to figure it
out correctly.  Removing this reduces one small thing we need to think
about.

Change-Id: I85c3df2ebf6a424724a8e6beb0611924097be468
2022-11-24 09:34:57 +11:00
Jeremy Stanley
e63bf52a2d Add lists01.opendev.org to the inventory
This will serve our new Mailman v3 mailing list sites once they're
migrated.

Change-Id: I0c7229eeffcb5896edadf697044cbd026037d903
Depends-On: https://review.opendev.org/865360
2022-11-23 02:22:01 +00:00
Ian Wienand
eafa10f86a
Bump bridge ansible to 6.6.0
Change-Id: Ifcb88f57a4e6b721eb87b47148ad133713af1e42
2022-11-23 09:31:01 +11:00
Ian Wienand
65856979f8
gitea-set-org-logos: use -T on mariadb command
For some reason something about running under Ansible 6 trips this up
and fails with "unable to allocate a TTY", whereas the old version
didn't.  Tell it not to allocate a tty.

Change-Id: Iceb3686d6c00380f4ffba0be8a7af7abd10f8f8b
2022-11-23 08:26:28 +11:00
Ian Wienand
c2c0edfae4
gitea-git-repos: remove #!/usr/bin/env python
A change in Ansible 6, discussed at [1], highlights that Ansible is
using the #! line to determine using it's own heuristics the
interpreter to use to run the file, rather than the more common idea
that this file is being interpreted by the kernel.

The best solution seems to be to have no interpreter line, which is
done here.

To avoid confusion this removes the executable bit; if you want to run
it manually you should run it under the python binary as an argument.

I couldn't find any other instances of this same behaviour in
system-config.

[1] https://github.com/ansible/ansible/issues/78809

[1] 9142be2f6c
[2] 9e22cfdb0f

Change-Id: I1d37e485a877982c72fa19acad907b682858c15b
2022-11-23 08:26:28 +11:00
Ian Wienand
ac55e08d05
letsencrypt: build txt record lists betterer
These list constructions look wrong, in hindsight I'm not really sure
how it works.  Ansible 6 seems to barf on it.  Make this one evaluated
statement.

Change-Id: I2a5d4926221f758501f95a8689e4304f814f405f
2022-11-23 08:26:28 +11:00
Ian Wienand
fdb68ed81a
letsencrypt-request-certs: refactor certcheck list
In Ansible 6 this doesn't come out as a list.  Refactor this into a
more jinja-y pipeline that should do a better job of it.

Change-Id: I5684291047a3e1000cd38ba33a951bed9fa3081f
2022-11-23 08:26:28 +11:00
Ian Wienand
476b225fca
borg-backup-server: build borg users betterer
This looks wrong, in hindsight I'm not really sure how it works.
Ansible 6 seems to barf on it.  Make this one evaluated statement.

Change-Id: I7f73bf723af1086fc4473e76614ce30ca14f3d74
2022-11-23 08:26:28 +11:00
Zuul
f40c52b01a Merge "opendev.org: close <li> tag properly" 2022-11-22 20:20:59 +00:00
Zuul
b879e5fad7 Merge "Fork the maxking/docker-mailman images" 2022-11-22 18:11:24 +00:00
Zuul
b7b2157133 Merge "Add a mailman3 list server" 2022-11-22 18:00:30 +00:00
Ian Wienand
2afd126254
opendev.org: close <li> tag properly
Typo in Ic127ceb4abd2d89cd6155e8831145fa3b3705664

Change-Id: I9766cec96e126ac6f45717d1f93e6f429ff25467
2022-11-22 18:18:41 +11:00
Zuul
3dc6d8f612 Merge "opendev.org: add status update links" 2022-11-22 05:24:25 +00:00
Zuul
635373492b Merge "system-config-run-gitea: use standard bridge host" 2022-11-22 02:40:32 +00:00
Ian Wienand
9445fccb55
system-config-run-gitea: use standard bridge host
In what looks like a typo, we are overriding the bridge node for this
test to a bionic host.  Remove this.  This was detected by testing an
upgraded Ansible, which wouldn't install on the lower python on
Bionic.

Change-Id: Ie3e754598c6da1812e74afa914f50d91972012cd
2022-11-22 11:26:14 +11:00
Zuul
7ca1225df7 Merge "launch-node : make into a small package" 2022-11-21 23:19:40 +00:00
Zuul
be9db368af Merge "openafs: copy dkms log directory" 2022-11-21 21:12:41 +00:00
Zuul
37ff268a74 Merge "rax-dns-backup: fix parsing" 2022-11-21 20:46:58 +00:00
Zuul
c89ffc3d6f Merge "Switch python-builder/python-base to pip wheel" 2022-11-21 18:35:21 +00:00
Clark Boylan
12d4355385 Fork the maxking/docker-mailman images
These images have a number of issues we've identified and worked
around. The current iteration of this change is essentially
identical to upstream but with a minor tweak to allow the latest
mailman version, and adjusts the paths for hyperkitty and postorius
URLs to match those in the upstream mailman-web codebase, but
doesn't try to address the other items. However, we should consider
moving our fixes from ansible into the docker images where possible
and upstream those updates.

Unfortunately upstream hasn't been super responsive so far hence this
fork. For tracking purposes here are the issues/PRs we've already filed
upstream:

  https://github.com/maxking/docker-mailman/pull/552
  https://github.com/maxking/docker-mailman/issues/548
  https://github.com/maxking/docker-mailman/issues/549
  https://github.com/maxking/docker-mailman/issues/550

Change-Id: I3314037d46c2ef2086a06dea0321d9f8cdd35c73
2022-11-21 16:51:02 +00:00