15082 Commits

Author SHA1 Message Date
Monty Taylor
f9e7fcab51 Remove dependencies from promote
These don't really make a ton of sense now do they?

Change-Id: Ic5f515dd50872387e3447eb70af25070257f61cd
2019-10-05 09:20:38 +02:00
Monty Taylor
d9fb5b3faf Install jeepyb into the gerrit images
We need jeepyb installed because the content of the gerrit hook scripts
we install is done via jeepyb commands. Use python-builder so that we
can just install the jeepyb wheel.

Should we maybe transition these hooks into being zuul jobs?

Depends-On: https://review.opendev.org/683146/
Change-Id: I8899885b05d1e9f48b3f354ca22b360b54d455a3
2019-09-19 15:17:14 +02:00
Monty Taylor
f0a3f0cb37 Remove bazel version hack
The upstream patch has landed, so we don't need this anymore.

Change-Id: I08a6705f189b2a24b737ab4f52bb7f449879fdf1
2019-09-19 14:18:41 +02:00
Monty Taylor
940e31f043 Fix gerrit java invocation
We need the right path to java, and we also need to tell it to run
daemon.

Change-Id: I7dfbc5a1c054953b34a02327e6bba50c486110d1
2019-09-19 14:16:30 +02:00
Monty Taylor
072fcca06f Fix files matcher and bazel for gerrit base image
Use latest bazel

It seems 0.27 is now too old. This is what happens when I go on vacation
apparently.

Add in a hack to override the bazelversion. We'll remove this once
https://gerrit-review.googlesource.com/c/gerrit/+/237495 lands and
has been merged up.

Change-Id: Ib7a6d33ce8bf8498fd5cd09b25087dc09acb8df4
2019-09-16 21:20:18 +02:00
Monty Taylor
9bb1c73139 Split out bazel builder and gerrit base image
There is a bunch of duplication which needs to be redone almost never.
Split those into their own images so we can run them once and reuse them.

Change-Id: I923d4bff96dae75eb52a1c271fa52d5ae79933a0
2019-08-26 11:26:23 +02:00
Monty Taylor
3a26ed621a Build gerrit with bazel 0.27.1 instead
0.27 is the first semi-stable release.

Change-Id: I7314c6500841ed13fdc10dc951761f5fde4b28af
2019-08-26 11:26:23 +02:00
Monty Taylor
56ceaf1c40 Remove the extra bazel options
We had some extra bazel options that don't seem to be necessary
anymore now that we are using upstream bazel options appropriately.

Retry the build a couple of times if it goes south, inside of the
build image. This should allow re-use of the cache the second time,
and if there is a temporary error, it should pick up and move
forward.

Change-Id: I5f304acb21fd3a4d40701fc0414ae0c424c838e5
2019-08-26 11:26:19 +02:00
Monty Taylor
80981a52c8 Update bazel flags to be more inline with upstream
During the Gerrit Hackathon, we learned some things about setting
bazel options. Use the ones recommended in upstream docs rather than
these. The outcome should be largely the same.

Change-Id: I32b4c567488f0739fb80f69dc881b9837803575c
2019-08-25 11:34:58 +02:00
Ian Wienand
f3def9b84a Run ansible jobs on bridge.yaml changes
We almost merged I7ed75d253857f86b68f67023af6897af4e1b4f50 which would
have broken production Ansible runs due to a issue with the upgraded
Ansible and listener syntaxes.  CI was picking this up, but the jobs
weren't running on this change (in this case, it was noticed in a
follow-on job that triggered the letsencrypt jobs to run).

Add this file to all ansible tests so that if we bump versions of
ansible/openstacksdk/ara etc, we run all the tests in the gate.

Change-Id: I738c4e7721bd126e8e109c5ea1f38eba9e07b22b
2019-08-22 11:41:56 +10:00
Zuul
e03a97de8f Merge "files.o.o : publish .log as text/plain" 2019-08-22 00:34:44 +00:00
Zuul
a934f91f17 Merge "run_all.sh : add backup playbook" 2019-08-20 20:18:39 +00:00
Zuul
8303a60499 Merge "ircbot: add #openstack-ansible-sig to bots" 2019-08-20 13:56:13 +00:00
Clark Boylan
a248dbae63 Add more fedora-atomic mirror exclusions
We don't need things like efi configs or pxeboot configs or ISOs.
Exclude these items to further reduce the size of the fedora mirror.

