1667 Commits

Author SHA1 Message Date
Ian Wienand
018a14e34f refstack: cleanup old puppet
Remove old puppet configuration for the restack service, which is now
managed by Ansible.

Change-Id: I6b6dfd0f8ef89a5362f64cfbc8016ba5b1a346b3
2021-03-17 07:06:53 +11:00
Ian Wienand
39ffc685d6 backups: remove all bup
All hosts are now running thier backups via borg to servers in
vexxhost and rax.ord.

For reference, the servers being backed up at this time are:

 borg-ask01
 borg-ethercalc02
 borg-etherpad01
 borg-gitea01
 borg-lists
 borg-review-dev01
 borg-review01
 borg-storyboard01
 borg-translate01
 borg-wiki-update-test
 borg-zuul01

This removes the old bup backup hosts, the no-longer used ansible
roles for the bup backup server and client roles, and any remaining
bup related configuration.

For simplicity, we will remove any remaining bup cron jobs on the
above servers manually after this merges.

Change-Id: I32554ca857a81ae8a250ce082421a7ede460ea3c
2021-02-16 16:00:28 +11:00
Ian Wienand
61e9d0948a Remove AFS puppet
This has all been replaced by Ansible roles and is no longer used

Change-Id: Ic807498ad3ca4f305b168464b86fe197a61b4d13
2021-01-21 07:08:37 +11:00
Ian Wienand
368466730c Migrate codesearch site to container
The hound project has undergone a small re-birth and moved to

 https://github.com/hound-search/hound

which has broken our deployment.  We've talked about leaving
codesearch up to gitea, but it's not quite there yet.  There seems to
be no point working on the puppet now.

This builds a container than runs houndd.  It's an opendev specific
container; the config is pulled from project-config directly.

