* Update glance_store from branch 'master'
to 51887ec64a5847336bfca230f231948afa615367
- Merge "reno: Update master for xena Unmaintained status"
- reno: Update master for xena Unmaintained status
The stable/xena branch has been deleted, so reno can't find its
release notes. Use the xena-eom tag to indicate the end of the
Glance project's maintenance of the Xena series.
This strategy is consistent with the way we handled stable/yoga and
was agreed upon at the 8 Feb Glance meeting:
https://meetings.opendev.org/meetings/glance/2024/glance.2024-02-08-14.00.log.html#l-58
Change-Id: I72b66cf523f1d5515704e4d6909ee032bdb06210
* Update glance_store from branch 'master'
to a1247c706cc596f515abcdeb48a368263224b3db
- Merge "reno: Update master for wallaby Unmaintained status"
- reno: Update master for wallaby Unmaintained status
The stable/wallaby branch has been deleted, so reno can't find its
release notes. Use the wallaby-eom tag to indicate the end of the
Glance project's maintenance of the Wallaby series.
This strategy is consistent with the way we handled stable/yoga and
was agreed upon at the 8 Feb Glance meeting:
https://meetings.opendev.org/meetings/glance/2024/glance.2024-02-08-14.00.log.html#l-58
Change-Id: I04c557318accc4b95c52833b15c1f0f8ca91ef97
* Update glance_store from branch 'master'
to ac1e8714aac79030a98f8fad991bc3cdc79e48ac
- Merge "reno: Update master for victoria Unmaintained status"
- reno: Update master for victoria Unmaintained status
The stable/victoria branch has been deleted, so reno can't find its
release notes. Use the victoria-eom tag to indicate the end of the
Glance project's maintenance of the Victoria series.
This strategy is consistent with the way we handled stable/yoga and
was agreed upon at the 8 Feb Glance meeting:
https://meetings.opendev.org/meetings/glance/2024/glance.2024-02-08-14.00.log.html#l-58
Change-Id: I7e5ac421b51be33b67ffd5910a16d549c3df624d
* Update glance_store from branch 'master'
to 8200b759b8cbeb28636d973e2691927a4ebc6017
- 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: I377e11336ba61b77d5253a1c40d924e41fef48a4
* Update glance_store from branch 'master'
to a17b8a8fefaa900c9c54dbbd94aeead9dd2974b2
- reno: Update master for yoga Unmaintained status
The stable/yoga branch has been deleted, so reno can't find its
release notes. Use the yoga-eom tag to indicate the end of the
Glance project's maintenance of the Yoga series.
This strategy was agreed upon at the 8 Feb Glance meeting:
https://meetings.opendev.org/meetings/glance/2024/glance.2024-02-08-14.00.log.html#l-58
Change-Id: I5947418451eb37bd78d1910a3c7d9049f4cf1736
* Update glance_store from branch 'master'
to 4bdba0cae30c9d52717e83d68dda68ec33bcddf7
- Remove _snapshot_has_external_reference from rbd driver
With the implementation of the trash feature in [1] checking for external
references is not done anymore, so this code is unused.
[1] https://review.opendev.org/c/openstack/glance_store/+/884524
Closes-Bug: #1959186
Partial-Bug: #2051244
Change-Id: I8e2b37441b5bb3675ebbc438f0c37d57df103ec7
* Update glance_store from branch 'master'
to d6e531af4821c8466b1e9404f12f89f6216417f2
- s3: Do not log access keys
The previous attempt a5ba027922ba1230b4ae9abb810f36427be6354a was
incomplete and there are still a few more logs where access keys are
logged. This fixes these to avoid leaking access keys to log.
Related-Bug: #2047688
Change-Id: I8dc564bed33d6fc71965f4f573ae9109b410b1d4
* Update glance_store from branch 'master'
to e823a3caa000ee72c8115f4e455fff840eec0df4
- Merge "RBD: Use rados_connect_timeout to override timeout"
- RBD: Use rados_connect_timeout to override timeout
This imports the existing rados_connect_timeout option handling in
cinder so that users can use a different timeouts for Glance
specifically, instead of relying on the global ceph.conf options.
This parameter was initially deprecated in Zed release by [1] and has
had no effect since then, but this change restores the parameter with
the logic to override the timeout value in RADOS client.
[1] b1d0feeba4e16046c7840bd4966f31a0e7527e67
Related-Bug: #1983499
Change-Id: Ib370f527c06dc85bcfd9df6ca1efb2a4e8cb5e7d
* Update glance_store from branch 'master'
to 398bc020d7c7e52180062fb51fed287b93bd65c8
- Merge "Do not show access_key in s3 driver"
- Do not show access_key in s3 driver
Closes-Bug: #2047688
Change-Id: I9193df38d613259b61bb369fa1040fb2c51a21d7
* Update glance_store from branch 'master'
to 00cf2e67cee4bb2d328da6dd8c4b0285aeaabfa6
- Merge "Increase timeout of glance_store-src-ceph-tempest"
- Increase timeout of glance_store-src-ceph-tempest
Since [1] was merged, tempest takes quite long time because of lower
concurrency. However it's not feasible to increase the concurrency
again because of resource limitation.
This increases timeout as a short-term solution to unblock gate.
[1] https://review.opendev.org/c/openstack/devstack-plugin-ceph/+/865315
Change-Id: Ib4c900e14788c6b581ce277a71c02d7b07369e6a
* Update glance_store from branch 'master'
to a35f371f3be51d97cbbaee605e2e9b336535dc95
- Merge "Remove unnecessary ceilometer service overrides"
- Remove unnecessary ceilometer service overrides
The ceilometer services were removed from core devstack a long ago[1].
Unless the additional plugins are installed, overriding status of
the ceilometer services is just useless.
[1] e9a4750fe1b111eeb457378c26ca9eea1b5e0085
Change-Id: Icfb7add2b1d0cc330e53521fa175a8b4b37c96d2
* Update glance_store from branch 'master'
to 62044431bd55e3dbbb6c97b0ec0bf591b3c9ef6f
- rbd: compute appropriate resize amount before resizing image
Resolves a bug introduced in
c43f19e845
This issue is only in evidence when glance is behind a proxy where the
client buffer size can be lower (for haproxy: bufsize = 16384) which
can cause unaligned reads
(https://github.com/openstack/glance/blob/master/glance/common/wsgi.py#L1028).
The response length can be bigger than the store_chunk_size for the
first time, so at the end the RBD write will fail because it wants
to write more data than the actual RBD image size after the first
resize.
Thanks to Robert Varjasi for investigating this issue!
Fixes-Bug: 1916482
Change-Id: Ie03693c2cb8b096978fb156231c3b1cab695470f
* Update glance_store from branch 'master'
to 7b1df2a651dfece4794c56d8914c7290f65fb8b8
- 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: I9120adf03e99fe6165e430d42a30e9393da5e8ac
* Update glance_store from branch 'master'
to 6f5011d1f05c99894fb8b909d33ad23a20bf83a9
- Merge "cinder: Catch missing dependencies"
- cinder: Catch missing dependencies
Cinder store requires a few additional dependencies.
- cinderclient
- os.brick
- oslo.provsep
Currently the driver handles missing cinderclient, but it does not
properly treat in case one of the other two libraries is unavailable.
Note that oslo.rootwrap is also part of the additional dependencies but
this library is not directly imported. So we do not implement check
at store initialization.
Closes-Bug: #2043583
Change-Id: I4ea0a9749fdd821f3f958f77a2923b0fafefa471
* Update glance_store from branch 'master'
to 0d925b6ce4c29b5edee99e1026c8fc17ae30bf67
- Merge "Remove unused test tools"
- Remove unused test tools
These tools were added 9 years ago but has no longer been used recently
in favor of tox.
Change-Id: I105dc3eba7cbe54d68a5e576340f1b0ca4a35090
* Update glance_store from branch 'master'
to 6964d5dc3f8b981fdb559971c559c8f11e6d01b4
- Merge "Remove unused httplib2"
- Remove unused httplib2
The library is no longer imported from any implementations in this
package.
Change-Id: I794b24dbdf9a29dd2542e71c99ece85a510c10bd
* Update glance_store from branch 'master'
to b72d837acb19b42d0aa339b603ccf468fccde115
- Merge "Deprecate VMWare Datastore"
- Deprecate VMWare Datastore
The vmwareapi virt driver in nova was marked as experimental some
cycles ago due to lack of CI and maintainers[1]. This deprecates
the VMWare Datastore so that we can remove it when nova removes
the virt driver. The store driver is used along with the vmwareapi virt
driver and we don't expect any usage of this store driver with
the other virt drivers such as libvirt driver.
[1] 713ef7839670bd5d73af52c211a14932adc933ba
Change-Id: I57fc8cbd6308c4a82a638a2d1e997605736aedc4
* Update glance_store from branch 'master'
to f3f5bdb45b1b50337196bb3d27d11aacbba2cf6a
- 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: I50485a9c9a563c925988bf8456b45f9caaf844ba
* Update glance_store from branch 'master'
to 0c60291637d1c941dcd8d2e022acb22ba0bed440
- Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: If5c27deb39ce62c5791b8157efeb42cfc728fc67
* Update glance_store from branch 'master'
to 5a81f77bd48e46eac6ab0636f0f52dbceec4e8d3
- Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: Ic35a1ee81e3a406aca987f75707d61e21d8606f4
* Update glance_store from branch 'master'
to 054bd5ddf5d4d255076bd5f44296f2521e899394
- Merge "RBD: Wrap RBD calls in native threads"
- RBD: Wrap RBD calls in native threads
librbd methods call lower level C code which runs in native code
and isn't aware about the eventlet threads hence hangs the eventlet
loop until the native code is finished.
This could cause problems when we are creating multiple images
with large size where one call to librados can cause the process to
hang and other operations can starve for execution and error out.
This patch wraps each RBD call in it's own native thread that won't
affect other RBD call from executing.
Note that since glance can run under eventlet *or* native threads
with something like uwsgi, this only delegates to an eventlet worker
when we are running in that environment.
Note: This was originally merged as commit
27ab8a6aeb7a59bc56ed0ad26ffb5a83d426b447, but without the handling
for non-eventlet cases.
Change-Id: I87dd4a129113e6309bee1b35a7a45b2a04353b04
Co-Authored-By: Dan Smith <dms@danplanet.com>
* Update glance_store from branch 'master'
to c401d3e3716a8c66b6dd2f981f1249f4857b135e
- Merge "RBD: Trash image when snapshots prevent deletion"
- RBD: Trash image when snapshots prevent deletion
RBD snapshots automatically end up in the trash
when deleted when using RBD image format v2.
However, they prevent images from being deleted.
Instead, move RBD images to the trash in this
situation. This trash must be purged by a scheduled
rbd trash purge operation outside of Glance.
This passes new cinder<->image dependency tests in
I5fee2395195 when using ceph require-min-compat-client
of "mimic", which enables clone v2.
Closes-Bug: #1959186
Change-Id: I34dcd90a09d43127ff2e8b477750c70f3cc01113
* Update glance_store from branch 'master'
to cc393262307e65ccfe8306d8e52e902c6bb57898
- Make ceph job voting
This job should be voting on glance-store.
Change-Id: Ib11da7ee08a85b6b3c00e003d1170f5ed72e3582
* Update glance_store from branch 'master'
to a86bac8ce00dfa3e2a61e6b5dde3658c90b39d2b
- Merge "Update 'extras' for cinder driver"
- Update 'extras' for cinder driver
Raise the min version of os-brick to include the fix for
CVE-2023-2088.
Change-Id: If3dba01d5cbb3a3deacdf23ab5290d7bcab4b5c7
Related-bug: #2004555
* Update glance_store from branch 'master'
to ec389750c85c56e25e55d8873e640dd1e3da6bca
- Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: Ic5399869cc57661706a6e8801fcb200fbb526082
* Update glance_store from branch 'master'
to 1d8033e54e009bbc4408f6e16aec4f6c01687c91
- Add force to os-brick disconnect
In order to be sure that devices are being removed from the host,
we should be using the 'force' parameter with os-brick's
disconnect_volume() method.
Closes-bug: #2004555
Change-Id: I63d09ad9ef465bc154c85a9ea125449c039d1b90
* Update glance_store from branch 'master'
to 7fd4c49b16f511574a4790e19b662f029d3ea2f6
- Merge "move attachment_update to try block"
- move attachment_update to try block
move attachment_update to try block, so when there is some error calling
attachment_update the finally block will be called, then the attachment created could be deleted.
Closes-bug: #1983238
Change-Id: I2dc3888a56d802424c6d62a656b2e5fef9dabb3e
* Update glance_store from branch 'master'
to 96f28eb35c16b2feef1465ef46f19b5407eb4833
- Merge "RBD: Wrap RBD calls in native threads"
- RBD: Wrap RBD calls in native threads
librbd methods call lower level C code which runs in native thread
and isn't aware about the eventlet threads hence hangs the eventlet loop
until the native thread is executed.
This could cause problems when we are creating multiple images
with large size where one call to librados can cause the process to
hang and other operations can starve for execution and error out.
This patch wraps each RBD call in it's own native thread that won't
affect other RBD call from executing.
Change-Id: I8efb0460df9fcba050b5ce949eb10caea325c851
* Update glance_store from branch 'master'
to 6741951591ca7d6144f6089678df8cee4f0a7030
- Run cinder driver unit tests
We have all these nice tests, might as well execute them.
Change-Id: Iaf5131927bc2a0a953ec87c8b4d2e40f5d61d878
* Update glance_store from branch 'master'
to e8e9d8d61ca23312d16ae315d723039fcb5a529c
- 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: I9de26e99ebd9ab6bd106c7e0b10347ca572663de
* Update glance_store from branch 'master'
to 1f56f5a4239a83f7aee2d4dab73b7ebaf25a3adc
- Merge "cinder: Disable cinder stores if cinderclient is not installed"
- cinder: Disable cinder stores if cinderclient is not installed
Change Iec6ac7020f66f9f9728d6cf4452127b8d55a8b2d made cinderclient
optional but it did not add proper validation while initializing
a cinder store. This can cause ugly errors in case users tries to
enable cinder stores without installing cinderclient.
This ensures glance_store checks whether cinderclient is available and
disables all cinder stores in case cinderclient is not available.
Change-Id: Idb8abfdab9639b5b70ddddc3a76b1f1d24dd035d
* Update glance_store from branch 'master'
to 184fffe5a2345b5923b6df1d18ae968654bcc840
- Merge "rbd: Disable rbd stores if libraries are not available"
- rbd: Disable rbd stores if libraries are not available
This ensures glance_store checks whether the dependent libraries (rbd
and rados) when adding rbd store and disables all rados stores in case
these libraries are not available.
This avoid ugly error (eg. AttributeError) caused by missing libraries.
Change-Id: I673473aa8b540c084ce3a4934e8be7069f13e77f
* Update glance_store from branch 'master'
to 7dc94f7a85e976a9c66f997f944c6ede06d7984a
- Do not always import boto3
Currently boto3 is not part of requirements but stevedore always tries
to import it and shows error in case boto3 is missing. This is not
a real error unless users actually enable s3 backends and can be quite
confusing.
This makes the driver code ignore ImportError and actually fail only
if users try to enable s3 backend without installing boto3.
Closes-Bug: #2007924
Change-Id: Ia94dd1d12a3d723f6263bdfb0966d416dfbae1af
* Update glance_store from branch 'master'
to 64e25979a904e468e1e89d8727e9554662596acf
- Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: If3f612f3ecabcd2610ea0443d3866a001dd82d0a
* Update glance_store from branch 'master'
to c5ed5b3f6110e615eb290cf8a3f734185fe543ce
- Merge "Replace deprecated UPPER_CONSTRAINTS_FILE variable"
- Replace deprecated UPPER_CONSTRAINTS_FILE variable
UPPER_CONSTRAINTS_FILE is old name and deprecated
See https://zuul-ci.org/docs/zuul-jobs/python-roles.html#rolevar-tox.tox_constraints_file
Co-Authored-By: Cyril Roelandt <cyril@redhat.com>
Change-Id: If844b485970c4d0e0b13dcf431fe0e5138004b6e
* Update glance_store from branch 'master'
to ff1f8b38ba1dd5464265ce88a8b1ad608ccef43f
- Merge "Cinder: Add support to extend attached volumes"
- Cinder: Add support to extend attached volumes
While creating an image, if we want to extend the volume
(to accomodate the image), we need to first detach the volume,
perform the extend and attach it again. This is inefficient
for backends that support extending attached volumes since we
are performing 3 cinder operations (the attachment call
includes 3 API calls which sum to a total of 5 API calls for 3
operations) instead of directly extending it which requires only
1 API call to cinder.
The support for extending attached volumes was added in cinder
microversion 3.42.
This patch adds a new boolean config option
``cinder_do_extend_attached`` which allows operators to specify
if the cinder backend they are using supports extending
attached (in-use) volumes. By default this will be ``false``.
Based on the parameter, we will perform the extend operation,
online (if cinder_do_extend_attached is true) and offline otherwise.
Spec: https://review.opendev.org/c/openstack/glance-specs/+/868901
Depends-On: https://review.opendev.org/c/openstack/glance/+/869021
Depends-On: https://review.opendev.org/c/openstack/cinder/+/869051
Change-Id: I5e70824e9abc5277ea25ba95704b358fe3686037
* Update glance_store from branch 'master'
to 35a45898853e0b34a94ce7d4a111891f4e10e8db
- Merge "Rbd: Deprecate unused rados_connect_timeout"
- Rbd: Deprecate unused rados_connect_timeout
This option determines the value we pass as the "timeout" argument to
rados.Rados.connect. Unfortunately, this argument is silently ignored by
librados[1].
[1] https://docs.ceph.com/en/latest/rados/api/python/#rados.Rados.connect
Closes-Bug: #1983499
Change-Id: I819df987f690c7a8c0a1153ad0e30bd5dbeb7b57
* Update glance_store from branch 'master'
to 2379a56546be403d1b3fc62947538c0548899871
- Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: I7f90bb35d8de35404a4c5a8c49835ba83faba4f7
* Update glance_store from branch 'master'
to d0733a0f4f0c803ca0333605a21552dba1da931e
- Refactor/restructure glance cinder store
This is an effort to decouple some of the cinder backend specific
code (like nfs, scaleio) from the generic logic.
The purpose is to make the code modular and any change
for a particular cinder backend should not affect the code path
of other backends thereby reducing regression.
This is also required for another use case of supporting extend
of attached volumes added in [1].
Following are the major changes done in this patch:
1) Move cinder store to a new directory 'cinder' and rename
'cinder.py' to 'store.py' (similar to swift)
2) Create new files for nfs and scaleio backends for moving code
specific to these backends into their own separate file.
This also fixes one bug when using sparse files in nfs and
we wait for file size to be equal to volume size (initially done
for scaleio/powerflex backend) but this will never happen for
nfs sparse files. See bug: 2000584
3) Move cinder tests to 'tests/unit/cinder' directory and add tests
for base, nfs and scaleio files.
4) Modify/fix existing tests
Closes-Bug: #2000584
[1] https://review.opendev.org/c/openstack/glance_store/+/868742
Depends-On: https://review.opendev.org/c/openstack/glance/+/869021
Change-Id: I26c272b6c503e98fbbafca411d3eec47283bd6fc
* Update glance_store from branch 'master'
to 1a01fe7fd7a30ba1deed9628abf347b599363a27
- Fix tox4 error
tox.ini started failing with Tox4 which had some
incompatible changes.
Fixing tox.ini for tox4 changes.
Depends-On: https://review.opendev.org/c/openstack/glance/+/868530
Change-Id: I96feba843ca5ebecdc7313961207369da30e72f5
* Update glance_store from branch 'master'
to 2ad4a73e7f4278fe961e8c75f7f9bdbf51382b64
- Add region_name option to s3 store
Add an option to let the operator choose a proper region_name.
Some operator are not using S3 from amazon but from other provider.
In such case, the get_s3_location cannot give good region_name.
Adding an option from config seems a better option that relying on
hardcoded stuff in the code.
Signed-off-by: Arnaud Morin <arnaud.morin@ovhcloud.com>
Change-Id: I71352e75f6415494709d8fb62c8b13f3ea7c6016
* Update glance_store from branch 'master'
to 052c5cc4b4ed494600612018da4482213f4edc5f
- Merge "Remove logic for Python <= 2.6"
- Remove logic for Python <= 2.6
... because that old version is no longer supported.
Also the check_python_version method is removed by this change, because
the required python version is now enforced by setup.cfg.
Change-Id: Ie9c91adcb81a1a5dbca2587b6592a58d4cc91e4a
* Update glance_store from branch 'master'
to 0df64d5af92b46457fd3f13aceb69b4f94b8b53c
- [test-only] OverflowError running on 32-bit systems
Change I59b1579dc9877668b82d4195431c1 added tests that mock an
input buffer, but the mocked return_value for __len__ exceeds the
allowable maximum value for an index in the CPython implementation
on 32-bit systems. Fix this by using half the value and allowing
the buffer to be called twice during the tests.
Change-Id: Iaba20c01fb4d994cd738a570197f8f6f04f22606
Closes-bug: #1991406
* Update glance_store from branch 'master'
to d2dfe692f366bf0ae55532c9509a6fd11fff410a
- Merge "Switch to 2023.1 Python3 unit tests and generic template name"
- 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: I8a2644e11afccdb9e937ec09b6766e7c7f7ae574
* Update glance_store from branch 'master'
to f7329728913acbd3a7e00bce1456ec0063d8e132
- Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html
Change-Id: I6e39ce009fe9602dd63dd0052e8925b63ade3e0f
* Update glance_store from branch 'master'
to 70ef4b6bb7d540ac1229002cabf83d7c845944ad
- Merge "Update master for stable/zed"
- 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: I9745880b98acf910c4f8cf74372a7fdc9ebac582