Change-Id: I93003b2f48d79dae627026e2c7af748ea9a9e34d
2019-08-19 15:53:19 -07:00
Ian Wienand
0751b3d481 Convert nested bridge.o.o ARA report to static HTML
With the switch to swift logging, we need to convert the nested ARA
report to static HTML

Change-Id: I9e177915099598d5d48a31c15bd6db49e4d1c7e8
2019-08-19 10:28:57 +10:00
Mohammed Naser
66dc2a2449 ircbot: add #openstack-ansible-sig to bots
This change will add our IRC bots to the newly formed Ansible SIG,
in addition, it removes #dox in order to stay within the 120
channel limit.

The dox project has not seen a commit in 2 years and the channel
is pretty much empty/abanonded.

Change-Id: I3acd3cb77a9f71eb80921f4cbf2162113f40efea
2019-08-15 10:28:32 -04:00
Zuul
309daf9482 Merge "backup: minor fixes" 2019-08-12 23:43:29 +00: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
Zuul
1c29fffa1a Merge "Replace wiki-dev02 with wiki-dev03" 2019-08-09 14:42:37 +00:00
Ian Wienand
376915e17a run_all.sh : add backup playbook
The backup roles have been debugged and are ready to run.

A note is added about having the backup server in a default disabled
state.  This was discussed at an infra meeting where consensus was to
keep it disabled [1].

[1] http://eavesdrop.openstack.org/meetings/infra/2019/infra.2019-06-11-19.01.log.html#l-184

Change-Id: I2a3d2d08a9d1514bf6bdcf15bc5bc95689f3020f
2019-08-09 16:43:55 +10:00
Ian Wienand
445eb7a7b2 backup: minor fixes
The ssh config file is /.ssh/config (not ssh_config)

We are accepting the ed25519 key, not the ecdsa key, so fix that in
the known_hosts stanza.

Change-Id: If3a42a7872f5d5e7a2bf9c3b5184fb14d43e6a1a
2019-08-09 14:11:41 +10:00
Zuul
a141ef8644 Merge "Add review-dev as a new backup client" 2019-08-09 00:04:42 +00:00
Zuul
a5378dfd1b Merge "Collect gitea sshd logs" 2019-08-08 18:12:49 +00:00
Jeremy Stanley
df99568f10 Replace wiki-dev02 with wiki-dev03
In order to confirm configuration management is working cleanly for
wiki-dev.openstack.org deployments, a new wiki-dev03 has been built
and the old wiki-dev02 deleted. These are not production hosts so
this change can be merged at any time. DNS has also been updated for
them accordingly.

Change-Id: I61ae138b10d51caef2cdd26ca8adaf9d59728ac8
2019-08-08 17:02:05 +00:00
Ian Wienand
78dc3e6ffd Add review-dev as a new backup client
Opt in review-dev to be a client for the new backup server

Change-Id: Ie24855a0df9f8d8d83588ae2f7221415a6535fd5
2019-08-08 13:55:33 +10:00
Zuul
23f310626b Merge "Add vexxhost backup server" 2019-08-07 00:38:48 +00:00
Clark Boylan
05e0ffdebc Collect gitea sshd logs
Currently we don't have any logs from our gitea sshd processes because
sshd logs to syslog by default and /dev/log isn't in our containers. You
can ask sshd nicely to log to stderr instead with the -e flag which
docker will pick up and store for us.

Update the sshd command to include -e then use testinfra to check we
collect logs and they are accssible from docker.

Change-Id: Ib7d6d405554c3c30be410bc08c6fee7d4363b096
2019-08-06 13:42:25 -07:00
Ian Wienand
734aaee327 Add vexxhost backup server
This is a new backup server for use with the roles in
I9bf74df351e056791ed817180436617048224d2c