There's some custom scripts that drive things.  Some points for
reviewers:

 - update-hound-config.sh uses "create-hound-config" (which is in
   jeepyb for historical reasons) to generate the config file.  It
   grabs the latest projects.yaml from project-config and exits with a
   return code to indicate if things changed.

 - when the container starts, it runs update-hound-config.sh to
   populate the initial config.  There is a testing environment flag
   and small config so it doesn't have to clone the entire opendev for
   functional testing.

 - it runs under supervisord so we can restart the daemon when
   projects are updated.  Unlike earlier versions that didn't start
   listening till indexing was done, this version now puts up a "Hound
   is not ready yet" message when while it is working; so we can drop
   all the magic we were doing to probe if hound is listening via
   netstat and making Apache redirect to a status page.

 - resync-hound.sh is run from an external cron job daily, and does
   this update and restart check.  Since it only reloads if changes
   are made, this should be relatively rare anyway.

 - There is a PR to monitor the config file
   (https://github.com/hound-search/hound/pull/357) which would mean
   the restart is unnecessary.  This would be good in the near and we
   could remove the cron job.

 - playbooks/roles/codesearch is unexciting and deploys the container,
   certificates and an apache proxy back to localhost:6080 where hound
   is listening.

I've combined removal of the old puppet bits here as the "-codesearch"
namespace was already being used.

Change-Id: I8c773b5ea6b87e8f7dfd8db2556626f7b2500473
2020-11-20 07:41:12 +11:00
Zuul
d3a53e8ec0 Merge "Remove mirror-update server and related puppet" 2020-11-09 21:07:11 +00:00
Ian Wienand
c49ece9204 Cleanup grafana.openstack.org
The opendev.org server is in production, cleanup the old puppet-based
host.

Change-Id: I6db3ce929226a23b96234b52ece8b17f4c6a326a
2020-10-29 07:59:42 +11:00
Ian Wienand
f8852b76fb Remove mirror-update server and related puppet
This has all transitioned to Ansible and the mirror-update.opendev.org
server now.

Change-Id: I5f82139c981c2716f568b15b118690e943b02d52
2020-10-28 11:39:54 +11:00
Ian Wienand
1b4006757a Cleanup graphite01
Server is replaced with graphite02.opendev.org

Change-Id: Ie6099e935a6a7e10c818d1d3003e44bca11dd13a
2020-09-30 11:55:24 +10:00
smarcet
2f970563c0 OpenstackId config updates
Added cloud storage config

Change-Id: I39cefce0c1910df0fc051817193e14e5a38c3a1e
Signed-off-by: smarcet <smarcet@gmail.com>
2020-09-21 17:40:19 -03:00
smarcet
d7a418c024 Updated openstack id to include
message broker configuration

Change-Id: Ia3fe6ddbe92b354b81f5572ba3f6fba60ac3ce31
Signed-off-by: smarcet <smarcet@gmail.com>
2020-09-21 09:02:09 -03:00
Clark Boylan
32ff621637 Cleanup old puppet management of release-volumes.py
This script has been moved into management done by ansible and is
executing on mirror-update not afsdb01. Cleanup the unused dead code.

Change-Id: Idc1c10cc968eef5ec1aeece70bad7606a7607269
2020-06-09 15:03:44 -07:00
Monty Taylor
8c9b4af143 Stop cloning more puppet modules
Previous review pointed out some additional modules we probably
aren't using any longer.

Remove the openafs::client section from openstack_project::server
because we're doing this with ansible now.

Depends-On: https://review.opendev.org/733890
Change-Id: Ib5104da9cf7d53b77191f48ec185f5d667d51944
2020-06-05 12:09:30 -05:00
Ian Wienand
c9215801f0 Generate ssl check list directly from letsencrypt variables
This autogenerates the list of ssl domains for the ssl-cert-check tool
directly from the letsencrypt list.

The first step is the install-certcheck role that replaces the
puppet-ssl_cert_check module that does the same.  The reason for this
is so that during gate testing we can test this on the test
bridge.openstack.org server, and avoid adding another node as a
requirement for this test.

letsencrypt-request-certs is updated to set a fact
letsencrypt_certcheck_domains for each host that is generating a
certificate.  As described in the comments, this defaults to the first
host specified for the certificate and the listening port can be
indicated (if set, this new port value is stripped when generating
certs as is not necessary for certificate generation).

The new letsencrypt-config-certcheck role runs and iterates all
letsencrypt hosts to build the final list of domains that should be
checked.  This is then extended with the
letsencrypt_certcheck_additional_domains value that covers any hosts
using certificates not provisioned by letsencrypt using this
mechanism.

These additional domains are pre-populated from the openstack.org
domains in the extant check file, minus those openstack.org domain
certificates we are generating via letsencrypt (see
letsencrypt-create-certs/handlers/main.yaml).  Additionally, we
update some of the certificate variables in host_vars that are
listening on port .

As mentioned, bridge.openstack.org is placed in the new certcheck
group for gate testing, so the tool and config file will be deployed
to it.  For production, cacti is added to the group, which is where
the tool currently runs.  The extant puppet installation is disabled,
pending removal in a follow-on change.

Change-Id: Idbe084f13f3684021e8efd9ac69b63fe31484606
2020-05-20 14:27:14 +10:00
Ian Wienand
45201f3d66 Remove puppet mirror support
Remove the separate "mirror_opendev" group and rename it to just
"mirror".  Update various parts to reflect that change.

We no longer deploy any mirror hosts with puppet, remove the various
configuration files.

Depends-On: https://review.opendev.org/728345
Change-Id: Ia982fe9cb4357447989664f033df976b528aaf84
2020-05-16 10:14:25 +10:00
Monty Taylor
e0619f17f1 Run nodepool launchers with ansible and containers
We don't run start in prod normally but we do need to run
it in the gate.

Change-Id: Iec50684280409eb978bf5638bf74ae16fad8aa26
2020-04-30 17:37:22 +00:00
Zuul
b21a8e58cf Merge "Run Zuul using Ansible and Containers" 2020-04-24 16:31:42 +00:00
Monty Taylor
f0b77485ec Run Zuul using Ansible and Containers
Zuul is publishing lovely container images, so we should
go ahead and start using them.

We can't use containers for zuul-executor because of the
docker->bubblewrap->AFS issue, so install from pip there.

Don't start any of the containers by default, which should
let us safely roll this out and then do a rolling restart.
For things (like web or mergers) where it's safe to do so,
a followup change will swap the flag.

Change-Id: I37dcce3a67477ad3b2c36f2fd3657af18bc25c40
2020-04-24 09:18:44 -05:00
Monty Taylor
9fd2135a46 Split eavesdrop into its own playbook
Extract eavedrop into its own service playbook and
puppet manifest. While doing that, stop using jenkinsuser
on eavesdrop in favor of zuul-user.

Add the ability to override the keys for the zuul user.

Remove openstack_project::server, it doesn't do anything.

Containerize and anisblize accessbot. The structure of
how we're doing it in puppet makes it hard to actually
run the puppet in the gate. Run the script in its own
playbook so that we can avoid running it in the gate.

Change-Id: I53cb63ffa4ae50575d4fa37b24323ad13ec1bac3
2020-04-23 14:34:28 -05:00
Monty Taylor
d5c68c5131 Split codesearch into its own playbook
Make a service playbook, manifest and jobs for codesearch.

Remove openstack_project::server - it doesn't do anything.

Change-Id: I44c140de4ae0b283940f8e23e8c47af983934471
2020-04-21 13:18:28 -05:00
Monty Taylor
2f6483a236 Remove some extra bits from site.pp
We don't default to running anything in puppet anymore. Let's
get rid of these.

Change-Id: I4de06c4c29ac99ab23f24d69b546fefc0e2c2336
2020-04-21 13:18:28 -05:00
Monty Taylor
3e4d99b6fd Remove global variables from manifest/site.pp
We have one global variable that is used in two places.
By removing it, we can more easily split site.pp into
per-service manifest files, and ultimately we should be
deriving this from groups['elasticsearch'] anyway.

Change-Id: I1d794b269847da85778f71e816359953af9b31e0
2020-04-19 10:59:25 -05:00
Monty Taylor
711295e918 Remove old etherpad.openstack.org
Once the DNS is swapped over to point at etherpad.opendev.org
we can delete the old stuff.

Change-Id: I626dd22b22a23619fcf460533336f1ddfec615d9
2020-04-19 10:58:46 -05:00
James E. Blair
42574b2b37 Run ZK from containers
Migration plan:
* add zk* to emergency
* copy data files on each node to a safe place for DR backup
* make a json data backup: zk-shell localhost:2181 --run-once 'mirror / json://!tmp!zookeeper-backup.json/'
* manually run a modified playbook to set up the docker infra without starting containers
* rolling restart; for each node:
  * stop zk
  * split data and log files and move them to new locations
  * remove zk packages
  * start zk containers
* remove from emergency; land this change.

Change-Id: Ic06c9cf9604402aa8eb4bb79238021c14c5d9563
2020-04-17 08:43:09 -07:00
Ian Wienand
dcc23be55b Remove static site puppet
Remove the puppet related to the static server

Story: #2006598
Task: #36758

Change-Id: I744da83d811e715ff8049eacf3013cd4831e1c49
2020-03-26 10:36:16 +11:00
Ian Wienand
f55580fbf0 Remove files02.openstack.org and related puppet
All this has moved to static.opendev.org; the server can now be
removed.

Change-Id: I8ca5d7a206e950c28bb8372a85b6a62d6b9ba00c
2020-03-26 10:36:13 +11:00
smarcet
de04c6da67 Added new param to IDP config
Added user_spam_processor_to to dev/production

Change-Id: I36a41bdcd23df9540183da5a087d364778d60b48
Signed-off-by: smarcet <smarcet@gmail.com>
2020-03-25 11:32:17 -03:00
Monty Taylor
d3c8c1077b Switch to running gerrit via ansible+containers
This should be mostly a no-op - but we will need to do a shutdown
in emergency mode.

Tell the gerrit role to not run compose up when run as part of
remote_puppet_git.

Change-Id: Id45376c2697656a12afeacf317b6f26c85c08dad
2020-03-19 17:21:39 -05:00
Clark Boylan
61caec5b77 Use LE cert on review.open*.org
We previously had two manually issued certs (one each for opendev.org
and openstack.org) but now have a single cert with all the appropriate
names in it automatically issued by LE. Use this new cert before the old
one expires.

Change-Id: I635d2bfd820fe138ee951833dd66f157b2b7c097
2020-02-28 08:10:24 -08:00
smarcet
ce6de87ea7 Removed OpenStackID stale config variables
Removed all variables related to Silverstripe
Dependency

Change-Id: Ib5e6834686c4952dd8e7220a31abe71a9278e397
Signed-off-by: smarcet <smarcet@gmail.com>
2020-02-24 14:26:30 -03:00
Clark Boylan
71f952dc93 Switch more puppet testing to xenial
wiki, status, and single node ci should all run on xenial now. Switch
their testing to xenial from trusty.

Change-Id: I3a0c2faa47f2ec17809e3845c7226173188def63
2020-01-29 13:32:06 -08:00
Zuul
12d9a02766 Merge "Switch nodes to xenial" 2020-01-16 20:43:30 +00:00
Monty Taylor
6f3a2792cc Switch to ansible on review-dev
The review-dev service playbook should do everything now that
the puppet did. Update how we're running things.

Change-Id: I70303c48328ea6713c24bf9c6f63d4808d30b95c
2020-01-14 12:04:15 -06:00
Clark Boylan
377d72f1ee Use zuul.opendev.org LE cert
This should only be merged once the cert is confirmed to be in place.

Change-Id: I44476ef5929470e92a9da1ca189bd5236eeb7d11
2020-01-09 11:40:12 -08:00
Clark Boylan
3981c02322 Provision LE cert for zuul.opendev.org
This provisions the cert but does not use it yet. We will do the
switchover once the cert is confirmed to be in place.

Depends-On: https://review.opendev.org/701819
Change-Id: I04fee48b9a79758527d8f9e8128c0fa915cd133e
2020-01-09 11:36:41 -08:00
James E. Blair
447b8513ea Use LE cert for git.zuul-ci.org
The cert has been issued.

This partially reverts commit 42c0d0696c738b701e486c2f7b3fc7069fa724bb.

Change-Id: I5f6c9d648a6fdfc3f9464c01f51d95c5cd72ed49
2020-01-08 16:14:26 -08:00
Clark Boylan
42c0d0696c Fix zuul-ci.org vhost cert paths
We were setting the cert file contents to the paths rather than updating
the paths to point at the new LE certs. Fix this by setting the _file
vars which update the path.

This includes a partial revert of the previous change to not switch
git.zuul-ci.org over to LE as we haven't provisioned an LE cert for it
yet.

Change-Id: I41c2aa1d03afba4ebf6378e9abf8276154666df7
2020-01-08 10:03:05 -08:00
James E. Blair
9fead30442 Use LE certs for zuul-ci.org
This switches the zuul-ci.org/zuulci.org vhost to use newly issued
letsencrypt certs.  It also does the same for git.zuul-ci.org, which
is a different vhost.  Since that vhost is tied into a configuration
which can't accept cert file paths (only content), adjust it to use
the newer "website" manifest pattern which can.

Change-Id: I0cd0407754466327147917390c578da336e61269
2020-01-07 15:25:32 -08:00
Clark Boylan
a08516c488 Switch nodes to xenial
These nodes no longer run on trusty and should be tested on xenial.

Change-Id: Iae4dc7798b43f74c183ca55c3f05d1f3d97f0a9f
2019-12-10 15:59:34 -08:00
Jeremy Stanley
fd3d792c8d Use a wildcard regex for storyboard-dev OAuth/CORS
With the move to object storage, we no longer have predictable
hosting locations for draft builds of opendev/storyboard-webclient
changes. Switch the OAuth and CORS ACLs in the storyboard
configuration on storyboard-dev.openstack.org to allow webclient
builds hosted anywhere, as there should be nothing sensitive we need
to protect in that StoryBoard deployment.

While here, tighten up the same ACLs for production StoryBoard to
just allow its local webclient deployment, reducing the risk of
cross-site scripting attacks.

Depends-On: https://review.opendev.org/691034
Change-Id: Ie4f5eb49a864848cfa95a3e956e6dbfa122fbb1d
2019-10-25 22:09:44 +00:00
James E. Blair
d579b997c4 Add zuul_connection_secrets to mergers and executors
These may need secrets (such as passwords) if they need to perform
git operations over http.

Change-Id: I93501ae27d246c1cccfe18fc555f3f2f4b7814d5
2019-10-04 14:11:26 -07:00
James E. Blair
859e386103 Add web_root option to zuul.conf
This is the base url that will be used for log reporting.

Depends-On: https://review.opendev.org/675655
Change-Id: Ia92a34e9ed506931e0d736ac034f60f4f7c381fc
2019-08-09 16:13:35 +00:00
James E. Blair
3c84c65614 Add tarballs.opendev.org vhost
Change-Id: I6aa85bf92b2d5726d3c86b11b103a87f11953c51
2019-06-05 14:10:19 -07:00
Clark Boylan
08152aa22f Remove groups configuration
This removes the groups servers from our inventory as well as our
manifests/modules. We don't run the groups service anymore as many
groups migrated to meetup.com independent of us and the others have
transitioned there.

Change-Id: I7cb76611e6d30e7189821923f36a38dec9ea7241
2019-05-23 12:20:04 -07:00
Jeremy Stanley
3eaf200196 Revert "Pin skopeo to unbreak skopeo+bubblewrap"
This reverts commit 0d370a285b09bd28c5b1cdfc6b89d2997f67da5d.

Fixed by https://github.com/containers/skopeo/pull/653 so safe to
merge this once a new build appears in the PPA.

Change-Id: I858eee79d084016b6b71eec46a6118d78f68cafa
2019-05-18 13:33:29 +00:00
Monty Taylor
0d370a285b Pin skopeo to unbreak skopeo+bubblewrap
Pin skopeo back to 0.1.36-1~dev~ubuntu16.04.2~ppa14 which is before
the code that changed the required capabilities, breaking the use of
skopeo from inside of bubblewrap.

Change-Id: Ibf3000d87772d02b7325315cfeed078716e0d7bf
2019-05-15 14:16:57 +00:00
Monty Taylor
e69c7b7fb9 Rename review.openstack.org to review.opendev.org
There are many references to review.openstack.org, and while the
redirect should work, we can also go ahead and fix them.

Change-Id: I28f398796a6392a3dffea1d25cfe2ae3a36a3589
2019-05-09 14:38:51 +00:00
Ian Wienand
2acfc176b0 Remove graphite.openstack.org
The server has been removed, remove it from inventory.

While we're here, s/graphite.openstack.org/graphite.opendev.org/'
... it's a CNAME redirect but we might as well clean up.

Change-Id: I36c951c85316cd65dde748b1e50ffa2e058c9a88
2019-05-08 05:55:33 +10:00
smarcet
fa0f5860d2 Update OpenstackId Prod Node Settings
moved from smtp email driver to sendgrid

Change-Id: I719a3fd7e730972b7a0784a9a4857a76672119d0
2019-04-30 14:24:42 -03:00
smarcet
66bf9c5cc4 OpenStackid parametrized urls
updated config to be able to setup registration/lost password
and resend verification link by config

Depends-On: https://review.opendev.org/#/c/656395/
Depends-On: https://review.opendev.org/#/c/656396/
Change-Id: I9df2afbc6a90652030fde5398f8ac28ca3c4c397
2019-04-29 18:41:54 -03:00
Zuul
6d85578b14 Merge "Install socat on zuul executors" 2019-04-23 21:44:44 +00:00