Current minimum version is set without any specific reason. Lower down
the version to the one currently used in octavia-tempest-plugin to
validate timestamp fields.
Change-Id: I6b0412ae09bb65c966955dc6586f4b300f367e12
olso.policy 4.5.0[1] changed the config options policy_file
default value to 'policy.yaml', which means it is changed
for all the OpenStack services and they do not need to
override the default anymore.
NOTE: There is no change in behaviour here, oslo.policy provides
the same configuration that services have overridden till now.
[1] https://review.opendev.org/c/openstack/releases/+/934012
[2] https://review.opendev.org/c/openstack/requirements/+/934295
Change-Id: Iba548429fefef53d043d42de4d12554d77e4591a
Since we removed lower-constrants job, the lower bound is no longer
tested. Import the note from the other project to declare that it is
maintained on bast effort basis.
Also add license information to all libraries .
Change-Id: Ia05b31061485e613634b27e96b904ad3ebe8fa33
This follows what was already done in the other projects like [1].
In FIPS mode, md5 is allowed only in non-security contexts. This
change disables the security context in the md5 call to determine
the hash for workload partitioning, because this usage does not
involve any security risks.
[1] 8027d907109b6b3c96623f9793aff752cec8ed12
Change-Id: I7d622a6e7d324a765760819c024295b57990f95c
The zoneinfo module was introduced in Python 3.9. We can use that
built-in module instead of the 3rd party library (pytz).
This is based on change I1f88bdadc68bfa726eac1da1c5824c1ed352ad98 in
oslo.utils.
Change-Id: If6aeb6c837d413c9d9a544a80c4c736efc8455fc
None of oslo.context, debtcollector or testresources are used by aodh.
Remove them, along with the warnings about requirements order that no
longer applies with the "new" dependency resolver introduced in pip
20.3.
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Change-Id: I37a1ffe9c9617262eb5e40fc3ad1b02277a11513
This patch adds threshold evaluator for Prometheus metrics.
Alarms are based on Prometheus query only. The library
python-observabilityclient is used for querying Prometheus.
Co-authored-by: Jaromír Wysoglad <jwysogla@redhat.com>
Depends-On: Ie7477e0b11479449f7f13c7a784737ac70059964
Change-Id: I72e124cca4398b78f7ed12e1db3f66bdbfcb196e
This job is maintained by requirements team and ensures that
requirements and constraints have proper format and do not conflict
with guidelines.
Co-Authored-By: Erno Kuvaja <jokke@usr.fi>
Change-Id: I3dd8b1b1826473495725bb8cff2c42c6aa7b35f1
The commit 74eadfbd58359b7ebe9e1e40ae6b6ff245146bb8 introduced usage
of aggregates API, which is available since gnocchiclient 6.0.0 .
This change bumps the minimum version to ensure the API is available.
Change-Id: I64a984fe64c8fe69856980df9e28a67f5eb29b58
This change introduces support for Guru Meditation Report(GMR) into
Aodh, using oslo.reportis library.
With this change, each service prints GMR to stderr or file when
the service receives SIGUSR1.
The same was introduced into Cilometer a long ago[1], and this change
is based on the change made in Ceilometer.
[1] https://review.opendev.org/c/openstack/ceilometer/+/196369
Change-Id: I7f67acd98c2089bb248d3249159719a3979d27e7
The oslo_utils.fnmatch module was added to solve an issue in py2.7 but
it is no longer required because py2.7 is no longer supported.
The module was deprecated since oslo.utils 4.9.1[1] and the stdlib's
fnmatch module should be used instead.
SQLAlchemy url is now immutable
Use URL.set to update
Co-authored by: Takashi Kajinami
[1] 4c893c92f551c9dd2a7cfbe7ae8171ad8139df0b
Change-Id: I59c4d93a5914b8e14f7ef93bcaff8d1caaf5e75a
Since 3.7.0, oslo policy started the DeprecationWarning[1] if
deprecated_reason and deprecated_since param are not passed
in DeprecatedRule or they are passed in RuleDefault object.
These warnings are logged for every test which increase the
log size and sometime can full the log buffer and fail the
job.
[1] https://github.com/openstack/oslo.policy/blob/3.7.0/oslo_policy/policy.py#L1538
Change-Id: I8b9f0611364f6857b86fc800c89fe403672af975
ceilometerclient is deprecated and not supported since 2017.
This reverts commit d32ca244539650aaa2e6e85d438a79600e7cb701.
Change-Id: Id5bac2f317deceefe625d91f0dc91b071a6f8037
As per the community goal of migrating the policy file
the format from JSON to YAML[1], we need to do two things:
1. Change the default value of '[oslo_policy] policy_file''
config option from 'policy.json' to 'policy.yaml' with
upgrade checks.
2. Deprecate the JSON formatted policy file on the project side
via warning in doc and releasenotes.
Also replace policy.json to policy.yaml ref from doc and tests.
[1]https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html
Change-Id: Ia0fa4ba1fecf2740a291c5a65b906b089c95404d
This commit bumps the versions for oslo.policy, oslo.log, and
keystonemiddleware. It also adds a dependency on oslo.context so that we
can re-use context objects to make authorization decisions in
oslo.policy, instead of building authorization information from the
request manually, which is error-prone and redundant.
The versions bumps for these libraries are necessary to provide better
default policies through deprecations and enhanced scope checking.
Change-Id: I1bdecf2e762e2b7652a411efd03210ea51575ada
The auto-healing notifier works together with loadbalancer_member_health
evaluator.
Presumably, the end user defines a Heat template which contains an
autoscaling group and all the members in the group are joined in an
Octavia load balancer in order to expose service to the outside, so that
when the stack scales up or scales down, Heat makes sure the new members
are joining the load balancer automatically and the old members are
removed.
However, this notifier deals with the situation that when some member
fails, the stack could be recovered by marking the given autoscaling
group member unhealthy, then update Heat stack in place.
Change-Id: I6e92d1fc2125e155bb5068ff2c14fa318b126442
This patch is adding a new evaluator for the alarms of type
'loadbalancer_member_health' which evaluates the alarm by checking
the operating status of the members in a given load balancer pool.
A new config option 'member_creation_time' is introduced in order to
ignore the members in initialization status.
This is the first part of the auto-healing solution.
Change-Id: I57b848e6dc6aa5e79af1c17dbf1a42a9f068f174
This commit adds the functionality of aodh-status CLI for performing
upgrade checks as part of the Stein cycle upgrade-checkers goal.
It only includes a sample check which must be replaced by real checks in
future.
Change-Id: I21e331266ab061a41d0ffe3c179b10f777af44f5
Story: 2003657
Task: 27733
Currently an alarm rule is created even though the query is not
adhered to the format.
Now it does a validation check against the input and gives a
http 400 error message.
Closes-Bug: #1467317
Change-Id: Ibfca9c7e4ec0c1b37272fc410df36ff43a3eb3f2
This change removes the deprecated 'threshold' alarm type from Aodh.
This also removes the useless ceilometerclient dependency.
Depends-On: Id89130fd8a782dea863c85b37a919fbf0f0897dd
Change-Id: I7ccf930f2ad0316dbda0675a2ec0344e61986022
ujson is faster than jsonutils, and we do not need any fancy feature jsonutils
might offer.
This also has the benefit of removing a big dependency on Aodh.
Change-Id: I4773ac55a5aedf4960c4ce611873813922ca01e5
fix remaining usage of recently changed client init interface.
fix req as we don't need it anymore.
Related-Bug: #1714483
Change-Id: I3d7652d294d8082a5ef526d1e51add8056dc3114
support for explicitly setting interface/regoin_name was changed in
gnocchiclient 3.1 and remove in gnocchiclient 4.
Closes-Bug: #1714483
Change-Id: I7ef25df606e07c6c235afa286ae83450488cd8e0
It's actually imported by aodh.keystone_client directly. Version 2.1 seems to
be the minimal version to have it to work correctly.
Change-Id: Ia6fccd25a08adf46b3c21c49e775d1da5648899f
- set ttl to an hour since capabilities rarely change (if ever?)
- set cachetools to 1.1.6 since it has some ttl expiration
improvements and it's a year old so why not.
- i give up trying to disable cache
Change-Id: I1b83ffd32cfd631fc340b068e71f61789388ee73
We are replacing all usages of the 'retrying' package with
'tenacity' as the author of retrying is not actively maintaining
the project. Tenacity is a fork of retrying, but has improved the
interface and extensibility (see [1] for more details). Our end
goal here is removing the retrying package from our requirements.
Tenacity provides the same functionality as retrying, but has the
following major differences to account for:
- Tenacity uses seconds rather than ms as retrying did.
- Tenacity has different kwargs for the decorator and
Retrying class itself.
- Tenacity has a different approach for retrying args by
using classes for its stop/wait/retry kwargs.
- By default tenacity raises a RetryError if a retried callable
times out; retrying raises the last exception from the callable.
Tenacity provides backwards compatibility here by offering
the 'reraise' kwarg.
- Tenacity defines 'time.sleep' as a default value for a kwarg.
That said consumers who need to mock patch time.sleep
need to account for this via mocking of time.sleep before
tenacity is imported.
- For retries that check a result, tenacity will raise if the retried
function raises, whereas retrying retried on all exceptions.
This patch updates all usages of retrying with tenacity.
Unit tests will be added where applicable.
Note: This change is not newton critical so projects are welcome
to hold off on committing until post-newton. Ideally this change
will merge by the first part of Ocata so dependant functionality
can land and have time to solidify for Ocata.
[1] https://github.com/jd/tenacity
Co-Authored-By: gordon chung <gord@live.ca>
Closes-Bug: #1635402
Change-Id: Ife452b18709ff34ec48a39bbe5407d69a5b2e3c2