Puppet is now throwing an error about this for centos-7 unit tests.
Add empty SSH key for krotscheck.
We also need to make sure puppet has been properly installed, this is
because we have recently removed puppet from our diskimages.
Change-Id: I8bcaddd045be3f81de5c2481e0de6a8526c97a91
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Be explicity with our inventory file, to avoid ansible-playbook from
skipping hosts.
Change-Id: I29260bd97432a443e5989fa4a883e8e8d37307fd
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
The version of puppet 3.x in Debian Jessie is 3.7.2, which seems to be
unable to read the modulepath setting from environment.conf. Since we
only have the one environment, the quick fix is to link the module into
the standard module path.
Change-Id: I6f4fa87fa4941c29abf37c277f5ce895a51945bc
Add a human name in the invites sample configuration's from address
value, since this will cause messages to appear with a friendlier
from name than just a raw E-mail address.
Change-Id: Idf16904bcd56692f3a82e41cb52201ed2223fdfd
In the sample settings file, backslash-continue the string literal
opening to avoid introducing an extra leading newline in the
resulting message body.
Change-Id: Ief61f69acb5299ba324af8a897ea4f96fa47711d
Since the send.py script for invites uses print to emit progress
including the names of contacts to which messages are sent,
redirecting stdout of the script to a local file can result in
encoding errors if some of the names include non-ASCII codepoints
(but not when stdout is your interactive terminal). Setting
PYTHONIOENCODING=utf-8 in the calling environment works around this
nicely.
Change-Id: I52b70c64f8b3a20da5143b31c5090192b0c75c99
There only needs to be one sample ATCs file for the invites
mass-mailer, so remove the redundant one which isn't referenced in
the README file. This should help prevent people editing the wrong
sample and then performing a dry-run with the unmodified one.
Change-Id: I61e90ad085e89c466053858518db09a414a07792
The owners.py script is used to generate electoral rolls. It has
example usage comments which previously skipped reporting the
OpenStack Proposal Bot account used to push general changes into
code review, so add the OpenStack Release Bot account there as well
since it also pushes some release-oriented changes.
Change-Id: I98607b9adb8d2c6535beab2879e24097d32434e7
This change modifies the usage of the script so that it can be imported by
the election module. It also fixes maketrans support for python3.
Change-Id: Ie3b602237625e11651825abc8feb38caa73e9632
Kazoo client is very verbose for debug output, default to INFO.
Change-Id: Iff2682d98738e2df2acda11ac2dbcb2706262256
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This adds loggers and handlers for each provider in the nodepool
config file for separate image upload logs on the nodepool host.
This doesn't regenerate the file yet. It won't do anything until the
dependent change to nodepool starts generating upload logs with logger
names that match these.
Change-Id: Ic80e532891f039e0f835847ddfbae38f1ce3cd8a
In order to run the script directly in the test, the script needs to
have the executable bit set. Currently, the test is failing with a
"Permission denied" error when attempting to run the script.
We also need to run install_modules.sh in the logstash-filters test, so
move that invocation to the shared prep-apply.sh script.
The vcsrepo puppet define doesn't understand revisions of the form
"refs/zuul/foo", so instead parse the HEAD sha and pass that to vcsrepo.
Finally, we need to ensure that $elasticsearch_nodes is populated with
an array, otherwise the function @elasticsearch_nodes.map in the
output.conf template will fail.
Change-Id: Ic1ab6d04232abb3cf347f0d27afbf9172f62b0e4
We are seeing races in the puppet apply test to create
/opt/system-config/hieradata. Avoid this by running a simple hello world
puppet manifest prior to running all of our test manifests in parallel.
This should force the ansible puppet role to populate all the things on
disk first avoiding races.
Change-Id: If3946f561535ba315f018ab3122dcde56144240f
This is needed since the hiera configuration is in the ansible
role.
Have puppet append its output directly to our per-test output file.
Rename that file with a FAILED suffix for easy identification when
looking at the results in the published log directory.
Change-Id: Ie2a028b9e0179168d279bcf33de7f997cdfdbc8d
Depends-On: I0db01d128258f78e9b196354799a80774f6c6808
While rare, it _is_ possible for changes to be in a merged state in
Gerrit while lacking a submitted datestamp. For example,
https://review.openstack.org/274113 was merged in a strange way that
left it with no record of merge submission. We had fallback error
handling in owners.py to report this condition, but neglected an
exception path in the previous implementation which would cause the
script to bail early rather than falling through to that error
handler. Now it should use the submitted date if one is present, and
report an explicit warning (including change and owner IDs) for any
where it is not.
Change-Id: I1a40959fdd14dfef720c32e3c87ff5bbde7432df
The encoding applied by responses from Gitweb are buggy, and
requests must be told to assume UTF-8 in the who-approves.py script
before attempting to parse it with pyyaml.
Change-Id: Icbabf582516a340849bd5ed9152a3ed9497d6419
With the recent upgrade to Gerrit 2.11, changes in its database
schema require updates to our "ATC" generator tools. However, the
REST API in 2.11 is complete enough that it can provide all the
required data, so replace the old MySQL query and SSH API based
tooling which required database access with something simpler to
run.
This new implementation retains the data model of its predecessor
(in other words, it tracks "owners" of merged changes in Gerrit as a
best-effort proxy for identifying contributors who are also
foundation individual members). The new script should be extensible
enough that we can further change this model at a later time, with
consensus from the technical committee. Further, unlike or earlier
method, anyone with a Gerrit account can now generate technical
election rolls, contact lists for Summit registration discount code
mail merges, and so on.
Change-Id: I6df798fc9e7fc4ff59972aff39c2e37f8c28d776
Signed-off-by: Jeremy Stanley <fungi@yuggoth.org>
It is obviously missing "python" which makes it not possible to run on
its own. It works with tox because tox.ini explicitly invokes it with
"python {toxinidir}/tools/sorted_modules_env.py".
Change-Id: I6eab942660d69eacda95572c7d2077687087b7c7
Add a script for integration testing with
openstack-infra/logstash-filters and refactor the apply-test script to
leverage much of the prep work done there.
Also add some needed parameters to install arbitrary versions of the
logstash-filters repo.
Change-Id: Ifcc7fb13c4fb21986e33327487c739966e4bb107
While it's hopefully not useful for much longer, this is the script that
safely cleans FIPs from nodepool clouds that use neutron FIPs.
Change-Id: I6f6f2c5f119a40060f46ea1f244a65601f8b7bb9
More recent versions of Gerrit (somewhere between the 2.8 we were
running and the 2.11 to which we upgraded) switched some common
groups to be virtual routines, for example the Registered Users
group, so they no longer appear in the groups list. However we
should also not be counting members of these virtual groups as
approvers anyway (even though in the case of the sandbox repo they
are), so filter them out of the assembly loop in who-approves.py to
prevent it from breaking when it encounters them in an ACL.
Change-Id: Ibb73b68e6338cd2fe2e18c09993d6e02b03c312a
A useful step when debugging image uploads is do to it directly using
shade. This is a script to facilitate that.
Change-Id: I8ae44cb5bf1eb90180afee1dac70fbbc4be4a639
We can use textwrap to break up the ridiculously long lines in the
logging configuration (with less images, it's less ridiculous than it
used to be, but it's still easier to parse). Only trick is to put
spaces between the arguments to give it somewhere to split (and better
for readability) and stop it splitting on words/hyphens.
Change-Id: I04840e98b0564dc531b74b96e8595f9d18b284af
Running puppet remotely in an ad-hoc manner on disabled hosts is mildly
complex. To facilitate, have a wide open playbook that we always run
with --limit - and a shell script to help us type less.
Change-Id: I629072dcada38d0465d351b1b99828466405372f
This script makes management of 100+ dns names more realistic
It only outputs commands to rackdns, it does not run them
Change-Id: I48ecaca79eb1cd274f102da6eb3592a292b7a5fb
Now that the nodepool builder is running as a separate daemon it needs
its own log config file. Move the auto generated nodepool logging config
stuff over to the new builder logging config as we can manage the main
daemon's logging config by hand trivially now.
Depends-On: I013835621dfbc311a0f7bd7c957b7d4656dfa628
Change-Id: Ic1da30eab949876e5bd6c88e83979bdedc6dd50a
Gerrit is missing a feature to remove Gerrit groups. This is a
helper script to remove the group from the database.
Reference:
https://code.google.com/p/gerrit/issues/detail?id=44
Change-Id: I1cb6cf852622fa5697c64666b132ac2205120595
The mail merger for summit invites includes Date and Message-ID
headers, because Crocker said so in 1977 that's why.
Change-Id: I2105fe4cd04b7b2042c9e32888cb1f094697d7bf