Commit Graph

64 Commits

Author SHA1 Message Date
Dmitriy Rabotyagov f72de305b8 Retire openstack-ansible-repo_build role
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
2020-04-06 14:30:36 +03:00
Erik Berg fd4b607820 repo_build: update tests to opendev.org
Change-Id: Ieca6ec9bf898432c76c019a1d2d97c280cd85dce
2020-03-13 12:48:26 +01:00
melissaml 421a45eff4 Replace git.openstack.org URLs with opendev.org URLs
Change-Id: Icb4bf535394637e3179998c28c652b771e221900
2019-07-10 21:55:51 +08:00
Georgina Shippey dcd9469411 Replace usage of netloc filters to urlsplit
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
2019-03-21 15:08:52 +00:00
Jimmy McCrory 0b6f76e22c Set container_name as host_var in test inventory
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
2018-10-20 15:28:29 -07:00
Jesse Pretorius c2a506f390 Update repo_build test-vars data
This updates the repo_build data to the current
package list output from the py_pkgs lookup.

Change-Id: Ib7b1dde1851db6b67cf65dce515795f779024a9b
2018-09-27 13:40:33 +01:00
Jesse Pretorius b1148411cc Remove venv build process
The packaged venvs are no longer used by any of the roles,
so we remove the whole process.

Change-Id: I086c7f53f90c11969f56391551a573e1bd526c50
2018-09-22 19:29:45 +01:00
ZhijunWei ead5ec8589 use include_tasks instead of include
include is marked as deprecated since ansible 2.4[0]

Switch to include_tasks or import_playbook as necessary

