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].
Let's 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/a2e9ae4cba
Change-Id: I33fcd3a39b58b07585f21950f58ea35cd8419282
A lot of things have changed at once (or have been ignored
in refstack for some time) and in order to keep refstack
functioning this commit addressed the following:
* Update nodejs jobs so that we keep testing refstack
with the newest nodejs
* Update jobs for Zed development cycle
* Add support for py3.10
* Fix 2009327 story - refstack is now compatible with
jsonschema>=3.2.0 (schema definition got fixed)
* Drop py3.6 and 3.7 (upstream tooling as e.g. devstack
isn't supporting those anymore)
* Fix mysql setup script used to run functional unit tests
* Add WebTest dependency needed by unit tests
* Update alembic and jsonschema version to at least
currently recomended versions (by constraints)
Task: 43761
Story: 2009327
Change-Id: I37bb7dc520119bdab280d62e23922641ef7658ce
refstack fails with jsonschema>3.2.0 on result schema validation,
until we will have resolved that the commit caps the jsonschema to
the last working version - 3.2.0
Story: 2009327
Task: 43762
Change-Id: Ie70c85febbe723562f16633b6175ebc7a50925d8
This reverts commit 1e40c8784c40ab17ac754d5da8381476eb48cad4.
Reason for revert: It has turned out the previous job was correct
Change-Id: I78c43c3bfbd14797debcd1dfa74e448e2e1257bb
Previously used opendev-promote-docs didn't publish the docs
to docs.opendev.org as expected, this patch is trying the
following job instead: promote-tox-docs-infra
Change-Id: Id9005daf2848f07e353ecdf1387395a669c5fddf
This patch makes sure that the promote pipeline uploads the
generated documentation to opendev.org. Previously the promote
pipeline called opendev-tox-docs job (this had no effect on
uploading of the documentation).
Change-Id: Ib1f6742a6614a9f64d128a7fd611044372d66f26
docs.opendev.org will provide easier access to the doc pages
in comparison to the Gitea (opening the doc files in the repo).
Change-Id: I88f587b14f911ee34210f6a249f789929eb3a65c
The patch updates the user-faced documentation and adds a playbook
together with a doc meant mainly for RefStack developers which
helps with running the server instance locally.
Change-Id: I268fdf717c8f0e2cd0c130c560306bf54e48f348
Removes redundant requirements and adds a new job which runs
'tox -epip-check-reqs' in order to avoid having redundant
dependencies specified or missing some.
Change-Id: I5ca35922213cfbe4c2b4b49388bffcc0b8fc6a96
The sample config file hasn't been regenerated for years. A few
config options got changed over the years, mainly those from oslo.
The file has just been regenerated by oslo-config-generator -
'tox -egenconfig'.
Change-Id: I298baf65460fa4f1bb4c43dbd5d4758df35c9f18
This patch updates the guidelines location. The guidelines will be
moved there by [1]. In order to shorten the transition period we
are intentionally doing this *before* [1] is merged (before the
guidelines are actually moved) because it takes some time to get
this change to production. Due to that the patch also implement
a fail-safe mechanism - if the get request for guidelines returns
404, the code will try again with the old (at this moment the
current) location.
When this gets to production, we will merge [1]. Then the
fail-safe mechanism will no longer be needed, therefore it will be
removed in a follow up patch.
[1] https://review.opendev.org/c/osf/interop/+/786116
Change-Id: I5d81d0168601f2b6c3b5cae996b531ebdb33d9d0
README showed old meeting time, the patch updates that and redirects
a user to a Wiki page where the current meeting info can be found.
The patch also removes outdated links from the README.
Change-Id: I48352caa1408960df5bad49cf8b2ecf9b4aef3de
The template contains also py39 job.
Newer releases of requests-cache are not compatible with
requests package (or the other way around) resulting in:
AttributeError: 'Response' object has no attribute 'from_cache'
Therefore the patch caps requests-cache for now.
Change-Id: If64a52d975bacc43b23ee055a118dec6e3e6b42d
Refstack backend was missing shared-file-system in the mapping
which resulted in backend not being able to parse the Shared
File System guideline download from the interop repo.
The refstack-ui needs to be edited as well so that it can properly
render the Shared File System guideline on the website.
Change-Id: I017a331ab010f94b223add22a2b55a02b6996db5
When downloading a test list from [1] (click on Test List link)
include the target name in the filename.
Example for the orchestration target:
Current name of the file would be: 2020.11-test-list.txt
The new name will be: orchestration.2020.11-test-list.txt
Or the compute target:
2020.11-test-list.txt -> compute.2020.11-test-list.txt
[1] https://refstack.openstack.org/#/guidelines
Change-Id: I3337120e16e59c9e48a6a0b1d37f877e4b839a13
In the previous fix [1] the value of pubkey.encode() was
forgotten to be assigned which basically makes it a noop
operation. This patch fixes that.
[1] https://review.opendev.org/c/osf/refstack/+/776168
Change-Id: I93a4e5d8afde7e3abfdcf66220c64cda111d4a48
Follow up change for py2->py3 migration.
The pubkey must be encoded in order to avoid 'data must be
bytes-like' error. The key is a type of str which in py2 meant
bytes, however, in py3 it's just string. Therefore the pubkey
must be encoded before it's passed to load_ssh_public_key which
requires bytes-like data.
Change-Id: I943438a59923bd9c4e9dd38058020e49fd2f3d24
Refstack server was still downloading guidelines and
capabilities from the old interop repositoty hosted
on github.com. This patch changes default repo URLs
so that the guidelines are download from the current
interop repo hosted on opendev.org.
Change-Id: Ic05a2a784c8e513e09bc430139011aa73bea062e
This is a follow up on 'py3 only' changes. Previously in py2
current_name variable had unicode type, however in py3 it is
a str type which leads to an Attribute error when the code
is executed by py3 ('str' object has no attribute 'decode').
Now when refstack is py3 only, we don't need to be decoding
current_name variable, the patch removes this conversion.
More about str and unicode and their meaning in py2 and py3:
* https://portingguide.readthedocs.io/en/latest/strings.html
Change-Id: Ibc76a8797b467d45b05c6e6e61d4bc703a5d701f
The mock third party library was needed for mock support in py2
runtimes. Since we now only support py36 and later, we can use the
standard lib unittest.mock module instead.
Change-Id: I70a406c060ba681ddc000788b3fa5ab2bba4d41f
As we have already dropped python2 support,
usage of six module is redundant.
The patch also edits the classifiers in setup.cfg
which comply with the wallaby cycle goals.
Change-Id: I2b0e4050e489ddfc7cbabe4165d5499ba6788422
tox deprecated its whitelist_externals option in
3.18 release. The patch bumps the min version of tox
to 3.18 and renames the option from whitelist_externals
to allowlist_externals.
Change-Id: I12d4bb75839adf78c17e8e562535fbf0d7e2e816
This repository is hosted on opendev.org's
gitea server, and doesn't get mirrored to
github currently (we may add mirroring in
the future). We can swap a bunch of URLs
that assume the content is on github and
older infra cgit servers with correct URLs.
Meetings have moved from IRC to MeetPad,
fix the corresponding details in the README.
Also use this commit to strip trailing
whitespaces across the repository.
Change-Id: Ica0a7ba08d9c437f94fbc9ab282bd929f01df8ff
A new version of PyJWT==2.0.0 got released a few days back which
changes a few significant things such as return types and option
names, see:
03610f0103/CHANGELOG.md (v200)
This commit edits the code of refstack in order to comply with the newest
changes of PyJWT.
Change-Id: I153384cd39ebadb8ee9eb3d99cd21aa02b8c0673
* Starting in mysql8, we can't expect a db user to be
created with the GRANT command, we'll need to create
one explicitly.
* OpenStack has dropped the py2.7 and py3.5 support
in ussuri cycle. From now on, refstack will test only
with py3 jobs. Complete discussion & schedule can be
found in
- http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010142.html
- https://etherpad.openstack.org/p/drop-python2-support
Ussuri Communtiy-wide goal:
https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html
* Replace the "refstack-tox-py36-func-mysql" with
"refstack-tox-functional" to simplify naming and use the system default
python3 version for this functional job.
* replace testr unit test runner by stestr. testr runner hasn't been updated
for ~ 6 years - stestr is its successor
Story: 2003257
Task: 24062
Change-Id: I90ab2eca6366f0b6256f097712efac2ffe08b2c0
Interop repos have been removed from
openstack namespace to osf namespace (Depends-On),
which need update the .gitreview to start using the
new location.
Disable failing jobs to be able to merge this change.
Depends-On: https://review.opendev.org/#/c/734669/
Change-Id: I015e8f1ee0c3bdfe490b4fbf9d67206a178af8a4
At some point ssh-keygen changed its default output format and now
python cryptography can't read the new default. Address this by forcing
the PEM output format which cryptography can read without problems.
Note this is a docs only change to help end users generate keys that
work with refstack after a user reported trouble with this.
Change-Id: I9d1f503817fee69fe22f19a98b506448bda1f888
In bindep we specify we need GCC to compile deps and set tags to compile
and test as appropriate as none of these packages are needed as runtime
dependencies. In requirements.txt we unpin alembic and beaker and add
PyMySQL. Alembic and beaker need to be unpinned to work with modern
python3 and PyMySQL is a python only runtime dep if using MySQL.
This makes building docker images much simpler.
Change-Id: I18a296de190324c545feda3b1b87e0a9424d0f96
As it was announced [1] global bindep-fallback.txt was removed and now
projects need to have a local bindep.txt to be able to install binary
dependencies for testing.
In test jobs the script tools/test-setup.sh is called which requires
mysql and postgres servers and clients to be installed.
To eliminate 'ERROR: InterpreterNotFound: python3.5' of the zuul job
refstack-tox-py35-func-mysql, simply replace the tox environment
py35-func-mysql to py36-func-mysql with a base python of 3.6 instead of
3.5 and rename the zuul job to contain py36 in the name.
Update the Zuul template to use nodejs6 jobs, this makes the single jobs
obsolete, remove them. Without this change, the gate will use
nodejs4 and fail.
[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-June/007272.html
Change-Id: I90cb912befb9d09fed330bd8d27a491caffbf7b9
There are many references to review.openstack.org, and while the
redirect should work, we can also go ahead and fix them.
Change-Id: I70c590322ca5c20636ac8f4e0a5233dae4cb832e
Tempest has switched from stestr some time ago, so tempest
results are no longer stored under .tempest/.testrepository
but they are stored under .tempest/.stestr instead.
Change-Id: I2f0f47c8989138b361375ba91c1e9cd719ea9a8b