546 Commits

Author SHA1 Message Date
Zuul
84091f5de4 Merge "Improve gerrit known_hosts management" 2021-08-06 17:10:19 +00:00
Zuul
85e32638db Merge "Serve gating.dev static website" 2021-08-06 00:20:25 +00:00
Zuul
47d1737cd7 Merge "Add mailing list for FLOSS MOOC" 2021-08-02 17:20:31 +00:00
Clark Boylan
f6a0bf7be5 Improve gerrit known_hosts management
Previously we were only managing root's known_hosts via ansible but even
then this wasn't happening because the gerrit_self_hostkey var wasn't
set anywhere. On top of that we need to manage multiple known_hosts
because gerrit must recognize itself and all of the gitea servers.
Update the code to take a dict of host key values and add each entry to
known_hosts for both the root and gerrit2 user.

We remove keyscans from tests to ensure that this update is actually
working.

Change-Id: If64c34322f64c1fb63bf2ebdcc04355fff6ebba2
2021-08-02 09:53:27 -07:00
Kendall Nelson
fc87c924a3 Add mailing list for FLOSS MOOC
Currently being collaboratively developed here:

https: //gitlab.com/mooc-floss/mooc-floss
Change-Id: I2002ee48878e816544b08012668c66337ab4707a
2021-08-02 16:17:40 +00:00
James E. Blair
af33336ca9 Serve gating.dev static website
Change-Id: I5219656f770842c8b222b6685ae1f0d7126b8065
2021-07-29 17:15:38 -07:00
Ian Wienand
c1278d18bb Remove review-test
With our system-config-run gerrit/review jobs we have much less need
for a dedicated server to stage changes on.  Remove in prepartion of
server cleanup.

Change-Id: I9430f7a2432324a184e3a4f7e41f9e5150c0200c
2021-07-21 13:12:43 +10:00
Ian Wienand
e79e3a2f04 Remove review01 references
This server is no longer in production, so remove the various
references to it.

Change-Id: I2cdd8052c48713e9ba648be20ccad5069d5fe40e
2021-07-20 11:57:10 +10:00
Zuul
cf7c95acb1 Merge "review02: skip ~gerrit2/tmp in backup" 2021-07-19 08:14:56 +00:00
Ian Wienand
ede3a6390c review02: skip ~gerrit2/tmp in backup
Change-Id: Ifcd8f6195b70592288f9a82fea170ae0def4d57a
2021-07-19 17:05:13 +10:00
Ian Wienand
0142bc10eb backups: add review02.opendev.org
Start backing up the new review server.  Stop backing up the old
server.  Fix the group matching test for the new server.

Change-Id: I8d84b80099d5c4ff7630aca9df312eb388665b86
2021-07-19 15:29:42 +10:00
Zuul
f1b559bb7a Merge "review02: move out of staging group" 2021-07-19 04:49:37 +00:00
Ian Wienand
8607ff7d81 review02: move out of staging group
This moves review02 out of the review-staging group and into the main
review group.  At this point, review01.openstack.org is inactive so we
can remove all references to openstack.org from the groups.  We update
the system-config job to run against a focal production server, and
remove the unneeded rsync setup used to move data.

This additionally enables replication; this should be a no-op when
applied as part of the transition process is to manually apply this,
so that DNS setup can pull zone changes from opendev.org.

It also switches to the mysql connector, as noted inline we found some
issues with mariadb.

Note backups follow in a separate step to avoid doing too much at
once, hence dropping the backup group from the testing list.

Change-Id: I7ee3e3051ea8f3237fd5f6bf1dcc3e5996c16d10
2021-07-18 19:45:35 -07:00
Zuul
b895af4d35 Merge "Remove paste01.openstack.org" 2021-07-16 03:03:50 +00:00
Ian Wienand
5e52befdfa Remove paste01.openstack.org
This has been replaced by paste01.opendev.org and Ansible deployment.

Change-Id: I0f8f5374a3f5d269b317bde4ae2b37435e0871d5
2021-07-15 23:25:10 +00:00
Ian Wienand
d4c613a07a Add paste01.opendev.org to backup
Change-Id: Iec6b916bd27a5333d28d1fdc931d4f41165bf50c
2021-07-15 15:02:52 +10:00
Clark Boylan
25d2fdcc3f Add warning to inventory about zuul gerrit server config
Let's avoid changing this and breaking Depends-On again by adding an
explicit warning to the code that sets the config.