Restrict the puppet group to only the openstack.org servers as this
new server doesn't need puppet.

Depends-On: https://review.opendev.org/674549
Change-Id: Ia8e2e01f579ed9475830c159bf266b63bed52c36
2019-08-05 19:00:29 +10:00
Zuul
788d91df1f Merge "Ansible roles for backup" 2019-08-05 08:48:41 +00:00
Ian Wienand
814e4be128 Ansible roles for backup
This introduces two new roles for managing the backup-server and hosts
that we wish to back up.

Firstly the "backup" role runs on hosts we wish to backup.  This
generates and configures a separate ssh key for running bup and
installs the appropriate cron job to run the backup daily.

The "backup-server" job runs on the backup server (or, indeed
servers).  It creates users for each backup host, accepts the remote
keys mentioned above and initalises bup.  It is then ready to receive
backups from the remote hosts.

This eliminates a fairly long-standing requirement for manual setup of
the backup server users and keys; this section is removed from the
documentation.

testinfra coverage is added.

Change-Id: I9bf74df351e056791ed817180436617048224d2c
2019-08-05 16:59:57 +10:00
Zuul
123305f29c Merge "Re-add the Debian 8/jessie key to reprepro" 2019-08-05 01:29:20 +00:00
Clark Boylan
3ff4bed27c Trim fedora mirror
The fedora mirror is our largest mirror (850GB about twice as big as the
next mirror). Much of this size is due to the fedora atomic images we
mirror.

On further investigation I notice that we are mirroring ppc images (for
which we do not have cpus to run them on), image for fedora 25 and 36
which are quite EOL'd, and our exclusion of the raw.xz and vagrant
images is failing.

Update the rsync excludes to ensure we don't mirror any of these images
we don't need.

Change-Id: I86856cb4e51b0e687aac45a1f014f87c5141318f
2019-08-02 14:35:21 -07:00
Clark Boylan
f686ec39f5 Switch fedora mirroring to pubmirror2.math.uh.edu
pubmirror1.math.uh.edu is currently offline and listed as an altonly.
pubmirror2 seems to work fine so switch to it.

Change-Id: I2562f8686146d17d4fad3997b9be22361fa05fca
2019-08-02 14:27:00 -07:00
Jeremy Stanley
5a096f3705 Re-add the Debian 8/jessie key to reprepro
Because of a limitation in GnuPG we need to have the Jessie archive
signing key in the list of VerifyRelease key IDs for the Debian
reprepro mirror. Also some suites (currently buster-backports) are
signed by a subkey of an archive signing key, so add the "+" suffix
to all these key IDs indicating subkey signatures are also allowed.
As always, Debian signing keys are published and available here:
https://ftp-master.debian.org/keys.html

Change-Id: Iedce38318718a18ace7b2c638755a7d7d4dcd69b
2019-08-02 19:04:25 +00:00
Zuul
b0ea150b89 Merge "Correct emergency file reference in launch script" 2019-07-31 23:22:38 +00:00
James E. Blair
96aec261da Add logs.opendev.org vhost
This is a near-copy of the vhost template from puppet-openstackci.

Change-Id: I191e41b501629e2cdd82381d66daa3b850e0be81
2019-07-31 14:32:00 -07:00
James E. Blair
48cafd19f8 Add LE cert for logs.opendev.org to static
This can be used in an apache vhost later, but should be fine to
merge now.

Depends-On: https://review.opendev.org/673902
Change-Id: Ic2cb7585433351ec1bdabd88915fa1ca07da44e7
2019-07-31 13:00:50 -07:00
Jens Harbott
7df5981e12 Be explicit about fortnebula networks with nodepool
We don't want nodepool to use floating IPs in the fn cloud as it is an
ipv6 only cloud. We explicitly tell it there is no fip source and that
the tenant network routes ipv6 externally. This config is based on the
limestone configuration which is a similar cloud network wise.

