d18f8ad221
There were three main issues in the code from refstack repository that
were preventing refstack jobs from working:
1) Improper handling of sessions in the database API.
2) PEP8 job was failing because of outdated version of flake8.
3) The new version of cryptography library doesn't support signer() and
verifier() functions.
Issue #1 was solved by using the get_session() function as a context
manager instead of using session.begin() as a context manager. Using
session.begin() as a context manager does not ensure that the session
will be closed at the end of the context (see "Opening and Closing
a Session" and "Framing out a begin / commit / rollback block"
here [1]).
Issue #2 was solved by updating the libraries in
test-requirements.txt file. This change also forces flake8 to ignore
some pep8 errors (similar to the ones ignored in tempest project).
Issue #3 was solved by using the sign() and verify() functions instead
of verifier() and signer() functions [2].
Related Taiga issues:
- https://tree.taiga.io/project/openstack-interop-working-group/issue/77
- https://tree.taiga.io/project/openstack-interop-working-group/issue/79
[1] https://docs.sqlalchemy.org/en/14/orm/session_basics.html
[2]
|
||
---|---|---|
bin | ||
doc | ||
docker | ||
etc | ||
playbooks | ||
refstack | ||
refstack-ui | ||
specs | ||
tools | ||
.bowerrc | ||
.dockerignore | ||
.eslintignore | ||
.eslintrc | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
.zuul.yaml | ||
bindep.txt | ||
bower.json | ||
CONTRIBUTING.rst | ||
LICENSE | ||
package.json | ||
README.rst | ||
requirements.txt | ||
run-in-docker | ||
setup-mysql-tests.sh | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini | ||
yarn.lock |
RefStack
What is RefStack?
- Toolset for testing interoperability between OpenStack clouds.
- Database backed website supporting collection and publication of Community Test results for OpenStack.
- User interface to display individual test run results.
RefStack intends on being THE source of tools for interoperability testing of OpenStack clouds.
RefStack provides users in the OpenStack community with a Tempest wrapper, refstack-client, that helps to verify interoperability of their cloud with other OpenStack clouds. It does so by validating any cloud implementation against the OpenStack Tempest API tests.
Refstack's Use Case
RefStack and Interop Working Group - The prototypical use case for RefStack provides the Interop Working Group - formerly known as DefCore committee - the tools for vendors and other users to run API tests against their clouds to provide the WG with a reliable overview of what APIs and capabilities are being used in the marketplace. This will help to guide the Interop Working Group defined capabilities and help ensure interoperability across the entire OpenStack ecosystem. It can also be used to validate clouds against existing capability lists, giving you assurance that your cloud faithfully implements OpenStack standards.
Value add for openstack distro or solution vendors - Vendors can use RefStack to demonstrate that their distros, and/or their customers' installed clouds remain OpenStack compliant after their software has been incorporated into the distro or cloud.
RefStack consists of two parts:
- refstack-api
-
Our API isn't just for us to collect data from private and public cloud vendors. It can be used by vendors in house to compare interoperability data over time.
- documentation: https://docs.opendev.org/openinfra/refstack/latest/
- repository: https://opendev.org/openinfra/refstack
- reviews: https://review.opendev.org/#/q/status:open+project:openinfra/refstack
- bugs: https://storyboard.openstack.org/#!/project/openinfra/refstack
- Web-site: https://refstack.openstack.org
- refstack-client
-
refstack-client contains the tools you will need to run the Interop Working Group tests.
Get Involved!
See the CONTRIBUTING guide on how to get involved.