Change-Id: Idcb77d8b0b53c56ea7f15f18e001f8bc9a001c98
2021-07-13 10:32:45 -07:00
Clark Boylan
2c06a86915 Talk to review.o.o instead of review01.o.o
Talking to review01.o.o in the Zuul gerrit connection config broke
depends-on handling as the urls would all need to be
https://review01.opendev.org/123456 and then later
https://review02.opendev.org/123456 but people use
https://review.opendev.org/123456.

This change was made to simplify DNS updates during the gerrit server
move but we should be able to handle those via manual landing of changes
and running of playbooks instead. Partially revert
e05257e1b7b70b18cb7b1349278e2c786a565512 to fix the depends-on handling.

Change-Id: Ie628b2627c263d88e466205af2a3d0418d6df7d3
2021-07-13 10:27:36 -07:00
Zuul
9311f67715 Merge "Add opendev paste server" 2021-07-13 00:26:49 +00:00
Zuul
51480ca77e Merge "Add paste service" 2021-07-13 00:07:03 +00:00
Zuul
f45f5f9626 Merge "Connect Zuul to review01.opendev.org" 2021-07-12 00:11:27 +00:00
Ian Wienand
ab81277757 Add opendev paste server
Depends-On: https://review.opendev.org/c/opendev/zone-opendev.org/+/799735
Change-Id: I9a0cf9d6a6decebcf55b09164cf35a6dce35d037
2021-07-07 15:12:18 +10:00
Ian Wienand
916c1d3dc8 Add paste service
The paste service needs an upgrade; since others have created a
lodgeit container it seems worth us keeping the service going if only
to maintain the historical corpus of pastes.

This adds the ansible to deploy lodgeit and a sibling mariadb
container.  I have imported a dump of the old data as a test.  The
dump is ~4gb and imported it takes up about double that; certainly
nothing we need to be too concerned over.  The server will be more
than capable of running the db container alongside the lodgeit
instance.

This should have no effect on production until we decide to switch
DNS.

Change-Id: I284864217aa49d664ddc3ebdc800383b2d7e00e3
2021-07-07 15:12:04 +10:00
Zuul
635b7dd682 Merge "Add gating.dev zone to ADNS" 2021-06-28 22:11:06 +00:00
James E. Blair
066c2ec4e1 Add gating.dev zone to ADNS
Depends-On: https://review.opendev.org/798374
Change-Id: I901d79c1fceec5566dfd4917b2c7903ffc443acf
2021-06-28 19:39:41 +00:00
Ian Wienand
e05257e1b7 Connect Zuul to review01.opendev.org
Point the Zuul scheduler at review01.opendev.org instead of the CNAME
review.opendev.org.  This avoids chicken-egg issues because Zuul
actually updates the DNS entries.

Depends-On: https://review.opendev.org/c/opendev/zone-opendev.org/+/798242
Change-Id: I1f6054fdab0fe0fcb311686d6af6454b6a714666
2021-06-28 14:36:08 +10:00
Ian Wienand
0e9b950086 Add eavesdrop01.opendev.org to backup group
This saves a copy of our channel/meeting logs.

Change-Id: I376d1426573416ff0c2e633fa40e4d93adc89483
2021-06-23 10:48:38 +10:00
Ian Wienand
2791684d39 review02 : bump heap limit to 96gb
This host has 128gb RAM.  96gb still leaves a considerable amount for
cache.

Change-Id: I1245c03ae6fbfa77743296e28b52a6a62395fc36
2021-06-18 13:20:37 +10:00
Zuul
2a1505dd5b Merge "review02 : switch reviewdb to mariadb_container type" 2021-06-17 22:57:51 +00:00
Zuul
9181d5198d Merge "gerrit: add mariadb_container option" 2021-06-16 23:14:48 +00:00
Ian Wienand
d1924491d6 review02 : switch reviewdb to mariadb_container type
This switches review02 to use a mariadb container for the change
review database.

