Commit Graph

44 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
OpenStack Release Bot d0e9c0f708 Update master for stable/train
Add file to the reno documentation build to show release notes for
stable/train.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/train.

Change-Id: I910dc1663e1d86b2169e14dac22e2069be716784
Sem-Ver: feature
2019-10-22 19:04:03 +00:00
OpenStack Release Bot 535ef05594 Update master for stable/stein
Add file to the reno documentation build to show release notes for
stable/stein.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/stein.

Change-Id: I9ec8b24a1a3c8e7c0cc02a5f19772f6a4191431f
Sem-Ver: feature
2019-04-08 09:23:15 +00: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
OpenStack Release Bot 15e30c59c8 Update reno for stable/rocky
Change-Id: Idfe4005ec99dc04ad7eba672d903d531012d5537
2018-08-10 16:49:27 +00:00
Kevin Carter 7a4d888d35
Add option for default pip package install
Add an option to define a default set of python packages to install
within a virtual environment. This can be used to install a package
wihin a virtual environment that may be outside of a normal package
list but for a given service.

Change-Id: Iace13b8b4156b0aa6a919cf2b1f3a0c4376a74ee
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-06-29 23:25:53 -05:00
OpenStack Release Bot bf96fdc37a Update reno for stable/queens
Change-Id: I4203af4f2fde81d4384010521e0fb83fbe663833
2018-02-14 15:51:52 +00:00
Andreas Jaeger 8bf88ee085 Remove setting of version/release from releasenotes
Release notes are version independent, so remove version/release
values. We've found that projects now require the service package
to be installed in order to build release notes, and this is entirely
due to the current convention of pulling in the version information.

Release notes should not need installation in order to build, so this
unnecessary version setting needs to be removed.

This is needed for new release notes publishing, see
I56909152975f731a9d2c21b2825b972195e48ee8 and the discussion starting
at
http://lists.openstack.org/pipermail/openstack-dev/2017-November/124480.html
.

Change-Id: I53f389c07c2278e1646b6be17864797a043ef855
2017-11-17 08:11:20 +01: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 Release Bot 2b27c0a0ca Update reno for stable/pike
Change-Id: I8d3b9dca7c1733b2d4ca11fda351846db1d775a7
2017-08-21 10:35:17 +01:00
ZhongShengping ce3503ed8e Fix openstackdocstheme settings
To use openstackdocstheme 1.11.0 properly, this patch fixes
some settings according to follow[0].

[0]https://docs.openstack.org/openstackdocstheme/latest/

Change-Id: Id68865c68fdb67a3fa345bb3c56c28b322b8bf28
2017-07-03 16:27:17 +08:00
ZhongShengping 937df62a2b Switch from oslosphinx to openstackdocstheme
As part of the docs migration work[0] for Pike we need to switch to use the
openstackdocstheme.

[0]https://review.openstack.org/#/c/472275/

Change-Id: I848f1cae03649076b6bf8ae28247164efcb3e4b1
2017-06-26 14:43:28 +08:00
Jesse Pretorius dcd609e003 Add release note for idempotent repo build
Change-Id: I711b9aab2486045662d4a966a96a3e0a7d31fae0
2017-06-13 10:28:07 +01:00
Jesse Pretorius c505f88b12 Remove deprecated tasks/variable
Some tasks are no longer necessary in Pike
and the variable removed was deprecated in
Mitaka, so it's time to go.

Change-Id: Ibabe46967582929a441e66848c5267f0460a358b
2017-06-12 19:04:37 +00: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
Jean-Philippe Evrard 96d4ee3694 Remove UCA/RDO in role
Now that the external repository management is done in pip-install
role, we don't need this wiring anymore.

Everything will be consistent across all the roles that include
pip-install.

Change-Id: I370135ab49dd75c2c3632b9f807b609c539bd4d6
2017-02-13 13:00:09 +00:00
Jenkins 80cf833af8 Merge "Update reno for stable/ocata" 2017-02-06 09:18:57 +00:00
gecong1973 a6a26b6dc8 Use https instead of http for git.openstack.org
TrivialFix

Change-Id: Id385829fdc405e361275e5b0660794ae69874430
2017-02-06 11:02:01 +08:00
OpenStack Release Bot 81bea41b95 Update reno for stable/ocata
Change-Id: I292a2cb43dcd5d7f50b8a14a5b4e940046ab42cf
2017-02-03 18:59:01 +00:00
Jean-Philippe Evrard 1d0493b58a Allow override of the repo filename
Apt cannot have 2 mirrors with the same content in 2 different files.
If a deployer has an apt mirror with uca, the deployer
still need to add a repository, but will also need to define the
filename used, in order to avoid clashes.

