2020 Commits

Author SHA1 Message Date
Jeremy Stanley
33c8b1ac4b Retry acme.sh cloning
Sometimes we observe failures to clone acme.sh from GitHub. Retry it
up to three times with a two-second delay between each try, in hopes
of failing these jobs less often.

While we're here, update the URL to a more current one which doesn't
need redirecting.

Change-Id: I5179c0482afcb407b7d28d4c3ce73d96d41c6493
2021-10-13 18:31:46 +00:00
Zuul
fed8ec476b Merge "Upgrade Gerrit to 3.3" 2021-10-10 20:45:48 +00:00
Zuul
a0953f063f Merge "Update gerritbot-matrix version to include change number in notifications" 2021-10-08 01:14:38 +00:00
Zuul
5f96f2abe3 Merge "Update ICLA to reference OpenInfra" 2021-10-08 01:14:34 +00:00
Wes Wilson
bdb6e7b8f8 Update ICLA to reference OpenInfra
Change-Id: Ifc9feaefcd64bb2e6ca060b5bd3aac5ed6345f9c
2021-10-07 13:17:12 -07:00
Jeremy Stanley
a5c1feef0f Add ptgbot serveralias for redirecting PTG site
While under development, the subdomain for the PTG site was
originally written as ptgbot.opendev.org and this is what was
communicated to event organizers. Mass communications subsequently
went out including this for URLs to the service. In order to make
the content from those announcements viable, add the additional name
to our configuration so we can redirect from it to the name we
eventually settled on.

While we're adjusting vhost metadata, make the ServerAdmin
directives between the HTTP and HTTPS vhosts for the service
consistent.

Change-Id: I726069f83b792fa31d92b759adc5c1214ca087fa
2021-10-07 19:34:16 +00:00
Jeremy Stanley
ba7d3d59c3 Turn on mod_rewrite for PTG vhost
In order to use Rewrite* directives, mod_rewrite must be activated
in the vhost via RewriteEngine.

Change-Id: I495ee5e9fd3b1d489122d6e282d3a91d1035c126
2021-10-07 19:34:16 +00:00
Jeremy Stanley
6df026852e Update ptgbot jobs to use #opendev-sandbox channel
The default channel name in the ptgbot role defaults did not
correctly specify a starting hash which it requires, but also the
test jobs seem to need it set in the eavesdrop group vars specific
to testing.

Change-Id: I16cdeac4f7af50e2cac36c80d78f3a87f482e4aa
2021-10-07 19:34:15 +00:00
Clark Boylan
e47dccdc34 Upgrade Gerrit to 3.3
This bumps the gerrit image up to our 3.3 image. Followup changes will
shift upgrade testing to test 3.3 to 3.4 upgrades, clean up no longer
needed 3.2 images, and start building 3.4 images.

Change-Id: Id0f544846946d4c50737a54ceb909a0a686a594e
2021-10-07 11:54:46 -07:00
Tristan Cacqueray
ce7aef9b4f Update gerritbot-matrix version to include change number in notifications
… as suggested by @clarkb

Change-Id: I3ce9507423b7c609e88ee5b19b70ae197a9e29ec
2021-10-07 15:01:00 +00:00
Zuul
3cd5d95d14 Merge "ptgbot: Add ServerAlias for ptg.openstack.org" 2021-10-07 00:48:47 +00:00
Zuul
7b943ed04a Merge "ptgbot: rename site to ptg.opendev.org" 2021-10-07 00:48:45 +00:00
Ian Wienand
d1c1e0dc02 ptgbot: Add ServerAlias for ptg.openstack.org
Ensure the old site redirects to the new site

Change-Id: I85a9616db3b0c8c443db927f751da8c2c418c318
2021-10-07 10:35:01 +11:00
Zuul
5b987ea6bc Merge "ptgbot: fix servername on http side" 2021-10-06 22:47:22 +00:00
Zuul
d108da5785 Merge "Upgrade gitea to 1.15.3" 2021-10-06 22:47:20 +00:00
Ian Wienand
67c08d52ad ptgbot: rename site to ptg.opendev.org
To remain consistent with "ptg.openstack.org", we are dropping the
"bot"

Depends-On: https://review.opendev.org/c/opendev/zone-opendev.org/+/812757
Change-Id: I5f06ee08241a286178fcb1be5c19fee6b6086d6f
2021-10-07 09:43:39 +11:00
Ian Wienand
347a9314ed ptgbot: fix servername on http side
Change-Id: I2c5883b7723fed1ed0b83f71507e50d3f85d5841
2021-10-07 08:38:00 +11:00
Zuul
b1bb5b782d Merge "Finish ptgbot configuration" 2021-10-06 20:22:50 +00:00
Zuul
455f56c676 Merge "ptgbot: setup web interface" 2021-10-06 19:51:51 +00:00
Jeremy Stanley
ad16067ae8 Finish ptgbot configuration
Set the channel we want ptgbot joining in production with a group
var, like we do for statusbot's channel list. Correct the password
var name to match what's used in the template for production (and
matches the override set in our private hostvars on the bastion).
Clean up the unnecessary auth nicks list which was copied from the
statusbot config but is entirely unused. Also get rid of some
unnecessary empty lines in the defaults as they really don't make
the file any more readable.