Change-Id: Idc6183d63e22e7484a4127a3b71b29cb53c23c51
2021-06-16 13:57:19 +10:00
Ian Wienand
570ca85cd8 gerrit: add mariadb_container option
This adds a local mariadb container to the gerrit host to hold the
accountPatchReviewDb database.  This is inspired by a few things

 - since migration to NoteDB, there is only one table left where
   Gerrit records what files have been reviewed for a change.  This
   logically scales with the number of reviews users are doing.
   Pulling the stats on this, we can see since the NoteDB upgrade this
   went from a very busy database (~300 queries/70 commits per second)
   to barely registering one hit per second :
   https://imgur.com/a/QGJV7Fw

   Thus separating the db to an external host for performance reasons
   is not a large concern any more.

 - emperically we've done a bad job in keeping the existing hosted db
   up-to-date; it's still running mysql 5.1 and we have been hit by
   bugs such as the one referenced in-line which silently drops
   backups.

 - The other gerrit option is to use an on-disk H2 database.  This is
   certainly an option, however you need special tools to interact
   with it for migration, etc. and it's not safe to backup from files
   on disk (as opposed to mysqldump).  Upstream advice is unclear, and
   varies between H2 being a performance bottleneck to this being
   ephemeral data that users don't care about.  We know how to admin
   mariadb/mysql and this allows us to migrate and backup data, so
   seems like the best choice.

 - we have a pressing need to update the server to a new operating
   system.  Running the db alongside the gerrit instance minimises
   fiddling we have to do manging connections to and migrating the
   hosted db systems.

 - related to that, we are tending towards more provider independence
   for control-plane servers.  A hosted database product is not always
   provided, so this gives us more flexibility in moving things
   around.

 - the main concern here is memory usage.  "docker stats" reports a
   quiescent container, freshly started on a 8GB host:

    gerrit-compose_mariadb_1  67.32MiB

   After loading a copy of the production table, and then dumping it
   back to a file the same container reports:

    gerrit-compose_mariadb_1  462.6MiB

The existing remote mysql configuration path remains mostly the same.
We move the gerrit startup into a script rather than a CMD so we can
call it after a "wait for db" script in the mariadb_container case
(this is the reccommeded way to enforce ordering [1]).

Backups of the local container need different dump commands; backups
are relocated to a new file and updated.

Testing is converted to use this rather than a local H2 database.

[1] https://docs.docker.com/compose/startup-order/

Change-Id: Iec981ef3c2e38889f91e9759e66295dbfb499c2e
2021-06-16 13:57:13 +10:00
Ian Wienand
868a42a85a Move statusbot channels out of hiera
This makes I246b2723372594e65bcd1ba90215d6831d4c0c72 active

Change-Id: I5a9efa2edc2fe6fb70e21d4b58fd4283d2d5972d
2021-06-11 18:15:48 +10:00
Zuul
f80ab86043 Merge "Move meetbot config to eavesdrop01.opendev.org" 2021-06-11 00:10:56 +00:00
Zuul
084879c1fa Merge "limnoria/meetbot setup on eavesdrop01.opendev.org" 2021-06-10 02:04:53 +00:00
Ian Wienand
ccda6d08a1 Move meetbot config to eavesdrop01.opendev.org
This enables the new eavesdrop01.opendev.org server in all current
channels.  Puppet has been disabled on the old server and we will
manually stop supybot/meetbot and mirgrate logs before this applies.

Change-Id: I4a422bb9589c8a8761191313a656f8377e93422f
2021-06-10 09:02:23 +10:00
Ian Wienand
403773d55a limnoria/meetbot setup on eavesdrop01.opendev.org
This installs our Limnoira/meetbot container and configures it on
eavesdrop01.opendev.org.  I have ported the configuration from the old
puppet as best I can (it is very verbose); my procedure was to use the
Limnoira wizard to start a new config file then backport everything
from the old file.  I felt this was best to not miss any new options.

This does channel logging (via built-in ChannelLogger plugin, along
with a cron job for logs2html) and runs our fork of meetbot.

It exports the channel logs via HTTP to /irclogs and meetings logs to
/meetings.  meetings.opendev.org will proxy to these two locations
when the server is active.

Note this has not ported the channel list; so the bot will not be
listening in our channels.

Change-Id: I9f9a466c271e1a706f9f98f816de0e84047519f1
2021-06-10 09:02:16 +10:00
Zuul
632b2f9df7 Merge "Cleanup ask.openstack.org" 2021-06-09 05:42:26 +00:00
Zuul
39731fd614 Merge "Forward openstack-security ML to openstack-discuss" 2021-06-08 17:50:23 +00:00
Ian Wienand
f66efc0d9c Restore eavesdrop01.openstack.org to webservers group
This host is no longer under puppet control, but should still be a
webserver to export the logs it is still collecting until we finish
moving that to the new server.  Restore the match to open*

See I809f9af3e78f566362142790f6c79654ef5b8959

Change-Id: I524c0a7c5cc93313c180eca68b67a0f0582474df
2021-06-08 16:07:55 +10:00
Ian Wienand
7de885b5ee Cleanup ask.openstack.org
This was retired with I8a31f8fcf9b3064c0ae58e463a6014dc14b518a7

Change-Id: Ieafac856b0feb91f41f05084aa669e2ccb92569d
2021-06-08 14:35:28 +10:00
Ian Wienand
fec8018581 Move gerritbot/accessbot to new eavesdrop server
This moves these services to eavesdrop01.opendev.org, a new
Focal-based server to host IRC services.