[0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated

Change-Id: I5b9e7be4c7212e3c483d2c65746629416cd309f2
2018-08-19 12:17:12 -04:00
Zuul 98f5834814 Merge "Trivial: Fix the pep8 warning" 2018-07-11 08:02:36 +00:00
ZhijunWei 6fad969d1a Drop python-cinderclient usage
We've switched everything to python-openstackclient and therefore
the usage of python-cinderclient is no longer necessary.

Change-Id: I58d683a85f98f1cbed80a8b1db36b44c9ba83858
2018-06-26 11:02:00 -04:00
fpxie 63faaf8184 Trivial: Fix the pep8 warning
The yaml should start with "---"

Change-Id: Ibf8a41b10c0aa222c5ce1c78f39a33f70c2ffcb7
2018-06-20 16:16:57 +08:00
Jean-Philippe Evrard d20a9614e9 Updated spice-html5 git repository URL
Change-Id: Ibb3522337db9b9b2960f39c9f5a92ca72c13c327
2018-06-06 07:25:09 +02:00
wangqi 4e8100672d Updated spice-html5 git repository URL
Change-Id: I594cf7ea1108dcd8b746b25006d30d3d3cb7511d
2018-06-05 15:08:06 +00:00
Jesse Pretorius 98fcbb28eb Update repo_build test-vars data
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
2018-05-15 16:35:14 +01:00
Jesse Pretorius 475ad050e2 Remove tests-repo-clone.sh
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
2018-03-28 10:17:39 +01:00
wangqi 8dce3bdb10 change python-libguestfs to python-guestfs and libguestfs-tools for ubuntu
Change-Id: If675da5158de223972cdafe58c60147358bc79b7
2018-03-21 13:51:52 +00:00
Mohammed Naser 986af57998 Drop unnecessary dependencies from role
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
2018-02-22 21:03:33 +00:00
OpenStack Proposal Bot 5349d0c056 Updated from OpenStack Ansible Tests
Change-Id: I6f77f07f68ccae68c0dec2157cc198da02eb9476
2018-02-14 20:08:13 +00:00
Jesse Pretorius 9eecf226fa Update the repo-build test data
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
2018-02-05 13:03:02 +00:00
Zuul 389861c0f8 Merge "Remove all mentions of virtualenv-tools" 2018-01-16 14:28:18 +00:00
Jean-Philippe Evrard f69ed50dd2 Remove all mentions of virtualenv-tools
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
2018-01-15 14:23:36 +00:00
Jean-Philippe Evrard 4ad9c92618 Fix ansible lint tests
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
2017-12-06 19:45:21 +00:00
Jesse Pretorius e0215f2e1f Initial OSA zuul v3 role jobs
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
2017-10-17 18:04:12 +01:00
OpenStack Proposal Bot 351d16156a Updated from OpenStack Ansible Tests
Change-Id: Ief387d870c8bb1a12ed7a2dcb4013bc352107359
2017-10-12 20:45:22 +00:00
Markos Chandras a0ca13626a Add SUSE support
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
2017-05-19 11:08:14 +01:00
Jesse Pretorius 4a34d61b30 Use zuul-cloner for tests repo in OpenStack-CI
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
2017-05-04 16:54:30 +01:00
Jimmy McCrory 509f26b41b Standardize test vars
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
2017-04-25 16:15:21 -07:00
Kevin Carter fe3ae20f74
Modified repo build for better multi-OS support
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>
2017-03-15 13:05:07 -05:00
Andy McCrae 74b5246637 Remove Trusty support from repo_build role
Change-Id: I06991d14ff62deee08265cfaf4caac808051ea5f
Implements: blueprint trusty-removal
2016-12-15 15:28:32 +00:00
Jesse Pretorius da7b0e120e Make git clone process idempotent
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
2016-12-13 14:53:24 +00:00
Jesse Pretorius f623c1dda0 Clean up old test mechanism
This patch cleans up some cruft left behind from an old
testing mechanism.

Change-Id: I590ca0b8c3b47795062c2ab27e80c5215216b244
2016-11-10 10:59:19 +00:00
Jesse Pretorius 98b17f14d1 Fix bare variable in test
Change-Id: I4e1ee7f600f92ecd3d861ba485685b5edcc4c40a
2016-11-10 09:57:24 +00:00
Kevin Carter baab4e2e7c
Updates to support ignored packages and external indexes
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>
2016-10-27 01:42:53 -05:00
Jesse Pretorius b557316a36 Clean up Ansible retry files
The Ansible.retry files should not be committed.

Change-Id: I1af6f0c5b9d790a9e2edb8de99916726bdc52c91
2016-10-09 17:13:48 +01:00
Daniel Gonzalez c5a5ad11a9 Change calico git repo to new repository
https://github.com/projectcalico/calico/ has moved to
https://github.com/projectcalico/felix/. This change updates the
test-vars related to calico to match the new repository.

Change-Id: I1205ddf2fb571a140776db27052d9b4ab89dc046
Partial-Bug: #1631362
2016-10-07 15:35:37 +02:00
Jesse Pretorius e7baae22ae Ensure git folder rights and always run clone script
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
2016-10-06 21:29:25 +00:00
Jesse Pretorius a858e8d032 Use centralised test scripts
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
2016-09-28 12:00:16 +01:00
Jesse Pretorius 640029b640 Force Ansible to use dynamic includes
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
2016-09-22 16:35:07 +01:00
Jenkins 6b94cfa979 Merge "Update py_pkgs output data for binary package lookup" 2016-09-14 21:13:51 +00:00
Jesse Pretorius c0c4f6b481 Update py_pkgs output data for binary package lookup
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
2016-09-14 20:33:22 +01:00
Jenkins 4bfbf1c0e9 Merge "Drop privileges before running the git clone script" 2016-09-14 19:19:20 +00:00
Paulo Matias dec3ab443b Drop privileges before running the git clone script
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
2016-09-14 15:24:15 -03:00
Travis Truman 294b4a0c76 Ansible 2.1.1 role testing
Change-Id: I8ddf65a83d7e3a7a6b7e108eda67f48b816cda74
2016-09-14 11:57:00 -04:00
Jesse Pretorius aa2c987840 Rename package lists (and related vars) appropriately
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
2016-08-30 20:09:05 +01:00
Jesse Pretorius df1c98222d Exclude git sourced packages from upper-constraints test
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
2016-08-21 13:42:46 +01:00
Adam Reznechek 628f01cba0 Add support for multi-repo/multi-arch repo builds
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
2016-08-15 13:52:26 -05:00
Jesse Pretorius 0af26bced9 Only clone git repositories for services which are deployed
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
2016-08-05 07:18:11 +01:00
Jesse Pretorius 06e2fd0cd3 Fix selective repo_build for aodh[mysql] requirement
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
2016-08-04 18:50:39 +01:00
Jesse Pretorius fff4f1332e Only build wheels for services which are deployed
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
2016-08-03 18:59:04 +01:00
Jesse Pretorius ca864e298d Correct global_pins depth
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
2016-08-03 15:43:13 +00:00