Change-Id: Id026b89d642eae13feba374e4f3ec610b543e530
2021-10-06 19:06:39 +00:00
Clark Boylan
4346570a0b Fix letsencrypt_self_generate_tokens defaults
We set the letsencrypt_self_generate_tokens value to True in testing
which means the variable is valid and exists in testing. However, in
production this variable isn't set and doesn't ahve a default so we get:

  The task includes an option with an undefined variable. The error was:
  'letsencrypt_self_generate_tokens' is undefined

Fix this by setting the default value for this var to False. Also, add
it to the README of letsencrypt-request-certs as this is where it is
primarily used.

Change-Id: I862df6ea3ff7f3a1df2a088b04d230bb618aaa85
2021-10-06 08:40:43 -07:00
Zuul
50c5727d42 Merge "Setting Up Ansible For ptgbot" 2021-10-06 14:18:36 +00:00
Zuul
6972d3c7b6 Merge "Setup Letsencrypt for ptgbot site" 2021-10-06 13:00:40 +00:00
Zuul
f80175b66a Merge "letsencrypt : don't use staging in the gate" 2021-10-06 12:59:58 +00:00
Ian Wienand
86b7f75b25 ptgbot: setup web interface
The dependent change exports the ptgbot website on port 8000 in the
container.  Proxy this through apache.

Depends-On: https://review.opendev.org/c/openstack/ptgbot/+/812417
Change-Id: Idf9e9f5ffad981427d24a3476c0c1f244721d917
2021-10-06 15:39:25 +11:00
Kendall Nelson
62e30e52de Setting Up Ansible For ptgbot
Heavily taken from statusbot, but removed wiki and twitter defaults.

Change-Id: I7b1958dbe37e5d25b8fde746235c88a4d6763ffd
2021-10-06 15:39:25 +11:00
Kendall Nelson
a24310c17f Setup Letsencrypt for ptgbot site
Depends-on: https://review.opendev.org/c/opendev/zone-opendev.org/+/804790

Change-Id: I8812628a3b021180e7c5d33ccd0cd5c2f0cc4745
2021-10-06 15:39:25 +11:00
Ian Wienand
547a4578bd letsencrypt : don't use staging in the gate
Currently we connect to the LE staging environment with acme.sh during
CI to get the DNS-01 tokens (but we never follow-through and actually
generate the certificate, as we have nowhere to publish the tokens).
We've known for a while that LE staging isn't really meant to be used
by CI like this, and recent instability has made the issue pronounced.

This modifies the driver script to generate fake tokens which work to
ensure all the DNS processing, etc. is happening correctly.

I have put this behind a flag so the letsencrypt job still does this
however.  I think it is worth this job actually calling acme.sh to
validate this path; this shouldn't be required too often.

Change-Id: I7c0b471a0661aa311aaa861fd2a0d47b07e45a72
2021-10-06 15:34:21 +11:00
Ian Wienand
f673eda549 gerrit: add its actions.config file
This file used to be managed by puppet-gerrit and it seems we missed
converting it to Ansible.  Add it with the contents from the server.

Change-Id: I10a10166446941d2676ae9181fc74b5a1408c5ed
2021-10-05 08:36:25 +11:00
Jeremy Stanley
c80c6eeda9 Revert "Switch Fedora mirror to mirrors.mit.edu"
This reverts commit aa5623982fbecb4958ee90ab7ddc54d6d0d49747.

The MIT mirror seems to now be missing Fedora 34 indices, but the
one we were using before at UH looks just fine now.

Change-Id: I59649ea93cc1ce13715096dcd0b8f828ce6b6724
2021-09-30 03:09:50 +00:00
Clark Boylan
c9d6b4d248 Use fullchain.cer on graphite for nginx
Nginx doesn't seem to support explcit intermedate cert chains [0] and we
need to supply all of the certs together in a single file. Thankfully
acme.sh does this and calls it the fullchain.cer file. Use that in the
nginx config for graphite to fix issues with ssl verification to this
service.

[0] http://nginx.org/en/docs/http/configuring_https_servers.html#chains

Change-Id: I318fb92a30c1593c2a2e4cb37496b16f17472f1d
2021-09-29 15:18:10 -07:00
Zuul
bb0f135b5b Merge "GC/pack gitea repos every other day" 2021-09-28 21:35:57 +00:00
Clark Boylan
048a918a61 Upgrade gitea to 1.15.3
We move robots.txt to custom/ instead of custom/public/ as
custom/public/ is now served at /assets/ via the gitea webserver and we
need robots.txt at the root. Related to this we update image urls to be
prefixed with AssetUrlPrefix in their paths so that if this path changes
against in the future we should automatically accomodate that.

