Requirements haven't been centrally managed for a long time now. Remove
the tool.
Change-Id: I5689985fd8ab2a061c04776c5320188343b2f077
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Setuptools v54.1.0 introduces a warning that the use of dash-separated
options in 'setup.cfg' will not be supported in a future version [1].
Get ahead of the issue by replacing the dashes with underscores. Without
this, we see 'UserWarning' messages like the following on new enough
versions of setuptools:
UserWarning: Usage of dash-separated 'description-file' will not be
supported in future versions. Please use the underscore name
'description_file' instead
[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb
Change-Id: Ifa343da0303d6b15cb9a6bcf6db82fa8317c547b
Now that we are running the Victoria tests that include a
voting py38, we can now add the Python 3.8 metadata to the
package information to reflect that support.
Change-Id: If9f216b34047137f400d2430c914bc870017c62a
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
We don't really need to follow the project-wide cycle templates, but
most of the jobs defined in them are what we probably want to run
anyway. This drops the py2 job template, since all of our code is only
ever run under py3 now anyway, and switches from the train template to
the ussuri template.
Also drops py2 metadata tags since we don't expect (or want) to support
that anymore.
Change-Id: Ic55fa1f88141e7f592317fe334643bd7d81b5fd9
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Add a command to merge lower constraints lists together, as a
precursor to removing the global lower-constraints.txt list in this
repository.
Change-Id: Ia238607b9feb292842971d0fc161ae6294150e1f
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
1) Update doc links according to OpenStack document migration
2) Use https instead of http for docs links
Change-Id: I2d558e68b060ae893bafccf51333d1fd5d061322
The check_constraints utility wraps a new check_exists cmd.
This command looks at a project's requirements and checks:
- That the requirement name alone exists in both g-r and u-c
- If it exists in both, then check that the version in u-c
is covered.
- Added an extra g-r check as a flag, but not quite happy with it.
It needs more work.. but would be a _little_ more correct
if/when g-r stops defining the minimum.
This patch is currently WIP as tests are still required. But is
the starting point for the fuzzy checking for projects managing
their own lower-constraints.
Change-Id: I36690fddcfc24d49aab0d28d7d46dcd8d9128b2a
In order to move forward with constraints support it's beneficial to have
the openstack_requirements tools installable from pypi.
The change:
* Adds MacOS as a supported platform
* Add python 3,5 as a supported language
* Updates the package name to remove the old openstack namespace
Change-Id: Ifdb2428d59fd3cd47f36a72487328e6c5520ebea
Rather than have this as an external tool that open codes some of the logic
we have in the existing codebase we should integrate it.
Change-Id: I979dcefeec4ae28705088d4fac1e41b4d33e40e0
Use pkg_resources.require to report conflicts to ensure
co-installability.
Co-Authored-By: Igor Yozhikov <iyozhikov@mirantis.com>
Change-Id: I7443496b6a06d02bb9cc9457b729dea71451f44a
Add a command and tox environment to let us define a job to ensure that
all repos in projects.txt have the check-requirements job defined. Two
projects are missing the job now, so this patch depends on the patch to
add those jobs.
Change-Id: I61658a7265a77e72401978dda558f41b28a81d92
Depends-On: I81e1c70257e28583e776171580d75341e620bf8d
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This change is necessary in order to use the project's
update-requirements.py script when preparing the environment on the
Hyper-V compute nodes used in the Hyper-V CI. Using the mentioned script
will set the latest requirements in nova, neutron, manila, etc.,
reducing the CI's amount of failures caused by outdated requirements.
Including Microsoft Windows as a supported operating system on this
project. Also, we update the edit-constraints.py and project.py
files to support os.rename() of Windows.
On Windows, os.rename() will create a file with the source
name, without deleting the initial file first.
Example of a traceback:
Traceback (most recent call last):
File "C:\Python27\Scripts\edit-constraints-script.py", line 9, in
<module>
load_entry_point('openstack.requirements==0.0.1.dev2497',
'console_scripts', 'edit-constraints')()
File
"C:\Python27\lib\site-packages\openstack_requirements\cmds\edit_constraint.py",
line 74, in main
os.rename(args[0] + '.tmp', args[0])
WindowsError: [Error 183] Cannot create a file when that file already exists
This could be easily solved by removing the file before the rename.
Proposed fix:
Add before "os.rename(args[0] + '.tmp', args[0])" the line "os.remove(args[0])"
in edit_constraint.py
Add before "os.rename(tmpname, fullname)" the line "os.remove(fullname)"
in project.py
Add "Operating System :: Microsoft :: Windows" in setup.cfg
DocImpact: Added Windows as a supported OS in setup.cfg
Change-Id: If123a65fd8d49d5c67a1db16827a9617ce520dba
Signed-off-by: Costin Galan <cgalan@cloudbasesolutions.com>
As of https://wiki.openstack.org/wiki/python3 OpenStack is
dropping py26 for mitaka. In this patch I deleted py26
and added py34
Change-Id: Id44af177cbf2ddda294fb9a48ca9f1ecefc8d483
Add a simple doc publisher target that just includes the existing
README.
Some of the infra jobs that fail requirements try to point you to the
requirements documentation; currently this is given as a raw RST link
to the web-view of the git tree. It would be nicer to publish this as
formatted HTML like all the other docs.
Change-Id: I56b60a950c64880dd551d11e1997cd5ecbae283c
Having the data validation happening inside the unit tests makes
understanding requirement update failures confusing because the output
is hard to read and does not explain what the error actually is. Move
the checks to their own command and set up a tox env to run it. A
separate patch in project-config will add a new job for the repository.
Address the dedent comment from
https://review.openstack.org/#/c/204181/3/openstack_requirements/tests/test_requirement.py,cm
Add a test to ensure that all items in global-requirements.txt are also
listed in either upper-constraints.txt or blacklist.txt. Ignore a few
items that we don't know how to constrain yet.
Add a test to ensure that items in blacklist.txt are not in
upper-constraints.txt.
Change-Id: Icb717b0f36afb6ea29f50bc6935917dddf47fd4c
This allows shell editing of a constraints file, which we need to do
in devstack when installing a constrained library from git.
Change-Id: Ibdbfc786b5d2f56d2e41d329c8766bef7b2e6854
This script when run creates a constraints file with exact pins for
the transitive dependencies of a requirements file.
Change-Id: I1282f8e4010c0ec46c473495bacddf044d06c0af
setup.cfg wasn't specifying the packages that we use (and had a no
longer needed bit of glue code). Without this, the installed
requirements are not usable as the library is missing.
Change-Id: I4a2bc2bfcccab00c248d42c45b4c6ec184ea740f
A symlink is kept to update.py to keep this working for infra until we
update the propose scripts to try the new location and fall back.
Until that is done and the symlink removed, update.py cannot refer to
other modules (though they can refer to it).
Change-Id: If878bc2bb426c0e5478ed031f1144e26f05e85a2
Turn requirements into a dummy package that, if installed, will
install all of OpenStack's requirements.
Change-Id: Ie2670278b740173bee09608d8ef9bf892f498aa1