* Update blazar from branch 'master'
to 7a5b912e7a25c7bcdcb2035718abab712f87c629
- Update master for stable/2024.1
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: Iaaf00db2aeb3be44ed2abdd6f494465facea365d
* Update blazar from branch 'master'
to 6a2219a4eb54e49ff9730af51767940a730f7a4b
- Merge "Fix usage of sqlalchemy.engine.Connection.execute"
- Fix usage of sqlalchemy.engine.Connection.execute
The SQL now needs to be wrapped in ``sqlalchemy.text``, for
compatibility with SQLAlchemy 2.x.
Change-Id: I83cdda47a92930791d78b776276332055152574b
* Update blazar from branch 'master'
to 59082738b3a6118a32c42f47a973c1fccfec0e72
- Merge "reno: Update master for unmaintained/victoria"
- reno: Update master for unmaintained/victoria
Update the victoria release notes configuration to build from
unmaintained/victoria.
Change-Id: Iedd7cbaa032f32e4656f37bc136f6e66fb79814c
* Update blazar from branch 'master'
to e641fcbd69b71141875d4f1d0c499cd1e26d12c1
- Merge "reno: Update master for unmaintained/xena"
- reno: Update master for unmaintained/xena
Update the xena release notes configuration to build from
unmaintained/xena.
Change-Id: I731787f378d9c9fd4666bacfb65a8f06a65b2fa9
* Update blazar from branch 'master'
to 6b6e318b18f0a0a2c121c4fd0bf17efdef0e9778
- reno: Update master for unmaintained/wallaby
Update the wallaby release notes configuration to build from
unmaintained/wallaby.
Change-Id: I4f317aeaad3227621cb158aa8905d26c3ef2177e
* Update blazar from branch 'master'
to b91c0f691ea562ccab7e1514ff9101f41e56b598
- Replace usage of LegacyEngineFacade
Switch to using oslo_db.sqlalchemy.enginefacade instead, as this is
required for SQLAlchemy 2.x support.
Change-Id: I055fed2ef2f4953cdd7b215ccafaa27767e915ae
* Update blazar from branch 'master'
to 9aa976ae13384da92f28d3812a50d39e0a8a3798
- Fix InstanceReservations affinity nullable flag
Instance reservations can be created with the affinity parameter set to
True (affinity), False (anti-affinity) or null (no affinity requested).
Change Icf26d1b7dffe64f82d7084dcebb5df1c7c9f106d updated the database
schema with Alembic but missed updating the SQLAlchemy model.
Change-Id: Ic754692722a784b1cb47ffeebce58136a528ad14
* Update blazar from branch 'master'
to adf68a71bb8b219a42039bcfa707876b5caa548f
- Merge "Add non-fatal handling for enforcement exceptions"
- Add non-fatal handling for enforcement exceptions
The current implementation of enforcement exceptions
during lease creation and update transitions the lease into an error
state, which is undesirable.This update introduces non-fatal handling
for the following enforcement exceptions:
- MaxLeaseDurationException
- ExternalServiceFilterException
Now, these exceptions will not cause the lease status to be
updated to an error state, allowing smoother lease management.
Test Plan:
PASS: Verify behavior for lease creation with non-fatal
enforcement exceptions
PASS: Verify behavior for lease update with non-fatal
enforcement exceptions
PASS: Confirm consistent lease status for non-fatal exceptions
Negative Testing:
PASS: Ensure that lease status remains unaffected for
non-fatal exceptions
PASS: Validate expected outcomes for various enforcement scenarios
Change-Id: I5d807d33e07d80f69f9734735c11e8d801bf5cde
* Update blazar from branch 'master'
to a803ba3446b1ceaa29726aa01bf39d17ae743e89
- reno: Update master for unmaintained/yoga
Update the yoga release notes configuration to build from
unmaintained/yoga.
Change-Id: Ie8636113867e9a71362e967b61eff6e48c1be958
* Update blazar from branch 'master'
to 0481ad4ad9d72b9d65d42ef2d489b653c9f76bed
- Add support for specifying a custom CA bundle
Adds the new config option ``cafile``, which is passed into the
Session invocations for SSL verification.
Partial-Bug: #2045281
Change-Id: I2ec5bc7ac929534175d380d2e3e535a5e7abd962
* Update blazar from branch 'master'
to 807ebb013cbd10d68c4572b124eaad415e6efcc7
- Fix unit test broken by dependency bump
Change-Id: I80d105af00735bb2a4f2a52e13e772bad3bd8ace
* Update blazar from branch 'master'
to b0dbd0a9299cab3451c1b3abdd35f6b5e76ca14a
- Update python classifier in setup.cfg
As per the current release tested runtime, we test
till python 3.11 so updating the same in python
classifier in setup.cfg
Change-Id: I7a11cbaf5d6df2dcfa043559f1444c909e4f00d3
* Update blazar from branch 'master'
to 667a8bd782579a81fab0a5048a6d44fc2bfc7059
- Update bindep package list for Debian Bookworm
Change-Id: I12009bdef08a435cdafe604f0832a8dcbdf16b24
* Update blazar from branch 'master'
to e78848edb233751c78947282d120e82bc380a741
- Update master for stable/2023.2
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: I0cc06001ef8cae5d9abf153c8a705aa5250ac765
* Update blazar from branch 'master'
to cf383ae3a56438a7814b6897d85e00534fb86580
- Update copyright date for release notes
This is a small change to force refresh of release notes.
Change-Id: I269ccaaba569b986b5a9be698686cbdd5ea611fb
* Update blazar from branch 'master'
to 735d43eccc240ef03a1a0489db183a485f9fb71c
- Update master for stable/2023.1
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: I64523195b78562f70bb4a98ed908b29164ad7c21
* Update blazar from branch 'master'
to af4e4490dd880b152e4ea4ff0395b8b7d88627ca
- Merge "Add randomness to physical host selection"
- Add randomness to physical host selection
In the event that a given physical node has reliability issues, it can
be difficult for users to "get around" the problem because we currently
deterministically pick the first node from the list of nodes available.
Adding randomness to this process helps spread the probability that a
given lease will nab a node that has issues (but has not yet been
identified as such.)
Co-Authored-By: Matt Crees <mattc@stackhpc.com>
Change-Id: I0f0ddb14ed5d21f0ccc5c9659c821d58cea5cbde
* Update blazar from branch 'master'
to 68c6487465d15bf9db4559e36eaf2b50ab2a0a9c
- Merge "[docs] Rewrite the architecture description"
- [docs] Rewrite the architecture description
To match the reality.
Closes-Bug: #1801794
Change-Id: I5f2044da0efcbe3e091d25f97d69fec877858d7e
* Update blazar from branch 'master'
to da81c207098738e62b85d85bf09f0f3dfa8d74b8
- Update copyright date for release notes
This is a small change to force refresh of release notes.
Change-Id: I69f23cb248ffa0d2f290cda5a909187441b0b3cc
* Update blazar from branch 'master'
to 47d80935009dc4125310efa0885277049058cea5
- Switch to 2023.1 Python3 unit tests and generic template name
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for antelope. Also,
updating the template name to generic one.
See also the PTI in governance [1].
[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html
Change-Id: I2e9ce1b39077f83b5c4c18544e676d0a34bb1c30
* Update blazar from branch 'master'
to b88b4bf0100c6bba1f887924c9990707e79a7d35
- Update master for stable/zed
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: Ic64eb1aa7cc764cf025cfa281a9df183e31daa68
* Update blazar from branch 'master'
to 9ed6780f11630fca6d881d220109e30085ba11de
- Merge "Improve ExternalServiceFilter"
- Improve ExternalServiceFilter
Apply my comments from the original patch [1] and add unit tests.
[1] https://review.opendev.org/c/openstack/blazar/+/781917
Change-Id: I116aad6677423aedb5dda48f06b36afc32819ba8
* Update blazar from branch 'master'
to 27206b2c047dbeb9cb61ae252eeb986170112bf1
- Fix compatibility with oslo.db 12.1.0
oslo.db 12.1.0 has changed the default value for the 'autocommit'
parameter of 'LegacyEngineFacade' from 'True' to 'False'. This is a
necessary step to ensure compatibility with SQLAlchemy 2.0. However, we
are currently relying on the autocommit behavior and need changes to
explicitly manage sessions. Until that happens, we need to override the
default.
Co-Authored-By: Stephen Finucane <stephenfin@redhat.com>
Change-Id: Ic7c5703c1d1009f6c402766aeb20fa9869495470
* Update blazar from branch 'master'
to 22e99c182722244ef886f96caaaffb5204e43473
- Add enforcement filter using an external HTTP service
Co-Authored-By: Jacob Colleran <jakecoll@uchicago.edu>
Co-Authored-By: Jason Anderson <jasonanderson@uchicago.edu>
Co-Authored-By: Pierre Riteau <pierre@stackhpc.com>
Change-Id: I0728f556829ba84e222c27bd8c407738b4be2f76
* Update blazar from branch 'master'
to 42e4b7639f4673867e6868e13669c83ca46dcc3b
- [docs] Install blazar to generate proper docs
The blazar installation was removed in [1].
However, stevedore requires blazar to generate docs for
configuration. Currently, they are mostly empty.
Instead of removing the blazar installation, this change makes
sure that deps are installed with constraints so that blazar
installation does not bring havoc and the original issue is fixed.
[1] Ic55dba0038a2209e9fb291a604a5c1da57607e1e
Change-Id: I28d06ae31c4cf44d010e0892a094138112b08641
* Update blazar from branch 'master'
to d02152fd9783a9bd34f72357a57ed4d6ab00d4c2
- Add WebTest as a test dependency
Pecan has made WebTest an optional dependency for testing only [1].
Since it is used for blazar unit testing, we need to add it to the
test-requirements.
The lower version bound is required by requirements-check.
It is (arbitrarily) taken from the Queens' upper-constraints.
[1] https://github.com/pecan/pecan/pull/140
Change-Id: I67b730a21676a8191756effec7e15ab1895e1c95
* Update blazar from branch 'master'
to bda5168336477e4d97abf6191b3c7162b4144191
- Merge "Update python testing as per zed cycle testing runtime"
- Update python testing as per zed cycle testing runtime
In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support. Removing the py36 centos8 job as well as
updating the python classifier also to reflect the same.
[1] https://governance.openstack.org/tc/reference/runtimes/zed.html
Change-Id: I6c31cc6ab8c58f77216d869dbbcd6c68bec09b7e
* Update blazar from branch 'master'
to 65f0df66c6d0cf51974a3748e4507c1465ed34bd
- Merge "Update configuration for compatibility with Sphinx 5"
- Update configuration for compatibility with Sphinx 5
Change-Id: I8a3ee4d774451d8211d0d7f2a5db7a42d51b288d
* Update blazar from branch 'master'
to 930d219e9910b915bdfddc20e724e1eebd4e5b9c
- Merge "Update keystone client to use base client kwargs"
- Update keystone client to use base client kwargs
Change-Id: I700630802e38c7c930d77f5d23786ad81c42f608
Closes-Bug: #1975508
* Update blazar from branch 'master'
to ac06f1f9f62205875c4fda48b6d6be79c49a1fa9
- Update IRC meeting information
Change-Id: I01abce1ddee907ce8f0bb1ed9340e5508ac173f3
* Update blazar from branch 'master'
to b342141abfec9d2b31dac424f840be5f62bdc585
- Merge "Remove reference to lower-constraints job"
- Remove reference to lower-constraints job
This job fails because the tox environment has been removed in
I24fd4700d59b30e4e5b3fed6c892a4f8ade7bb47.
Change-Id: I2e66b482b6310b0608c8df9e6b415d49f1373db0
* Update blazar from branch 'master'
to be7c3c07c45c8f020deb0b41677e1bb99ab06d21
- Merge "Fix references to start and end dates"
- Fix references to start and end dates
The lease attributes are called start_date and end_date, not start_time
and end_time.
Change-Id: I77fb08a3811ed1445e31b3552ca23d5bfc43a07d
* Update blazar from branch 'master'
to 7d47b5347b60f6419aeacdeffe10642ffc1d9362
- Drop lower-constraints.txt and its testing
As discussed in TC PTG[1] and TC resolution[2], we are
dropping the lower-constraints.txt file and its testing.
We will keep lower bounds in the requirements.txt file but
with a note that these are not tested lower bounds and we
try our best to keep them updated.
[1] https://etherpad.opendev.org/p/tc-zed-ptg#L326
[2] https://governance.openstack.org/tc/resolutions/20220414-drop-lower-constraints.html#proposal
Change-Id: I24fd4700d59b30e4e5b3fed6c892a4f8ade7bb47
* Update blazar from branch 'master'
to 66291b6e1071f8fa7c8080ff3c9fa297921d0c4e
- Merge "Skip blazar install in docs and pep8 jobs"
- Skip blazar install in docs and pep8 jobs
After installing doc build requirements with upper constraints, tox was
installing blazar without constraints, which was pulling Jinja2 3.1.0
(released today) as a Flask dependency. This caused a docs build failure
on stable/wallaby, because Jinja2 dropped support for environmentfilter
used by the version of Sphinx in upper constraints.
Use skip_install to instruct tox not to install blazar when not needed.
This requires adding oslo.config and oslo.policy to doc/requirements.txt
because we use their sphinx extensions.
Change-Id: Ic55dba0038a2209e9fb291a604a5c1da57607e1e
* Update blazar from branch 'master'
to aa2a14a037da20571bd03b1dd1fa34566e0b1dca
- Switch to stestr
According to Openstack summit session [1],
stestr is maintained project to which all Openstack projects should migrate.
Let's switch to stestr as other projects have already moved to it.
[1] https://etherpad.openstack.org/p/YVR-python-pti
Change-Id: I9d22be39bec67fc17841367a0ef0ac439143af6c
* Update blazar from branch 'master'
to 730be45841e755ea672d10f4ac30f0594309556d
- Merge "Add Python3 zed unit tests"
- Add Python3 zed unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for zed.
See also the PTI in governance [1].
[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html
Change-Id: I8529c1b19ae1bba80f2d4058dd4fbb1bdd5044db
* Update blazar from branch 'master'
to 8af178c38fa2510fc4da726e1b7ac578b4a3070f
- Fix context unit test
This was caused by the bump of oslo.context to 4.1.0 [1], which includes
removal of the deprecated argument tenant from RequestContext [2].
Replace tenant key in the context object by project_id to fix the lower
constraints job, which is still using oslo.context 2.22.0.
[1] https://review.opendev.org/c/openstack/requirements/+/829599
[2] https://review.opendev.org/c/openstack/oslo.context/+/815938
Change-Id: I281ffa4f6fc29c691da48a792bc203818e334d9d
* Update blazar from branch 'master'
to 70b2a49a230fcec272ede16cecdb38a6f280d725
- Update master for stable/yoga
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: I100f1b72f754df48aaa2446de7ec00a35956139e
* Update blazar from branch 'master'
to e9c19e2206839d4f73bb94aab579fbec596df8f4
- Merge "Prevent conflicting events from running concurrently"
- Prevent conflicting events from running concurrently
If two leases have compute hosts in common, and the second lease starts
exactly when the first lease ends, there is the possibility of a race.
The Blazar manager can first run the start_lease event of the second
lease. This event would fail since the end_lease event of the first
lease would still be UNDONE, and the compute hosts in common would still
be in the aggregate associated with the first lease, instead of being in
the freepool.
This patch changes event execution code so that events are executed
concurrently if possible, with the following constraints:
- events are executed strictly in order, i.e. events are started only
after all previous events have completed
- when events are at the same time, we first execute before_end_lease
events (unless there is a start_lease at the same time), then
end_lease events, followed by start_lease events, ensuring the bug
described above does not happen. Finally, we run any before_end_lease
which had a corresponding start_lease event at the same time.
It also has the side effect of providing better stack traces for event
execution failures, since we call wait() on all GreenThread objects.
Co-Authored-By: Jason Anderson <jasonanderson@uchicago.edu>
Change-Id: Ie2339db18e8baee379fbea082f1238ec44fca6b1
Closes-Bug: #1785841
* Update blazar from branch 'master'
to 8b07ee11aaaace4afafec6b745f0cc2f14efd396
- Merge "Use built-in oslo context de/serialization"
- Use built-in oslo context de/serialization
The oslo context library has built-in mechanisms to deserialize a
context object from a set of headers; Blazar's built in extension of the
context class was ignoring several possibly-important pieces of
information, notably the Keystone domain name.
To fix, this removes much of the custom logic in the BlazarContext and
keeps only the two important bits:
1. A stack of contexts is maintained to allow for nested operations w/
different sets of credentials
2. The service_catalog is preserved. It's unclear if this is really
needed long-term, but some code still relies on it. Also unclear why
the oslo context doesn't include this when parsing headers.
Support for multiple domains is included as part of this changeset.
Before, it was assumed that all users (admins and project users) were
part of the default domain.
Closes-Bug: #1881162
Change-Id: I75fcd97cf7a53d17c909620fcf41a8b5a3699dfa
* Update blazar from branch 'master'
to 26522fd28ce97abef2b1051b856fef9e477ae59c
- Merge "Preserve traceback on lease transition errors"
- Preserve traceback on lease transition errors
When using eventlet and greenthreads, it can happen that the context
switches during the processing of an exception, which can clear the
exception context. The save_and_reraise_exception utility is designed
for this use-case.
Co-Authored-By: Pierre Riteau <pierre@stackhpc.com>
Change-Id: I7911eeef7fcaaee6c4dde5869d458da41684c37d
* Update blazar from branch 'master'
to e1c16e6b55746db997fc9d7cdef1beb74e781f5c
- Merge "Add resource properties discovery API"
- Add resource properties discovery API
This allows users to query for resource properties of hosts,
allowing them to be used in creating leases more effectively. Two new
API endpoints are added for hosts, ``/properties`` and
``/properties/<property_name>``, which allow for listing available
properties, and updating a property respectively. Properties can be
listed with detail, showing possible values and visibility. Admins can
list public and private properties.
A new database table is added ``resource_properties``, which stores
property names and resource types. Resource specific property tables
(e.g. ``computehost_extra_capabilities``) entries store a foreign key to
``resource_properties``, rather than the capability name.
Implements blueprint resource-properties-discovery-api
Change-Id: Ib9f1140c44c5e4fbef6e019c48a842869368cb21
* Update blazar from branch 'master'
to 34b848aff2363e8c72a0b0f0f2d37d0ac415a2f5
- Use configured endpoint type in url_for
The url_for function was defaulting to the public endpoint if no
specific endpoint type was passed as argument.
Also switch from admin to internal keystone endpoint by default and
replace use of a hardcoded endpoint type by the corresponding
configuration option.
As explained in [1], a recent devstack change switched off the creation
of an admin endpoint for keystone. Now that we support configuring
endpoint types, switch to using the public interface for keystone when
deploying blazar with devstack.
[1] https://review.opendev.org/c/openstack/blazar/+/816627
Change-Id: If20c20f6cfb6aa23cb6e19020301bf59044aa79c
* Update blazar from branch 'master'
to 9a37ded91964cf68eb1c8572c07618e2f19120ac
- Merge "Switch to using internal endpoints"
- Switch to using internal endpoints
This commit makes endpoint types configurable and uses the internal
endpoint as default for Blazar, except admin for reaching keystone to
keep legacy behaviour for now.
Update devstack configuration to use public endpoints, since internal
endpoints are not created by devstack anymore (except for keystone).
Change-Id: I6414be91a1b629df680641050cfd415252b0a3c5
Closes-Bug: #1960335
* Update blazar from branch 'master'
to 4064f0eabd5d6f8b79ea7fd37aab7d0d61be71fb
- Update Nova scheduler filter configuration
Synchronise with default enabled_filters: RetryFilter and RamFilter were
removed from Nova. Also remove filters which were only required by
earlier implementations of instance reservation.
Change-Id: I7f60008d995266bda6d6880a952649f9b6477e3c