As repo_build role has been succesfully replaced with
python_venv_build role, we have no need in it's futher maintaining and
releasing.
Depends-On: https://review.opendev.org/717715
Change-Id: Iaf1d6da8192afbbd18c64e2b58d54fa5804fe43c
Remove the references to netorigin and netloc_no_port as they will
be taken out from openstack-ansible-plugins
Now using ansible 2.4's urlsplit filter as a replacement.
Change-Id: I94302ced3e5d6faa4d8748590f323e89d9b7280c
Related-Bug: #1820830
The connection plugin no longer falls back on using the
inventory_hostname as the container_name. Set container_name as a host
var for each container in the test inventory.
Change-Id: I74031a2bcafda1a24d7c767218a3b050ae63bc46
We've switched everything to python-openstackclient and therefore
the usage of python-cinderclient is no longer necessary.
Change-Id: I58d683a85f98f1cbed80a8b1db36b44c9ba83858
This updates the repo_build data to the current
package list output from the py_pkgs lookup.
It also changes the implementation of how the
test data is stored and consumed to make it easier
to maintain in the future.
Some line spacing is also added to the test playbook
to make the tasks easier to distinguish.
Depends-On: https://review.openstack.org/568621
Change-Id: Icf102a78fd0cf9aae3c09378235f2d91f7db8cdd
Now that run_tests.sh handles the tests repo clone, we can
remove the use of the older tests-repo-clone.sh script.
Change-Id: Ib1c24330612bba522ee071430dd6a9c6f9108d3a
The role currently installs debhelper and dh-apparmor which are
not used and cruft from years ago. It's causing issues with the
UCA Queens repos so removing them fixes the gate and speeds up
installs.
Depends-On: https://review.openstack.org/547139
Change-Id: I7db925044993d1f45a4a6827eec134ad51a04f54
The data used to test the repo build was last updated quite
a long time ago. This patch simply updates the data in order
to ensure that it's a better reflection of the current state.
Change-Id: I384b1f7e753885cb5ff0dda1b5d0bd1950b99124
Because of the changes in the other repos (removing
virtualenv-tools), it's expected that the repo-build process's
test don't see any mention of virtualenv-tools.
We should therefore remove anything related to it.
Change-Id: I4fc9a729b4dbac9c1101c47cdcff254a07d00435
Partial-Bug: #1741634
On top of that, it bumps the version of bindep.txt
from the osa-tests repo, because the automatic bump
cannot merge without lint tests passing, and the
other way around. Moreover, we drop the 'force'
argument from zypper since we are not switching
package vendors anymore.
[hwoarang: Add patch from https://review.openstack.org/#/c/526128/
to unblock the gates]
Depends-On: I4ba16ea660907c3fb481a9e80d73b750c2f4c138
Change-Id: I67e44434d4b3eb07b8af5c12aaa807514518be4c
This patch implements an initial set of jobs intended to match
the current job execution method. It does not intend to improve
how the jobs are executed - only to replicate what is currently
in openstack-infra/openstack-zuul-jobs and provide the platform
to iterate on.
Change-Id: I075faca888afaad8a987e3113478747b4bd61067
Add support for SUSE based distributions. Since we grab some packages
from the OBS repositories, we need to use the 'force' option to allow
zypper switch vendor on these packages. We also update the bindep.txt,
run_tests.sh, tests-repo-clone.sh and Vagrantfile files from the
openstack-ansible-tests repository.
Change-Id: Icea249aae20156b253017c6028f0ba2bb74bd577
When executing the tests repo clone in OpenStack-CI,
use zuul-cloner instead of git to enable cross-repo
testing. This ensures that if a dependent patch from
the tests repo is noted using 'Depends-On: <change-id>'
in the commit message, that patch will be included.
Change-Id: I0a409895764cc1e318d1fd70efe6aa7b5ba3def2
Depends-On: Idce7abebf32f24c356a27e099fbca954d917402b
Move test host vars from the inventory to individual files for each
host. 'ansible_become' has been removed from localhost's vars since it
should be handled on a playbook basis.
Change-Id: Iee0b0c4d4f6e4dc27410d47f01cacaa967deefb1
The repo build role will now store all wheels and venvs in directories
containg information about the OS in which the bits were build on. The
intention here is to ensure that all installation are able to support
multi-OS without running into issues caused by system packages and
different core libs. This change builds upon the multi-archetecture
support we already have.
Closes-Bug: 1641131
Change-Id: I3f36afa307e02a38d73b860fc23ed94a09882c34
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This patch makes the git clone process idempotent.
Using asynchronous Ansible tasks to achieve the goal
also resolves a race condition seen when using the
selective git clone process with a small number of
git sources.
Ansible handles the asynchronous tasks better than
the bash job control 'wait' command.
The test to validate that a missing 'origin' remote
does not break the git clone process was removed due
to https://github.com/ansible/ansible/issues/19290
Closes-Bug: #1649329
Change-Id: I3e68f155190461470adb7e46d904705d991973af
This change ensures that a venv create process can work when a
dependency is crafted outside of the OpenStack global requirements
system. The change keys off of the original package url setting the
isolated perameter should "withindex=True" be found.
The requirements.txt.j2 template file has been updated to allow
packages to be ignored from wheel building should the
`ignorerequirement=True` property be set within a given remote package.
This ability is important as some packages, generally external testing
repos, do not use requirement boundries and are known to break
given enough time.
Tagged tasks that MUST always be run have had tags set to "always".
Change-Id: I5d11aca84dcb74c77f3d0e3f31ce6546458a3e84
Closes-Bug: #1631992
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
In https://review.openstack.org/380553 a change was made to
only execute the clone script if the script changes. This
has resulted in a failure when using a pre-staged git cache.
As the script only executes clone tasks if the git repo is
broken or the SHA isn't in the clone, it's OK to execute it
multiple times.
This patch ensures that the script always runs, but also tries
to add changes to the tests to try to uncover the cause of the
integrated build failure which the previous patch caused.
Additionally, the patch also adds tasks to ensure that the git
folder has the correct owner:group.
Change-Id: I40a02c26d0abc9d17dd7fad2eab969d169c436bb
This patch consumes the test scripts implemented by
https://review.openstack.org/375061 to ensure that
the tests and test preparation is consistent and
more maintainable.
Change-Id: I32e796d6166b27ea2df897d4a6f13183ea482e97
Ansible 2.1.1 introduces a regression in the way conditional
includes are handled which results in every task in the
included file being evaluated even if the condition for the
include is not met. This extends the run time significantly
for a deployment.
This patch forces all conditional includes to be dynamic.
Change-Id: I0a16d1584d11c78dcd81be28a9b6604fba8b5a84
Related-Bug: https://github.com/ansible/ansible/issues/17687
This patch adds the current master branch lookup results from
the following patches to validate that the lookup does not
break the existing build and to provide a sample set of data:
- https://review.openstack.org/363022
- https://review.openstack.org/370384
Change-Id: Ibdd08618f0081a9bcbac09a7e05a9cad590482a2
This causes the git repository files to be owned by the same user
as the one used by lsyncd to connect to the other repo servers.
Change-Id: I004e3bbef182b4dc6f18df5b9424190288f5e47d
Closes-Bug: #1620765
Depends-On: I3d974d578f3e2323415e36c40efa48036b517468
In order to make it easier to differentiate between the lists of
python packages, distribution packages, downloaded packages,
package pins and other similar variables the variable names are
being changed to ensure that they have a more explicit suffix
that defines the purpose and makes the naming more consistent.
This is to facilitate a lookup plugin which will be able to look
up all the package lists and present them as a consolidated piece
of data which may be used for artifact preparation.
Change-Id: I4f8accf0fd4f7a7de53c486fe389106181945f70
This patch updates the py_pkgs output based on the current Newton
package set, and to include the new output based on the changes in
https://review.openstack.org/352695
The previous data was based on a lookup with stable/mitaka roles.
As the tempest package is now in upper constraints, the updated data
exposed a flaw in the test which did not exclude git sourced packages
from the upper constraints validation. This patch fixes that.
The results of the tests for this review validate that the old data
structures are intact. A follow on patch will adjust the repo build
process to take advantage of the new data structure.
Change-Id: I231d0f02f3fc370d57518593909c3ed426ea8b4c
This patch adds support for building across multiple repo servers,
with artifacts for each CPU architecture being tagged appropriately,
then synchronizing the built artifacts back to the primary repo server
for distribution out to all repo servers deployed.
Partially Implements: bp/multi-arch-repo
Needed-By: I045de3ac8b81cadbcb34102f1a2db5bff74c32a6
Change-Id: I31756f8383e6d69d2f80caf6a85c4c5021bfc46d
The current repo build process clones all git repositories for all
OpenStack services, regardless of whether they're actually going to
be used.
To reduce the repo build time, this patch will only clone the
git repositories for OpenStack services where there is one or more
members in the service inventory group.
Depends-On: I6a0508e8aaa4993bc68e72e3d2988d6db6470f6d
Change-Id: I6e5a554d6f87058ef5cb63adf7995b066cb6fd78
The requirement aodh[mysql] is not properly interpreted by the
requirements template, and thus causes a build failure.
This patch ensures that this requirement is included in the
test process, and that it is interpreted properly and builds.
Change-Id: Ia17ee7788f3218db0c7ece95d3e11aa900f7fd98
The current repo build process builds wheels for all OpenStack services,
regardless of whether they're actually going to be used.
To reduce the repo build time, this patch will only build wheels for
OpenStack services where there is one or more members in the service
inventory group.
An updated set of test vars is included based on a recent stable/mitaka
output of the py_pkgs lookup based on the below-mentioned dependant
patch.
Depends-On: I5e981c818a1da50aa0ae15630655a8dfac4f3db7
Change-Id: Idda16b4f382eee57c7469af898859d6d81d4eb30
In https://review.openstack.org/350352 the repo_build process
implemented the test vars and changes to the constraints build
which caters properly for global pins, but the data set used
was incorrectly mapped from the py_pkgs lookup output.
This patch fixes the depth, tests and template to use the
correct depth.
Related-Bug: #1605846
Closes-Bug: #1609056
Change-Id: Ic8959fd27b4012d569aef1b9ddd1d7be40ed49e0