Since lower constraints job was removed the bounds are not actually
tested. Add a note to explain the bounds are maintained on best effort
basis.
Change-Id: I1336a1a4bf09b072e0006918281c14f241b3df7d
As follow-up of 9575a24796e019fd66f1bb1a5ef0bcbfc167351a , bump
the minimum openstacksdk version because name filter in service list is
not available in the current min version[1].
[1] 1b21b7bda1ead2d28568acea7fc0c0addaa913b0
Change-Id: I506c536b601cfab773f6c49cde9a6d91a7854f4b
Update all .py source files by
$ pyupgrade --py3-only $(git ls-files | grep ".py$")
to modernize the code according to Python 3 syntaxes.
Also add the pyupgrade hook to pre-commit to avoid merging additional
Python 2 syntaxes.
Change-Id: I1f005fa2c925612ebfd97d0ca9c2727a4d162523
Add file to the reno documentation build to show release notes for
stable/2024.2.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.2.
Sem-Ver: feature
Change-Id: Ib6ecaf2d5651ef4e134c50276ca2dbd696a86bae
Endpoint id is not predictable so users can't configure the endpoint_id
option until keystone endpoints are created. This requires redundant
steps in deployment. For example both keystone and glance are run by
httpd + mod_wsgi then you first have to deploy keystone and then create
glance endpoints, until you can install glance and restart httpd.
This introduces a few new options to look up the target endpoint from
Keystone. All these options accept predictable values.
Closes-bug: #1931875
Change-Id: I0411d4aa6abd86cb38bf3c1999f2bae213983078
These are detected as errors since the clean up was done[1] in
the requirements repository.
[1] 314734e938f107cbd5ebcc7af4d9167c11347406
Change-Id: If6ab7142d6d2b5937b5659329d0587c33817e63b
Add file to the reno documentation build to show release notes for
stable/2024.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.1.
Sem-Ver: feature
Change-Id: I53e658c9459b48f171670814af4de800d4e5ad2e
As per the current release tested runtime, we test
python version from 3.8 to 3.11 so updating the
same in python classifier in setup.cfg
Change-Id: I290f1611a4f7b77f544fdd1ca610c19770c9b2a0
The endpoint_id option is required because it is the key to look up
the target endpoint from Keystone catalog. This ensures more sensible
error is shown in case endpoint id is not set, instead of trying to
look up endpoint by 'None'.
Change-Id: I43859dec08040130e4e5fa6ad65b74be21489aff
Add file to the reno documentation build to show release notes for
stable/2023.2.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.
Sem-Ver: feature
Change-Id: I12738b4f4f252f2e6b7cbceb72487599e3b2775f
Within 2023.2 python version 3.9 and 3.10 are the
supported python runtimes [1].
[1] https: //review.opendev.org/c/openstack/governance/+/872232
Change-Id: I47b536149e8119324b3b715b2103b803b74a8a56
Add file to the reno documentation build to show release notes for
stable/2023.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.1.
Sem-Ver: feature
Change-Id: Ic252a5812db3bc3c243d0cee91c7ab85646a9e66
Add file to the reno documentation build to show release notes for
stable/zed.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.
Sem-Ver: feature
Change-Id: I794dc8f558497de66535cd6b97a4ccd54480fa1e
In Zed cycle testing runtime, we are targetting to drop the
python 3.6/3.7 support, project started adding python 3.8 as minimum,
example nova:
- 56b5aed08c/setup.cfg (L13)
Also indicates that we support python 3.9.
Change-Id: I206acb8e50a404e76766daf7439aed258ccfa499
In change I22234e0bb6b3a1cecb29a6b99a3afcd02ffdbf5f added a
get_registered_limits() interface but missed making it work with the
Enforcer cache because caching was implemented in a higher layer,
_get_limit() and get_registered_limits() could not make use of
_get_limit().
This moves the caching logic to where limits are retrieved from
keystone, so that get_registered_limits() will use caching and any
interfaces that might be added in the future will be able to benefit
from using the cache.
Closes-Bug: #1964848
Change-Id: I28cdd4d3f4927b94acea3309b36999850cf2ee2a
Add file to the reno documentation build to show release notes for
stable/yoga.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/yoga.
Sem-Ver: feature
Change-Id: Ifd733042b819aa64c417730b5587140700595a30
This fixes how the opts data is formatted to fix auto-generation of
config file using oslo-config-generator with oslo.limit entry point.
Closes-Bug: #1962406
Change-Id: I176a7b2b8e2edb50659783a2139c3cc13e8f2f53
We currently have a public Enforcer interface for getting limits and
calculating usage but it is not yet possible to retrieve only limits
without calculating usage.
While working on unified limits support in nova, we realized we need a
way to get limits only. In nova there are legacy APIs for showing quota
limits and initially we will provide compat by proxying to keystone to
get the limits.
This adds public interfaces for getting limits to Enforcer.
Related to blueprint unified-limits-nova
Change-Id: I22234e0bb6b3a1cecb29a6b99a3afcd02ffdbf5f
This allows a caller to pass None for the project_id if it only wants
it to check the registered limit for a given resource. This is useful
for non-project-scoped resourced where we just want to make sure some
global limit hasn't been exceeded. This would also be relevant for
resources that are created by system-scoped users, such as host
aggregates.
Change-Id: I5fea0143b6a96b5f79bc273961e3e284a260e25e
The calculate_usage interface was added recently to allow consumers
to probe limits and usage without requiring the enforce behavior
workflow. If a limit was passed to it that was not registered in
keystone, get_project_limits() would raise a ProjectOverLimit
exception itself to abort the process immediately, providing the
"unregistered means zero" behavior. This works fine for the enforce
workflow, but not the calculate one.
This changes get_project_limits() to just return a zero limit for
a missing one, which will be considered by the enforce workflow in
the same way, keeping the existing behavior. It will merely be
reported by the calculate workflow, which is the desired change.
Change-Id: Iaab1f0d5eb0da9a667267537d86f6c70bc8db51d