260 Commits

Author SHA1 Message Date
Zuul
cd402000a4 Merge "Several updates because the world is a dark place" 2019-10-19 00:58:47 +00:00
Monty Taylor
9ab25e89a9 Several updates because the world is a dark place
A few things have changed and we need to fix them in one go.

Use mirror for installing docker for buildset-registry

While, we need to make this more systemic, that's hanging off of the
mirror rework. For now, since we know all of these jobs are debian
based, just set the mirror location.

Replace use of zuul cloner with git clones

You can never be a prophet in your own hometown. This is now broken
because of the git cache rework, so just replace it.

Update libjemalloc library

python:slim is based on buster now, which has libjemalloc2 not
libjemalloc1.

Remove gerrit repo remote for submodules

A recent change to the base jobs to use prepare-workspace-git
broke the gerrit image builds by actually having the origin
remote by /dev/null as intended. This breaks submodules because
for a few of them where we don't have matching stable branches
the submodule relative path behavior is actually exactly what
we want.

Since we don't care about the remote otherwise, remove the
origin remote before doing the submodule update --init so that
the submodule will clone the refs from the zuul prepared repo.

Change-Id: Ieb5b6bc8711fe971ed3445c7c267306ac4616464
2019-10-19 07:51:29 +09:00
James E. Blair
d284333363 Remove newlines in afs server params variable
This causes newlines to appear in the config file which causes the
server to fail to start which is the opposite of what this is
supposed to do.

Change-Id: I2ff7e8835878652b3a7cdc2f633d263b37aaa7e9
2019-09-06 11:20:15 -07:00
Zuul
1b14855a45 Merge "AFS server restart and audit logging : helper script" 2019-08-29 21:03:09 +00:00
Ian Wienand
35f1321e14 AFS server restart and audit logging : helper script
This script helps restart the AFS servers, which is useful when
updating parameters.  It can also enable audit logging.

It can also stop and start the servers, although it's unlikely we'd
want all the servers offline at the same time so stopping has a
warning included.

Documentation is updated to refer to the helper script

Change-Id: Idcb3e43a3f6e614cdb787d4334e692a98bffdd15
2019-08-02 16:37:00 +10:00
Zuul
3e03b7481d Merge "Add tool to analyze check and gate success rates" 2019-07-31 00:28:06 +00:00
Clark Boylan
ffcd1791bf Cleanup nodepool builder clouds.yaml
We ended up running into a problem with nodepool built control plane
images (has to do with boot from volume not allowing us to delete images
that are in use by a nova instance). We have decided to clean this up
and go back to not doing this until we can do it more properly.

Note this isn't a revert because having a group for access to control
plane clouds does seem like a good idea in general and I believe there
have been changes we'd have to resolve in the clouds.yaml files anyway.

Depends-On: https://review.opendev.org/#/c/665012/
Change-Id: I5e72928ec2dec37afa9c8567eff30eb6e9c04f1d
2019-07-22 13:55:29 -07:00
Clark Boylan
00348a4d0d Add tool to analyze check and gate success rates
This tool scans gerrit changes for comments from zuul over the last 30
days to build out success rates for check and gate pipelines. This only
looks at changes that have merged to avoid those that never can merge
because they only fail or are expected to fail.

This tool emits information like:

  Changes: 4475
  Check Failures: 5317.0
  Check Successes: 9173.0
  Check Rate of failure: 0.3669427191166322
  Gate Failures: 687.0
  Gate Successes: 4450.0
  Gate Rate of failure: 0.13373564337161767
  Total Failures: 6004.0
  Total Successes: 13623.0
  Total Rate of failure: 0.3059051306873185

Change-Id: I759ba670c6b81f4425ce618c412db9cbd0e51401
2019-07-19 09:58:40 -07:00
Zuul
1fe34e00d4 Merge "Add control plane clouds to nodepool builder clouds.yaml" 2019-06-04 20:15:24 +00:00
Zuul
216059e134 Merge "Add opendev migration repo rename scripts" 2019-05-30 21:07:37 +00:00
Jeremy Stanley
0c0b8e3087 Add opendev migration repo rename scripts
Git repo moves based on cgit aliases from project-config, the
OpenStack TC guidance recorded in
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html
and the ethercalc used to collect input from other users of the
system. Also the results of an extensive bikeshedding session at
http://eavesdrop.openstack.org/irclogs/%23openstack-infra/%23openstack-infra.2019-04-11.log.html#t2019-04-11T14:54:09
which concluded that anything left homeless goes in a namespace
called "x" since that's short, a basic alphabetic character and
provides no particular connotation.

The opendev-migrate script, when run, provides a shareable rendering
on stdout and also writes a repos.yaml file for input into the
rename_repos playbook.

