this patch introduces an oslo.policy-based API access policy
enforcement engine to ironic-inspector.
As part of implementation, a proper oslo.context-based request
context is also generated and assigned to each request.
Short overview of changes:
- added custom RequestContext class
- extends oslo.context to handle of "is_public_api" flag
(False by default)
- added context to request in each API route
- '/continue' api sets the "is_public_api" flag to True
- added documented definitions for API access policies and their
defaults
- added enforcement of these policies on API requests
- added oslo.policy-specific entry points to setup.cfg
- added autogenerated policy sample file with defaults
- added documentation with autogenerated policies
Change-Id: Iff6f98fa9950d78608f0a7c325d132c11a1383b3
Closes-Bug: #1719812
This patch moves ironic-inspector to use 'stestr' test runner
via 'ostestr' wrapper.
Effective changes:
- unit tests are now being run in parallel by default
- 'py*' jobs are not running code coverage measurements,
which is left for 'cover' job only
- 'cover' job now also produces html reports consumable by upstream CI,
and fails under 90% of code coverage
- users can leverage all the ostestr/stestr features
Change-Id: I75f539457dbb1d811fdee69de52d1bcee4c6ebe6
Depends-On: Ica838db23b5714c2da1e4313e1a7ece0ca241d44
Closes-Bug: #1666232
Moving the contributor "link" and API down the mandatory directory
structure.
Change-Id: I111cd55a06e40dc4db649728a5025354a85b3e1d
Partial-Bug: 1702142
Shameless copy-paste from Ic700d719242b17532b0b43a68b7eff507cb3a43c
and Iaef8b78802c04ec8306dd6f1da02d6c6a50697d8 with minimal changes.
Change-Id: I604136b72e2cf6b2bbbc3f9dc46ea3b419e495df
This directory keeps appearing, not sure why, probably when I rebuild
the tox environment. From the README file in this directory:
This directory contains eggs that were downloaded by setuptools to build,
test, and run plug-ins.
This directory caches those eggs to prevent repeated downloads.
However, it is safe to delete this directory.
Change-Id: I67347b3e5b06f8b009df94f965b73dd2f8723475
Also creates a required "venv" environment, drops version handling
from __init__.py and updates requirements.
Closes-Bug: #1466477
Change-Id: I57ce71ee52cc48e0239cdecb69fd2272fc99ea41