This commit makes possible to decide the filename for the repo, and
has the same behavior as Newton, allowing a backport.

Change-Id: Ie95dc9a90ad1772dc2e938fb1432d37a9c01f131
2017-01-10 13:01:32 +00:00
Andreas Jaeger b9489dfe61 Enable release notes translation
Releasenote translation publishing is being prepared. 'locale_dirs'
needs to be defined in conf.py to generate translated version of the
release notes.

Note that this repository might not get translated release notes - or
no translations at all - but we add the entry here nevertheless to
prepare for it.

Change-Id: I9a9a9b8d28b54249f25aa85579fa5594d1ea0bfc
2016-10-06 20:39:34 +02:00
Davanum Srinivas 38f54470da Update reno for stable/newton
Change-Id: I825b6d9cfd815bba61b75fb3815869f3fe297990
2016-09-29 19:13:55 +00:00
Charles Farquhar 2988bee14a Evaluate /etc/environment during repo building
This change causes the contents of /etc/environment to be
evaluated so that deployments in environments with HTTP
proxies can be successful.

Change-Id: Ida2a0465bea8b87bcb7a71c61661852ac1417391
Closes-Bug: 1625405
2016-09-20 11:35:38 -05:00
Charles Farquhar 8fb9246ec6 Use pip_install_options when creating reqt wheels
This prevents pip SSL certificate verification failures in
environments with internally signed certificates by allowing the
certificate location to be specified in the pip_install_options
variable.

The pip_install_options variable is also added to the role defaults.

Change-Id: I447e5378254f88ac4fa87a9db3d34221a21e3685
Partial-Bug: 1621596
2016-09-08 16:09:38 -05: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
Robb Romans cd179f54a0 [DOCS] Use new documentation tree structure
Change to the new structure we are adopting for each role, plus some
general cleanup.

Change-Id: Ife0365ef1a23227108afba2770e7887e2fc0227e
2016-08-24 09:02:09 -05: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 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 38d7faffa9 Fix repo constraints construction and package installation
The current repo build process has the following issues:

1. The constraints consruction doesn't properly handle two constraints
   which use the same name, but have different version specs. eg:
   ovs===2.5.0;python_version=='2.7'
   ovs===2.6.0.dev2;python_version=='3.4'
   This is a problem in both the constraints construction, and
   in the testing.

2. The pip packages installed on the repo server in order to
   construct the repo do not respect the global pins or the upper
   constraint overrides.

3. The constraints are selected based on the requirements specified.
   This makes the process unnecessarily complex and hard to test.

4. The global pins are not applied to the constructed constraints,
   so the wrong packages get built and installed.

5. The tests aren't thoroughly checking that the constraints are
   correct.

This patch corrects all of these issues and hopefully makes the
mechanism for constructing constraints more readily apparent, and
therefore easier to maintain.

Change-Id: If52d073d43081468e2faf2cd063c4b211c29994f
Related-Bug: #1605846
Closes-Bug: #1609056
2016-08-03 10:21:55 +00:00
Jesse Pretorius f141d6dc82 Add ability to change apt/yum package state
The current method of installing the distribution packages required is
set in the tasks and cannot be changed by a deployer.

Currently the apt task always installs the latest package. This results
in unexpected binary changes when a deployer may simply be trying to
execute a configuration change.

This patch adds the ability for a deployer to change the desired state
so that the results are predictable.

Change-Id: Ic570c4029b06918e223f21da02012f330911ad51
2016-08-02 15:34:50 +01:00
Jesse Pretorius 22b14ceb7f Provide ability to override upper-constraints
This patch adds a new list variable which allows a deployer to
override OpenStack's upper-constraints for the repo build
process.

Change-Id: I46ba9345a85c43f2a1f24ea1819132e7474e6909
Co-Authored-By: Jimmy McCrory <jimmy.mccrory@gmail.com>
2016-07-29 09:57:41 +01:00
Jesse Pretorius a392ee801f Allow the use of a pre-staged git cache
This patch provides the ability for the repo server to take advantage
of a pre-staged git cache on the deployment host, such as that provided
on OpenStack-CI's nodes.

This reduces the execution time of the build process by:

- only executing a repo clone for invalid or missing repositories
- only updating the clone if the existing clone doesn't already have
  the version required