The opendev-patching script, when run, uses the repos.yaml file and
iterates over a tree of Git repositories updating their Zuul
configuration, playbooks and roles as well as .gitreview files both
for the project renames and the opendev hostname changes. It also
creates a rename commit in project-config so that manage-projects
will be in sync with the results of the rename_repos playbook.

Change-Id: Ifa9fa6896110e8a33f32dcda6325bd58846935e2
Task: #30570
Co-Authored-By: James E. Blair <jeblair@redhat.com>
2019-05-23 22:01:07 +00:00
Clark Boylan
926ba11184 Cleanup bashate errors to make them easier to understand
We ignore E006 which is line lenght longer than 79 characters. We don't
actually care about that. Fix E042 in run_all.sh this represents a
potential real issue in bash as it will hide errors.

This makes the bashate output much cleaner which should make it easier
for people to understand why it fails when it fails in check.

Change-Id: I2249b76e33003b57a1d2ab5fcdb17eda4e5cd7ad
2019-05-23 14:00:37 -07:00
Monty Taylor
ff1b8a94c6 Add control plane clouds to nodepool builder clouds.yaml
In order to have nodepool build images and upload them to control
plane clouds, add them to the clouds.yaml on the nodepool-builder
hosts. Keep them out of the launcher configs by splitting the config
templates. So that we can keep our copies of things to a minimum,
create a group called "control-plane-clouds" and put bridge and nb0*
in it.

There are clouds mentions in here that we no longer use, a followup
patch will clean those up.

NOTE: Requires shifting the clouds config dict from
host_vars/bridge.openstack.org.yaml to group_vars/control-plane-clouds.yaml
in the secrets on bridge.

Needed-By: https://review.opendev.org/640044
Change-Id: Id1161bca8f23129202599dba299c288a6aa29212
2019-05-23 14:34:10 -05:00
Zuul
01dfccbd99 Merge "Drop tools/owners.py" 2019-05-23 07:57:48 +00:00
Ian Wienand
d5b321b074 Handle moved puppet repos
As per [1], it seems puppet has "cleaned up" most of the packages we
are using to install.

Install the puppet-agent packages directly as puppet's archive location
is not a valid repo. With puppet 4 at least these packages should bundle
everything we need including ruby.

[1] https://groups.google.com/forum/#!msg/puppet-users/cCsGWKunBe4/OdG0T7LeDAAJ

Depends-On: https://review.opendev.org/659384
Depends-On: https://review.opendev.org/659395
Change-Id: Ie9e2b79b42f397bddd960ccdc303b536155ce123
2019-05-15 16:03:07 -07:00
Jeremy Stanley
4cb523cdc9 Drop tools/owners.py
Now that the tools/owners.py script is a module in the
openstack_election package within the openstack/election repository,
we can stop providing a copy here.

Change-Id: I39efbad539790687646c1d76159894e9e997ff72
Depends-On: I180ef0e5ec880b46f0427c1c952b640a780b5732
2019-05-12 11:26:39 +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
Zuul
c01a9eeccb Merge "Add script to automate GitHub organization transfers" 2019-04-23 21:52:22 +00:00
James E. Blair
8b2a4dbedd Fix logstash filter location
Change-Id: I70fbe2a9ba0ab909002704ff97b5ee149040e742
2019-04-20 09:41:49 -07:00
Monty Taylor
c6d129a108 Update some paths for opendev
There's a bunch in here. This is mostly big-ticket things and test
fixes. Also, change the README to rst - because why is it markdown?

Depends-On: https://review.opendev.org/654005
Change-Id: I21e5017011e1111b4d7a9e4bf0ea6b10f5dd8c1b
2019-04-20 09:31:14 -07:00
Ian Wienand
6a1d4da730 Add Puppet-Version: !X skip to apply tests
Setting Puppet-Version: !X (where X would usually be 3) marks a hosts
as not wanting to run the apply tests for that puppet version.  This
is helpful for puppet4 hosts that wish to bring in new modules that
are not puppet3 compatible.

Change-Id: I081d15a53bd85152e7729c4c1da094dfee6d7073
2019-04-15 12:05:26 +10:00
David Moreau Simard
c4d757da4e
Add script to automate GitHub organization transfers
This script requires GITHUB_USERNAME and the GITHUB_PASSWORD env
variables to be set and lets users with sufficient privileges initiate
a transfer from a GitHub organization to another by specifying two
arguments, for example:
  ./github-org-transfer.py oldorg/repo neworg/repo

Change-Id: I2383d256958c028efe81b235ff8641d131bbb3a7
2019-04-12 18:01:16 -04:00
James E. Blair
2db41fc488 Update hieraedit for python3
Change-Id: Ibd8991eb466416f77a2decc7b0a280d8e4124942
2019-03-26 15:32:23 -07:00
Ian Wienand
bdf8cd90f7 Replace openstack.org git:// URLs with https://
This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.

