551 Commits

Author SHA1 Message Date
James E. Blair
fd4fd57409 Remove port 22 from webservers extra ports
This isn't necessary since it's hard-coded into the file.  Let's
not add it where it isn't needed lest we confuse ourselves into
thinking it's necessary.

Change-Id: I011c647bb85e145e55fb6feb19facdedec180bf1
2021-08-11 14:21:34 -07:00
James E. Blair
8d76a7cd99 Test port 9001 on eavesdrop
We merged change I9459e47ecfd19b27b7adcaee9ce91f80d51c124d which
should have opened this port but did not.  Add testing for it.

Remove eavesdrop from webservers group

This was overridding the custom iptables ports that were being set
in the eavesdrop group vars file.  There appears to be no other use
for the webservers group.

Change-Id: I7109f1472176ff39482f9bdfc8462e5f525f791c
2021-08-11 14:20:41 -07:00
Zuul
92ead4baa1 Merge "Remove the mysql support from our gerrit role and image" 2021-08-10 23:32:37 +00:00
Clark Boylan
75e0cf106a Remove the mysql support from our gerrit role and image
We are now using the mariadb jdbc connector in production and no longer
need to include the mysql legacy connector in our images. We also don't
need support for h2 or mysql as testing and prod are all using the
mariadb connector and local database.

Note this is a separate change to ensure everything is happy with the
mariadb connector before we remove the fallback mysql connector from our
images.

Change-Id: I982d3c3c026a5351bff567ce7fbb32798718ec1b
2021-08-10 13:06:54 -07:00
Tristan Cacqueray
32a38a4b83 Add gerritbot-matrix health check and expose prometheus monitoring
This change enables monitoring the gerritbot-matrix service metrics.

Change-Id: I9459e47ecfd19b27b7adcaee9ce91f80d51c124d
2021-08-08 17:35:45 +00:00
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