We have stopped running puppet on eavesdrop01.openstack.org so there
is nothing left for it to do (note the server is still running
meetbot/ptgbot).  Remove the commented out puppet run, and remove the
server from puppet groups.  Update the host in the Zuul jobs to the
new node.

Change-Id: I809f9af3e78f566362142790f6c79654ef5b8959
2021-06-08 08:16:56 +10:00
Ian Wienand
fb94b79e82 Add eavesdrop01.opendev.org server
This adds a new server to take over from eavesdrop01.openstack.org.

We limit the puppet installs, etc. to the openstack.org server.  The
new server is in the group eavesdrop_opendev as we cut over services.
A stub for basic installation is added to the service playbook.

Depends-On: https://review.opendev.org/c/opendev/zone-opendev.org/+/795004
Change-Id: I88c3059532e4d6ab267fdec5b390daefa5b0c4a1
2021-06-07 12:59:02 +10:00
Jeremy Stanley
84c63ff1bf Forward openstack-security ML to openstack-discuss
The openstack-security mailing list is officially closing, and wants
future attempts at posting to end up on openstack-discuss instead:

http://lists.openstack.org/pipermail/openstack-security/2021-June/006077.html

This was also the only remaining user of the notify-impact Gerrit
hook, so we can stop installing/running it.

Change-Id: Id60b781beb072366673b32326e32fd79637c1219
2021-06-03 17:57:54 +00:00
Ian Wienand
0cfedd2318 Add static eavesdrop.openstack.org site
We are trying to replace eavesdrop01.openstack.org

The main landing page serves meeting information which has been moved
to a static site served from AFS at meeting.opendev.org.  Redirect
everything to there.

The IRC logs are currently still hosted on eavesdrop01, so while we
work on migrating these, proxy meeting.opendev.org/<irclogs|meetings>
to this server.

Note this will be a no-op until we move the DNS, but we should make
the eavesdrop acme records before merging.

Change-Id: I5c9c23e619dbe930a77f657b5cd6fdd862034301
2021-06-03 14:34:20 +10:00
Ian Wienand
270daa1b1a Serve meetings.opendev.org
This site replaces eavesdrop.openstack.org.  I think this name makes
more sense.

That is/was being published by jobs directly pushing this onto the
eavesdrop server.  Instead, the publishing jobs for irc-meetings now
publish to /afs/openstack.org/project/meetings.opendev.org.  This
makes the site available via the static server.

This is actually a production no-op; nothing has changed for the
current publishing.  It is still todo to figure out the correct
redirects to keep things working from the existing
eavesdrop.openstack.org and stop the old publishing method.

Depends-On: https://review.opendev.org/c/opendev/zone-opendev.org/+/794085
Change-Id: Ia582c4cee1f074e78cee32626be86fd5eb1d81bd
2021-06-02 13:56:19 +10:00
Clark Boylan
399ade787b More puppetry and inventory cleanups
This cleans up ask-staging which hasn't been a thing in a log time.
We remove some puppet stubs for nodepool builders (they are all ansible
now).

We also cleanup the inventory file to remove corvustest, lists-dev,
pbx, mirror-update*.openstack.org (is opendev.org now), and sort the
LE list.

Change-Id: I8da025640e16bf6e8aca1eb6ec7799d26bd03f12
2021-05-27 14:49:39 -07:00
Clark Boylan
7a0ab6c94e Provision LE certs for openstackid.org
This will provision LE certs for openstackid.org. If we are happy with
the results then the child change can be merged to to swap apache over
to using the new cert.

Change-Id: Icc9fdd8a39630323916d1f33d9867f93fc6f2b85
2021-05-26 13:28:27 -07:00
Zuul
715dda2c8d Merge "ask.openstack.org static site" 2021-05-26 01:05:14 +00:00
Ian Wienand
1fbd156697 ask.openstack.org static site
We have decided to decommision the ask.openstack.org server as it is
running EOL Xenial, and its manually purchased certiface is about to
expire.  Although it has been deprecated for some time, we feel like
it has been around long-enough as a resource that it is best if we
replace it with a place-holder.  The links included here are the same
as the currently shown header explaining the site is read-only.

There's nowhere particularly relevant to redirect the site, so we add
a static file here, and some minimal Ansible to put it in the right
place in a generic way in-case we want to do the same for another
service.

Change-Id: I8a31f8fcf9b3064c0ae58e463a6014dc14b518a7
2021-05-25 16:09:52 +10:00