This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.

This update should result in no functional change.

For more information see the thread at

 http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html

Change-Id: I6c126f7e724249741403a87733f546c1642f7f25
2019-03-25 09:40:52 -07:00
Monty Taylor
9cac3c6b63 Run k8s-on-openstack to manage k8s control plane
The k8s-on-openstack project produces an opinionated kubernetes
that is correctly set up to be integrated with OpenStack. All of the
patches we've submitted to update it for our environment have been
landed upstream, so just consume it directly.

It's possible we might want to take a more hands-on forky approach in
the future, but for now it seems fairly stable.

Change-Id: I4ff605b6a947ab9b9f3d0a73852dde74c705979f
2019-02-05 18:50:31 +00:00
Monty Taylor
ac602f9d14 Add a script to generate the static inventory
We moved from dynamic to static inventory. When creating a new host with
launch-node, a script isn't really needed, the inventory is yaml, the
new host can just be added. However, generating a new inventory by
hitting the APIs of all of our clouds might be useful, so add a utility
script to help in case such a thing is needed.

Change-Id: Iae1be8e9cfe19533005e9f0395d1ef7a6427bc83
2018-12-12 07:20:16 +11:00
Zuul
38b9e983c5 Merge "Run puppet apply test serially on centos" 2018-10-08 16:38:39 +00:00
Zuul
59f03951f7 Merge "Use zuul-sphinx README.rst detection" 2018-09-19 23:54:54 +00:00
James E. Blair
11238771d5 Write ansible log to fileout in apply test
So that ansible output lives with the puppet output.

Change-Id: Ia3022096a8a006b1b1eba864df3809b3e66cf7fb
2018-09-06 15:15:40 -07:00
Clark Boylan
f9e18bc348 Run puppet apply test serially on centos
There appears to be a race running the ansible synchronize (rsync under
the hood) top copy puppet modules for multiple puppet applies at the
same time on CentOS7. Running this in parallel appears safe on Ubuntu
and does save quite a bit of job runtime.

Workaround this by running the apply test serially on CentOS only.

Change-Id: Icd0836db215c0b417989d38994a378a705bbc62b
2018-09-06 15:06:27 -07:00
Ian Wienand
86adc42d5c Add ansible runtime script
This is designed to run on bridge.o.o and give us an overview of the
last few ansible cron runs so we can see if there are issues.

Change-Id: I1b23cac74272af891d0b29963dc943bd54128664
2018-09-05 17:19:39 +10:00
Clark Boylan
09288c7c37 Manage clouds.yaml files in ansible
This manages the clouds.yaml files in ansible so that we can get them
updated automatically on bridge.openstack.org (which does not puppet).

Co-Authored-By: James E. Blair <jeblair@redhat.com>
Depends-On: https://review.openstack.org/598378
Change-Id: I2071f2593f57024bc985e18eaf1ffbf6f3d38140
2018-09-04 08:49:00 -07:00
Ian Wienand
a6c2fb53e7 Use zuul-sphinx README.rst detection
With the dependent change, zuul-sphinx will raise a warning when the
autoroles matcher finds a role without a README.rst.  Since we
error-on-warnings this will stop the docs build.  Thus we don't need
this explicit linters check.

Change-Id: I02eefce2448152505bacba3b2a12021515b4a31a
Depends-On: https://review.openstack.org/596014
2018-08-24 17:59:28 +10:00
Ian Wienand
4402201d56 roles: Add README.rst and lint
These role docs aren't exactly War and Peace, but I think longer term
as we fiddle about making things generic or not and moving them
around, we'll be better off having kept ourselves to writing
*something*.

Add terse README.rst files for all existing roles, and add simple
linter check to ensure new roles get them too.

Change-Id: Ibc836310fb8a45e12c2e31f112d92509ac350413
2018-08-23 21:34:42 +10:00
Zuul
744d7fb737 Merge "Remove infracloud references" 2018-08-20 20:21:40 +00:00
Monty Taylor
0625c289c8
Remove infracloud references
We don't run a cloud anymore and don't use these. With the cfg
management update effort, it's unlikely we'd use them in the form they
are in even if we did get more hardware and decide to run a cloud again.

Remove them for clarity.

Change-Id: I88f58fc7f2768ad60c5387eb775a340cac2c822a
2018-08-20 11:03:55 -05:00
Monty Taylor
a634593a05
Set mgmt_hieradata in puppet group_vars
This is not a variable describing the system-under-management
bridge.openstack.org - it's a variable that is always true for all
systems in the puppet group.

As a result, update the puppet apply test to figure out which directory
we should be copying modules _from_ - since the puppet4 tests will be
unhappy otherwise.