Change-Id: I8ce5fe8ff342617ff156a401be8418d593fd35c4
2021-09-27 12:54:52 -07:00
Zuul
bcb437237a Merge "gerrit: host logo in static files" 2021-09-27 16:54:19 +00:00
Zuul
64d0939da2 Merge "gerrit: copy static files directly into container image" 2021-09-27 16:54:16 +00:00
Zuul
7e030a32df Merge "Use Apache to serve a local OpenDev logo on paste" 2021-09-21 23:28:04 +00:00
Jeremy Stanley
1a227489e2 Use Apache to serve a local OpenDev logo on paste
In order to avoid unnecessary browser requests to other sites,
install a copy of the OpenDev logo on the Lodgeit server and serve
it from there rather than pointing at one served from Gitea.

Change-Id: I4c3678a1de8ca4a41cd0c64aab71b2e0e25373af
2021-09-21 20:28:29 +00:00
Clark Boylan
522afa85cc GC/pack gitea repos every other day
Previously we were doing this weekly. Gerrit does this daily. "Split"
the difference and do gitea every other day.

We have noticed that replication to gitea can be slow at times. One idea
is that the less packed repos on the gitea side may make negotiating the
updates slower. Pack more often to see if this helps.

Change-Id: I8961007dce3e448bfdbf1c5f3e8dfc5ec8eb82fb
2021-09-21 08:32:15 -07:00
Zuul
fc75255ea9 Merge "gerrit: copy theme plugin from plugins/" 2021-09-21 15:13:09 +00:00
Zuul
02705bf73a Merge "lodgeit: use logo from system-config assets" 2021-09-21 14:28:18 +00:00
Zuul
57d2e67a5c Merge "Run daily backups of nodepool zk image data" 2021-09-20 17:34:28 +00:00
Ian Wienand
f19e41e893 gerrit: host logo in static files
Instead of using the opendev.org/... logo file, host a copy from
gerrit's static location and use that.  This isolates us from changes
to the way gitea serves its static assets.

Change-Id: I8ffb47e636a59e5ecc3919cc7a16d93de3eae08d
2021-09-17 12:35:12 +10:00
Ian Wienand
227839e8ad gerrit: copy static files directly into container image
Copy static files directly into the container image instead of
managing them dynamically with Ansible.

Change-Id: I0ebe40ad2a97e87b00137af7c93a3ffa84929a2e
2021-09-17 12:35:12 +10:00
Ian Wienand
e8c456926c lodgeit: use logo from system-config assets
This currently uses a file served from gitea's staic assets; to
isolate us from changes to gitea's file layout switch this to use the
canonical file directly from system-config/assets.

Change-Id: Ibf67040af2b0a18261621a120ee26c78020e3ace
2021-09-17 12:35:12 +10:00
Ian Wienand
791d09be46 gerrit: copy theme plugin from plugins/
This is a minor refactor to make a follow-on that copies static files
more logical.

Change-Id: Id31106a875926dd4eca31972b1fc52a1cd0b67bd
2021-09-17 12:35:12 +10:00
Clark Boylan
a1cf5b3f6f Run daily backups of nodepool zk image data
This does local backups of the nodepool zk image image data to
/var/log/nodepool on the nodepool-builders. These hosts don't get
offsite backups but we run mutliple redundant servers. This data isn't
critical as we can start from scratch, but may be useful if we don't
want to go through all that trouble.

Change-Id: I7d150df9c0d9566ef2d32167cea535e29822cfa2
2021-09-16 14:12:08 -07:00
Clark Boylan
f1bcb6a586 Set a gerrit replication timeout of 15 minutes
We are seeing that replication tasks occasionally sit around forever and
have had to take manual intervention. One theory is that this is related
to networking between the gerrit server and the gitea servers. We don't
set maxRetries which means replication should be retried infinitely
which means if we hit the timeout we should try again. 15 minutes was
sort of arbitrarily chosen as ~twice the time it takes to clone a large
repo like nova.

Change-Id: Iec2536ad149a2e625a1f0107b9fcee3079493607
2021-09-15 16:25:04 -07:00
Clark Boylan
6c115cf29e Add support for Ubuntu Focal to our mailman ansible
This switch testing of lists.openstack.org to Focal and we make a CGI
env var update to accomodate newer mailman.

Specifically newer mailman's CGI scripts filter env vars that it will
pass through. We were setting MAILMAN_SITE_DIR to vhost our mailman
installs with apache2, but that doesn't pass the filter and is removed.
HOST is passed through so we update our scripts, apache vhost configs,
exim, and init scripts to use the HOST env var instead.

Change-Id: I5c8c70c219669e37b7b75a61001a2b7f7bb0bb6c
2021-09-13 09:10:00 -07:00
Zuul
7a90a92ebb Merge "gitea: add some screenshots to testing" 2021-09-07 16:57:45 +00:00
Ian Wienand
1dde7628e8 gitea: add some screenshots to testing
Change-Id: Id13fdd8ffbca1b0cd19858419d68f012e33f3ba8
2021-09-07 08:59:46 +10:00