ansible-playbook segfaults when we supply the "-I" option to pip.
Remove this option since it's also slowing down our run. See related
bug for more details.
Closes-Bug: 1459801
Change-Id: Idaf090d642c5e0ab5e143d824ca99f9d39679d87
This is in a function whose output is consumed elsewhere,
so echoing to STDOUT gets lost.
Redirect to STDERR so it gets sent to the console.
Change-Id: Iaab7eec097f7a3c3533afd20cc8da545bc4a425b
Qemu-utils package is required for the qemu-img command, which is
required by diskimage-builder and therefor should be installed for all
environments, not just testing environments.
Change-Id: Id24c481455a0ab3cf5bf0ab96c233db2aadec62b
The OpenStack CI systems are preconfigured with various components
such as databases, message queues, caching dns resolvers. The
CI systems also lack things like public/private key pairs, and
known_hosts files.
Due to this, a number of minor changes are required in Bifrost's test
sequence to account for and route around these differences in order
to allow test jobs to run until completion. This also demonstrated
that some steps have been operating under the assumption that the user
likely already had certain things installed, so service restart
tweeks have also been necessary.
Added a step to restart libvirt-bin in order to allow it to pickup
new capabilities due to the install of the qemu emulator.
Added additional steps to collect kernel log and `virsh capabilities`
output.
Removed MySQL step nolog statements as the password is automatically
suppressed and it suppresses information that could be required for
troubleshooting.
Added in specific username/password logic for MySQL steps if ZUUL
is detected in order to use the OpenStack CI defaults.
Changed VM test node creation to occur upon every attempt.
Extended the startup wait for a test node to be 900 seconds from 600
seconds.
Added collection of process list and listening sockets if ZUUL is
detected.
Added report of VM console log and various commands to assist in
troubleshooting a failing job.
Added auto-generation of a user ssh keypair if absent when operating
in OpenStack CI.
Added explicit adjustment of iptables to permit connections on the
network interface that the hosts are being provisioned via on
8080/tcp and 6385/tcp.
Change-Id: I3c37c5c21af0aefb5007c5775043f7f837389c2d
Switching to the devel branch until the submodule
pointer gets updated so bifrost is operational again.
This was due to the Ansible mysql_user module breaking when
no configuration file was explicitly set. A fix has been landed
however the pointer for the main Ansible repo naturally lags
behind the current development state of the modules repo.
Incorperate support for processing the ZUUL_CHANGES environment
variable in the OpenStack CI system such that dependent or triggered
changes for Ironic, Shade, or python-ironicclient are incorporated
for testing.
If git is not setup for the root user, then the cherry pick could
fail as the commit information may not not be present. In stead,
we pass -n to the cherry pick which prevents the command from
committing changes.
In the event of testing in the OpenStack CI system, we need to
operate differently with repositories as dependent changes may be
in other repositories.
In order to aappropriately test dependencies in a CI scenario,
specificially in the case of OpenStack CI, we need to be able to
parse and act upon the changes defined by Zuul since we manage
the installation of our dependencies.
Changed the scripts to support yum as well as apt, and added a
step to execute the ansible check-syntax sequence in order to fail
fast in the event of a syntax issue.
Additionally, the installation of jinja2 has been switched to use
a requirements.txt file placed in the root of the repository.
When we begin using CI testing, we will want to support installation
of specific revisions which ultimately means Bifrost's installation
process needs to support a slightly different path.
Adds a setting, ci_testing, which is normally set to false.
This setting skips retreval of the files for Ironic, ironicclient,
and shade so any CI prepatory can just leave the appropriate files
in /opt/stack/.
Changed a tar command to the ansible unarchive module and removed
local_action from a copy command that appears in ansible-lint
reporting.
As for the copy command, The copy command it's self does not work
with our specific use case, so we will continue to use command to
directly invoke cp.
In the event of redeployments on installations that have been
in-place for some time, it may be necessary to clean the
master_images folder along with the deployment kernel and
ramdisk to ensure that fresh images are downloaded during
the next installation.
Updated troubleshooting documentation to mention availability of
the playbook and the potential case when it may be needed.
Created and moved scripts into a scripts folder to keep things tidy.
Added a basic test script which invokes env-setup.sh, loads the
Ansible environment, and then initiates the test playbook.
Switch over to Ansible devel branch due to the incompatible changes
between 1.9 and current development, as our ansible modules are
updated to support the newer code.
NOTE: This results in Bifrost being incompatible with Ansible 1.9.
Due to a change between Ansible stable-1.9 and current devel branch
for 2.0, a change landed that removed auth_plugin from the OpenStack
arguments list. Instead, now auth_type is utilized.
Due to a number of issues, we're locking the version of shade
until a portion of the baremetal code in shade can be refactored,
at which point Bifrost will have new Ansible modules which will
leverage the updated Shade code.
Ansible devel branch has introduced changes that break Bifrost
and that necessitate retooling of supporting module code.
Until this can be done, we need to stick to ansible 1.9.
This addes a check of an existing /opt/stack folder. It sets the
execute bit on the env-setup-sh file and updates the README file
based on some findings from my initial tests.