add some process instructions for updating dependencies
Change-Id: I5259a50882564b9dd96d94951f2a5466276e92d2 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
parent
3a0420fbdb
commit
34eda618ab
@ -111,6 +111,68 @@ those projects can not add a requirement that is not already in
|
|||||||
be merged in infra before proposing the change to ``projects.txt`` in
|
be merged in infra before proposing the change to ``projects.txt`` in
|
||||||
``openstack/requirements``.
|
``openstack/requirements``.
|
||||||
|
|
||||||
|
Update Processes
|
||||||
|
================
|
||||||
|
|
||||||
|
Updating dependency settings can be a two-step process. If you create
|
||||||
|
both patches at the same time, #2 can use ``Depends-On`` to link it to
|
||||||
|
#1.
|
||||||
|
|
||||||
|
Adding a new dependency
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
1. Add the dependency to ``global-requirements.txt`` in
|
||||||
|
``openstack/requirements``, including any instructions for
|
||||||
|
excluding versions or choosing different versions for python 2
|
||||||
|
or 3. Add a recent version to ``upper-constraints.txt`` in the same
|
||||||
|
repository at the same time.
|
||||||
|
2. Add the dependency to the appropriate requirements file(s) within
|
||||||
|
the project tree, providing a minimum version specifier. Update the
|
||||||
|
``lower-constraints.txt`` file in the project tree at the same
|
||||||
|
time.
|
||||||
|
|
||||||
|
Removing a dependency
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
1. Remove the dependency from the requirements files in the project
|
||||||
|
tree, including the ``lower-constraints.txt`` file.
|
||||||
|
2. Check for other projects using the dependency. If none do, update
|
||||||
|
``openstack/requirements`` to remove the item from
|
||||||
|
``global-requirements.txt``.
|
||||||
|
|
||||||
|
Updating the minimum version of a dependency
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
1. Check the ``upper-constraints.txt`` file in
|
||||||
|
``openstack/requirements``. If the version there is lower than the
|
||||||
|
desired version, prepare a patch to update the setting.
|
||||||
|
2. Update the minimum version in the relevant requirements file(s) in
|
||||||
|
the project tree. Update the ``lower-constraints.txt`` setting in
|
||||||
|
the same patch.
|
||||||
|
|
||||||
|
Excluding a version of a dependency
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
We need to maintain a consistent set of exclusions across all projects
|
||||||
|
to ensure that the ``upper-constraints.txt`` list of versions stays
|
||||||
|
co-installable.
|
||||||
|
|
||||||
|
1. Check ``global-requirements.txt`` in ``openstack/releases``. If it
|
||||||
|
does not exclude the version, prepare a patch to update the
|
||||||
|
specifiers for the dependency. If the excluded version is currently
|
||||||
|
being used in ``upper-constraints.txt``, update that file in the
|
||||||
|
same patch.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
Lowering the value in upper-constraints.txt may result in
|
||||||
|
excluding a version that another project depends on. Check for
|
||||||
|
this situation before proceeding.
|
||||||
|
|
||||||
|
2. Update the relevant requirements files in the project tree to add
|
||||||
|
the exclusion. It is not necessary to copy the exclusion to every
|
||||||
|
project that uses the dependency.
|
||||||
|
|
||||||
Review Guidelines
|
Review Guidelines
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user