Change-Id: I4a27a22a5beb9c5fc9d3e16cd2ca5b41aecbb46f
2019-07-31 08:36:23 -07:00
Zuul
3e03b7481d Merge "Add tool to analyze check and gate success rates" 2019-07-31 00:28:06 +00:00
Zuul
710821f7a2 Merge "Replace the fn mirror again" 2019-07-30 23:32:50 +00:00
Clark Boylan
4b4eb02f32 Replace the fn mirror again
Networking got weird on the previous host so we rebuilt this one going
back to networking we expect to work (FIPs and all that). This updates
the inventory so that we configure the host properly.

Change-Id: I0dcdbc9efdd330d66b57da0b01d23dd3d747f79b
2019-07-30 15:15:01 -07:00
Clark Boylan
b1de301261 Use public_v4 addr when ignoring ipv6
In our launch node script we have the option to ignore ipv6 to deal with
clouds like ovh that report an ipv6 address but don't actually provide
that data to the instance so it cannot configure ipv6. When we ignore
ipv6 we should not try to use the ipv6 address at all.

Use the public_v4 address in this case when writing out an ansible
inventory to run the base.yaml playbook when launching the node.
Otherwise we could use ipv6 which doesn't work.

Change-Id: I2ce5cc0db9852d3426828cf88965819f88b3ebd5
2019-07-30 15:00:53 -07:00
Zuul
cb2976a976 Merge "Add archive signing key for Debian 10/buster" 2019-07-30 19:41:59 +00:00
Zuul
107943e60d Merge "Build gerrit images for 2.16 and 3.0 as well" 2019-07-30 18:29:50 +00:00
Jeremy Stanley
a22df8264f Add archive signing key for Debian 10/buster
The buster-backports suite on Debian mirrors is not signed by the
old jessie signing key we have set to verify in reprepro, but also
we're not mirroring Debian 8/jessie any longer anyway. Replace that
list with the 9/stretch and 10/buster signing keys and switch to
longer key IDs which match the names used for them in the Puppet
manifest. Also add Puppetry and keyfile for the buster keys so that
they will be installed accordingly. The official list of keys can be
found here: https://ftp-master.debian.org/keys.html

Change-Id: Ia193f040b2b707329948955eb091a186eabf8096
2019-07-30 17:41:07 +00:00
Jeremy Stanley
6631b899c5 Put gitea07 and gitea08 back into service
Add the gitea07.opendev.org and gitea08.opendev.org servers into the
haproxy pools now that they've been seeded with current data. Remove
the create repos task disable list entries for them as well.

Change-Id: I69390e6a32b01cc1713839f326fa930c376282af
2019-07-29 23:35:36 +00:00
Jeremy Stanley
2ed6775780 Add gitea07 and gitea08 replacements to inventory
Add new IP addresses to inventory for the rebuilds, but don't
reactivate them in the haproxy pools yet (they're already excluded
from the repository creation task).

Change-Id: I1e3fc1ba56015eeab2c6256b3f90188ecabf23cc
2019-07-29 19:20:26 +00:00
Jeremy Stanley
56a0b08aa5 Swap gitea05 into service and bring down 07 and 08
Add the gitea05.opendev.org server into the haproxy pools now that
it's been seeded with current data. Switch the create repos task
disable list from 05 to 07 and 08, and remove 07 and 08 from the
Ansible inventory and comment them out in the haproxy pools in
preparation for replacement.

To the casual observer it may appear gitea06 is being skipped, but
it was replaced first out of sequence due to filesystem corruption
during the PTG. The increased performance of the 75% of the nodes
which have already been replaced means we can get by doing the final
25% at the same time (so two servers at once).

Change-Id: Ia49157c16582b7ed0dbef3eb9d07bf7f1d4450b9
2019-07-29 16:56:39 +00:00
Zuul
bcb07033f5 Merge "Add gitea05 replacement to inventory" 2019-07-29 14:49:46 +00:00
Jeremy Stanley
b45c672de5 Replace fortnebula mirror
The fortnebula mirror is being rebuilt while the environment there
is under some refactoring. The old mirror isn't reachable any longer
so removing it from our inventory while adding its replacement
should be safe.

Also update the letsencrypt playbooks for the new name.

Change-Id: I789248e4216f4cf059ccc5b071c2a784f9c629e9
2019-07-29 13:08:58 +00:00