Due to the way OpenStack-CI stages the cache (from a file based origin
which is not accessible) it is also necessary to adjust the origin
remote instead of creating a new remote as was done previously,
otherwise the 'git fetch' execution would fail.

The patch includes changes to the tests to pre-stage two repositories
and mangle them intentionally to test the resilience of the clone
process.

Change-Id: Ibe70ba27b9a716e9385a5db46cd745bc0d538d63
2016-07-26 12:39:12 +00:00
Jimmy McCrory 373978f3c6 Fix setting of upper_constraints fact
The pip_constraint_update filter overrides pip versions from the second
provided list to the first. Update the 'Set upper constraints' task so
that upper-constraints correctly take priority over the local
requirements packages versions.

A test has been included to validate that the role built package
constraints file is correctly applying the upper-constraints from the
openstack requirements repo.

Closes-Bug: 1605846
Change-Id: I53864a34f3ba56a84ed658fa3952aba3c509e0b1
2016-07-23 02:34:48 -07:00
Jesse Pretorius c391fd3eb0 Only build venvs for services which are deployed
The current repo build process builds venvs 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 venvs for
OpenStack services where there is one or more members in the service
inventory group.

Change-Id: I01e6cdaa7a1a4aa07d2118c0badfea25b85b3249
2016-07-21 11:02:28 +00:00
Jimmy McCrory f4f7009925 Add and enable UCA repo by default
When the UCA repo is enabled for nova, a newer version of libvirt will
be installed. The repo_build role will also need to have the UCA repo
enabled to install the same version of libvirt-dev so that a
corresponding libvirt-python wheel will be built.

The test preparation implements an override of the URL for OpenStack-CI
to make use of the local mirrors.

Change-Id: I6d5532e862e98929cff868f940c202875d1ee560
2016-07-19 00:45:26 -07:00
Jesse Pretorius 1e9a3064f2 Update sphinx configuration
This patch updates the sphinx configuration for docs and releasenotes
to make it easier to replicate across repositories and to comply with
pep8 testing without exceptions.

Change-Id: I877356ceb4b5ed31fb4d6c939cc4b5afdd38ec66
2016-07-12 16:55:10 +01:00
Jenkins d3acdd22cb Merge "Add support for Centos 7" 2016-07-11 15:02:29 +00:00
Jimmy McCrory 0336e82065 Add support for Centos 7
Implements: blueprint multi-platform-host
Change-Id: I884563981239d2079b146397014a46da80fdc414
2016-07-08 11:49:53 -07:00
Kevin Carter 34e3da032c Updated repo-build to store package sources
This change enables our repo-build process to store the package sources
for all of our requirements within a given release. This change enables
the ability to have a multi-archetecture / multi-distro / multi-interpreter
deployment.

Because a python wheel can be tied to a particular archetecture, distro, or
interpreter wheels alone can not be relied on to power a mixed environment. The
source is needed to ensure pip is able to resolve a package depenedency even if
a pre-built wheel does not meet the python or system requirements. To enable
this a task has been added to the repo_build.yml file to first download all of
the sources in non-binary format, once downloaded the sources are used to build
all of the wheels locally.

Change-Id: Ib081c24f67e92c165cba14848ff86e20fe6c1530
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-07-07 15:07:08 +00:00
Jesse Pretorius 2c10e0d81c Remove empty release note
Commit afc65d102e mistakenly
included a test release note. This patch removes it.

Change-Id: Iab5a29155fc5d2fefc178e05c226d5baeda4a152
2016-05-19 21:36:47 +01:00
Jesse Pretorius afc65d102e Add dependencies for paramiko 2.0
Paramiko version 2.0 has been released. It now uses the Python library
cryptography. Installing this requires additional system packages. This
commit adds in the appropriate packages required by cryptography based
on its documentation [1].

An alternative approach would have been to constrain the version of
Paramiko however the project describes the 1.x versions as relying on
insecure dependencies [2].

[1] https://cryptography.io/en/latest/installation/
[2] http://www.paramiko.org/installing.html

Change-Id: I57c9ca3f0d0163d9345f892f780c699b930a6942
2016-05-03 08:58:07 +01:00
Jesse Pretorius 363c8bebf4 Remove Liberty releasenote index
Change-Id: I42651edbc6941d5d41a80c3357a8148697ca9595
2016-04-20 22:22:17 +01:00
Jesse Pretorius c316b1ed52 Add reno scaffolding for release notes management
Change-Id: I681bcd1a4de1268cb9d6ea2d96a84575d76f9a22
2016-04-09 19:22:06 +01:00