Running this at the end of each CI job will ensure
disk space used by the CI tests is released. Also creating a new
qcow image for overcloud nodes for each test run should ensure that
this disks internal sparseness is restored.
Change-Id: I0bef4f0a6fa334f894d69616829196fe8fc4d768
This updates the entire file to match exactly what is being used on
the testenvs. In particular the number of test envs is hard coded to
3 and some logic is added to use the recently installed SSD's.
Change-Id: Ie91a9615181193183a06eae5e40997faacf4f4e5
Gracefully stop each testenv on a TE host then reset the ovs
config. The purpose here is to work around a ovs bug that is
now more prominent in our testenvs since increasing the number
of nicsa per testenv.
Change-Id: Ib437c0bf4c5eb716e812e654c8f223ced8564a2f
As of I62a5b292891a44e3f4b82edd90b6e4402c50fabf,
Ironic has updated the commands they run over ssh we need to
now allow both the old and the new commands.
Change-Id: I389d9e9ad3ad571e148b730654a7f8e6fb644bbd
The patch https://review.openstack.org/#/c/124061 in Ironic is changing
the SSH commands to force the commands to use their default language
(whatever language the strings in the application was written in, for
virsh that's english) for output by passing LC_ALL=C as part of the
command line. This is needed because as we do some pattern matchings
with the output of some commands and if the system is configured with
a non-english locale setting the matching is going to fail.
This patch makes the locale variable optional when checking the virsh
commands so it would work with the old and new commands.
Change-Id: I7b6bf0c93c88888231d260036c765228e57b848f
This patch adds a new regex for an updated virsh dumpxml ssh command.
Once Nova BM is removed we will put up patch that removes the current
dumpxml regex, but until then we will need both.
Change-Id: I10b49751d55946b8977eed3998612362c740b104
As of I36b704e4d9daa902393b3f79405bf288d9ee0872 ironic has added
2 new commands to the ssh driver.
Change-Id: I5d67cb28ffa6fc1a50f043993428daf3efc22f1e
Update the testenv-element to require the NTP element.
Also updates the testenv-workers.yaml heat template to
configure an NTP server for the testenv-worker nodes.
Change-Id: I5f3b4e5aa1bb8d4065fe27c883a5d89a1862dc0b
devtest_testenv.sh is now expecting this to be set, the default
works on local devtest runs but now CI.
Change-Id: I0180e40bce2d96e9119403332970af96006afe5b
devtest_testenv has grown a -s option for injecting the private ssh
key in the JSON datafile, we should make use of it.
Change-Id: Ie9c6220b8245f1af8987141172b58d7c9cbd4b3d
Adds a new bin/testenv-ctl script to help stop/start job processing
for all test-env workers on a node.
Running 'testenv-ctl stop_jobs' sends a SIGUSR2 to all testenv-worker
processes so that they stop processing any new jobs (current
jobs will finish).
Running 'testenv-ctl start_jobs' sends a SIGUSR1 to all testenv-worker
processes so that they resume job processing again.
This should allow us to upgrade testenv-worker nodes for the CI
overcloud without disrupting the job queue.
Change-Id: I8535e13c2fdd1a305feaa1ce0bfe3ef3eb5db685
Updates the testenv-worker script to handle signals so that
we can stop/start the processing of new jobs without
killing the existing testenv-worker process. This is
important in that it will give us better control of
testenv-worker node upgrades without disrupting the
job queue.
The following signal handling is now supported:
USR1: Enable job processing.
USR2: Disable job processing. The current job will finish processing
and no new jobs will be accepted. The testenv-worker process
will however stay running.
INT: Exit after any currently running job finishes. The testenv-worker
process must be restarted after this signal is received in
order to process new jobs.
Change-Id: I465f34393627f6b6fd6584824531d01287b523d7
Resources allocated to our CI testenvs should match the current
default that developers are using. So use the same defaults when
building a testenv. This will result in the testenv defining nodes
with 2G of memory instead of 4G.
Also export NODE_ARCH, without doing this it would be ignored.
Change-Id: I1ee2a9ce661822cfca24c407607fa82f479efc16
To avoid registering the same MAC address on 2 seperate DHCP servers,
we create a dummy device to be used on the overcloud test network. This
isn't persisted across reboots but TE Hosts don't survive reboots anyway
so the overall situation is getting better.
Change-Id: I34df201a4beced1bb53ef2c1a3e19888eb989ed2
Related-Bug: #1272803
this was changed recently to use devtest_testenv.sh
e600f9ebfd
but needs a couple of things fixed up to work.
Change-Id: I8ff159bc7ffe793261bda4c6b1a1801dc51f43bf
Remove the code duplication by having the testenv-worker element
leverage devtest_testenv to create the nodes and set up the network
and so on.
Change-Id: I40435cb41df3787ee9792dddeb48f77123985c07
Due to minor differences in the ssh command syntax between Nova-Baremetal
and Ironic, the regex on allowed commands failed for ironic. This patch
modifies the regex to allow for these differences.
Change-Id: I160e4202952b7551b855dc7d91784d6a184cb0ed
Closes-Bug: #1298731
A massive one-liner to add a bunch more variables to the JSON
datafile isn't fun any more. Shift to using a heredoc which should
make the options we are setting more readable, as well as easier to
change in future.
Change-Id: I3cf779326d682f0afe5f5399e37a8b34e62ac54c
Rather than using a list of MAC addresses to identify nodes, shift to
the same behavior that devtest_testenv is using, which stores the
details of the nodes directly in the JSON.
Change-Id: I6551fdebfcc2224822f5e972d5757e1ce559ad11
The testenv client is privileged to information about jobs that the
worker is not aware of, so allow the client to send us the appropriate
timeout.
This also changes the format of the the data sent to us from the client
to a json representation of a python dict.
Change-Id: If3f082c04d937f0d5baa09cf002aef797eebcbe5