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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Load our various cloud configuration files into openstacksdk for a
basic sanity check of the configuration.
Change-Id: Ieedb3439533f3162d2b5cecca4b7fc07b631019e
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
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
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
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
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>
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>
We use zuul cloner + zuul to set up /etc/project-config for integration
testing with rsprec. As of zuulv3 this no longer results in an origin
remote being set which the puppet vcsrepo resource expects.
Address this expectation by manually configuring an origin remote after
we clone the repo.
Change-Id: I83e7088c36b1b57279bb32e44c9f74730da582cf
The change which just merged to incorporate recent retired
deliverables and removed projects in active contributor analysis was
written prior to the gitweb->cgit transition, so fix up that feature
to also use the new cgit-based function call.
Change-Id: Ifde87147399967c43f3e4c93de4347acd31e73cc
Because we are running tests in the gate, we can skip downloading pip,
as our images have already been setup to use the latest version.
Change-Id: I3d235334e0457b70bb69a8fe4b475e69d84c3407
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Missing the original I920e1bc134d1283e2019f4389a5491e9b746cca0
implementation, also filter the per-team PTL electorates to only
include OpenStack Foundation Individual Members. The previous change
did this correctly for the full (Technical Committee) electorate but
failed to apply a similar conditional constraint to Project Team
Lead electoral rolls.
Change-Id: I03e90e5c512ee463cfcc49f147ff523806ae05c7
Story: #2001094
Task: #4877
Since the foundation sometimes needs to deduplicate subsequent
invitations for the same foundation member against invitations sent
by another system, use the member ID as the first field of the
invite instead of using the Gerrit username now that we have that
information available. Use a default member ID of 0 to indicate
non-member invitees who may require additional manual deduplication
or vetting. Also log the member ID in the output of the invite mass
mailer script.
Change-Id: I86d879a5f06144a0889eb852f2cf3d555a12a7aa
If a deliverable or entire project is retired within the qualifying
period for an election, those contributions still count toward
defining the electorate. Merge them into the list of official
projects under those circumstances, but check for any possible
duplicates in case of partial deliverable retirement for a
multi-repo deliverable.
Change-Id: If626373cdbc6ca9ad7d016b2e18b4d82a4ceaa23
Depends-On: I7ca3c9294d325085ce9139f3a86b55e5b31c79c7
In an effort to be more consistent about encoding parameters for GET
requests made in the script which generates electoral rolls and some
event invite lists, centralize calls to the requests module. This
has the added benefit of encapsulating retry logic for potential
reuse in later additions to the script.
Also generalize the query_gerrit() function to flexibly handle both
Gerrit REST API which return neutered JSON and Gerrit Gitweb queries
for retrieving YAML with its own special character encoding
challenges.
Further extract out the JSON decoder error handling so it can be
reused for other APIs than Gerrit's in future feature additions.
Change-Id: Ibda65d41c17416eb28eb326e2cdd28c90153f108