Change-Id: Iddee83944bd85f69acf4fcfde83dc70304386baf
2018-08-17 14:25:50 -05:00
Monty Taylor
92c9a7c869
Clean up puppet variables and playbooks
The puppet playbooks were some of the first we wrote, so they're
slightly wonky.

Remove '---' lines that are completely unnecessary.

Fix indentation.

Move some variables that are the same everywhere into
ansible variables.

Put puppet related variables into the puppet group_vars.

Stop running puppet on localhost in the git playbook.

Change-Id: I2d2a4acccd3523f1931ebec5977771d5a310a0c7
2018-08-17 09:41:12 -05:00
Monty Taylor
1a8c2f66da
Move /opt/system-config/production to /opt/system-config
The production directory is a relic from the puppet environment concept,
which we do not use. Remove it.

The puppet apply tests run puppet locally, where the production
environment is still needed, so don't update the paths in the
tools/prep-apply.sh.

Depends-On: https://review.openstack.org/592946
Change-Id: I82572cc616e3c994eab38b0de8c3c72cb5ec5413
2018-08-17 09:41:02 -05:00
Monty Taylor
2e6e67e8d2
Add base.yaml to kick.sh
There are things in base that are needed. Add them to kick.sh.

Change-Id: I94a92cd98fa62552df40b73976bcec764c66ebec
2018-08-17 05:44:37 -05:00
Zuul
b0343f35f9 Merge "Add a clouds.yaml checker" 2018-06-26 23:33:57 +00:00
Zuul
61eff41bac Merge "tools/sorted_modules.py : make python3 safe" 2018-06-26 23:12:57 +00:00
Ian Wienand
19ed6637b6 Add a clouds.yaml checker
Load our various cloud configuration files into openstacksdk for a
basic sanity check of the configuration.

Change-Id: Ieedb3439533f3162d2b5cecca4b7fc07b631019e
2018-06-22 11:47:39 +10:00
Ian Wienand
c807245d8b tools/sorted_modules.py : make python3 safe
Trivial updates to print statements only

Change-Id: I633c21a226364d045fc1650cb41b79b83988d7db
2018-06-22 11:47:39 +10:00
Colleen Murphy
6168de161f Fix acceptance test setup script for puppet 4
Map the modules to the correct path depending on whether this is running
under puppet 4. Currently, acceptance tests for puppet 4 will always
explicitly set PUPPET_VERSION.

Also clean up an unused variable to avoid confusion.

Change-Id: I9bd36a277411c72ef77ce157f8364845acc2e923
2018-06-15 11:09:43 +02:00
Clark Boylan
8b3c5fc255 Don't run against localhost by default with kick.sh
Running against localhost by default with kick.sh means that if you have
disabled puppet crons on the puppet master to test things you will
reenable them automatically creating potentially bad side effects. Avoid
this problem by forcing people to explicitly puppet localhost if this is
what they want.

Change-Id: Id4212005735cac13e6d26439f309569d7567206c
2018-04-25 13:26:03 -07:00
Colleen Murphy
f10f116f60 Fix puppet config for puppet 4
There are some assumptions made about the puppet config paths that
aren't applicable for puppet 4. Configuration, including modules,
belongs under /etc/puppetlabs. It's also no longer necessary to fix up
the templatedir or server configs in puppet.conf.

Change-Id: I3b544b6ce4a96a7a2478522a78402f77ff86a5a5
2018-04-20 14:24:17 +02:00
Ian Wienand
53ac2cfeae Remove per-image logging from nodepool-builder logging config
Change Ia7415d2fbbb320f8eddc4e46c3a055414df5f997 removed per-image
logging from nodepool; it now keeps a series of named log files.  The
"image" logger is removed, along with all the specific build logs.

I972a66f9c153f52df934d25ab2f77596bb2e5429 removed the
image_log_document_root argument; which wasn't doing anything in
nodepool::builder, but was actually being used to fill-out the
builder-logging.conf file.  Thus we need this to not have a bad path
in the config file.

Change-Id: I6fdc3b622454b069f3ad2cf42da584d8df23a110
2018-02-26 14:12:35 +11:00
Paul Belanger
4ca2a7a598
Remove support for snapshot images in nodepool
Update our nodepool_log_config.py script and remove support for
snapshots.

Generate latest version of nodepool-builder logging.

Change-Id: Ib87e8c352b56f63ca44668f43fa440645fab9f37
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2018-01-21 18:20:00 -05:00
Paul Belanger
a3a2a84d8a
Remove puppetdb / puppetboard server
Currently puppetdb and puppetboard have been broken for some time (+1
year) and with ubuntu precise becoming EOL it is prime for deleting.

This leaves openstack-infra with a gap in reporting for non-root
users.  As such, as proposal is in the works to maybe use ARA.

Change-Id: Ifc73a2dba3b37ebe790a29c0daa948d6bad0aa33
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-12-11 10:11:11 -05:00