While testing glance with Ceph Rados Gateway using latest Ceph release
(Nautilus), i've found that glance fails to upload the manifest using
dynamic large objects mode because of the value used in ETag request.
This issue has been reported to Ceph as it seems related to some recent
change in radosgw code [1].
However, checking at the upload workflow used by glance and comparing
to Swift documentation [2], I wonder if adding the etag is actually
providing any value. In the Swift the ETag header is used to validate
integrity when uploading chunks, not the manifest while glance is doing
exactly the oposite, not sending the etag in the chunks (I guess to
avoid checksuming big images, which makes sense to me) and sending it
when puting the manifest.
This patch is removing the etag header when sending the PUT request for
the manifest in chunked uploads.
[1] https://tracker.ceph.com/issues/39160
[2] https://docs.openstack.org/swift/latest/api/large_objects.html#dynamic-large-objects
Closes-bug: #1824533
Change-Id: I0b563dfcdc30026669fb089c82db8c3df7edc808
(cherry picked from commit ed356fc6b4)
During large file uploads under py3, we are occasionally seeing a
"unicode objects must be encoded before hashing" error even though
we are reading from a byte stream. From what I can tell, it looks
like it's happening when a zero-byte read is requested, so we handle
that case explicitly. This is a band-aid fix; we still need to track
down the source.
Co-authored-by: wangxiyuan <wangxiyuan1007@gmail.com>
Co-authored-by: Brian Rosmaita <rosmaita.fossdev@gmail.com>
Related-bug: #1805332
Change-Id: Ia7653f9fcbe902abc203c10c80ab44a641a4d8f9
(cherry picked from commit 1d25a2b7a2)
Update the URL to the upper-constraints file to point to the redirect
rule on releases.openstack.org so that anyone working on this branch
will switch to the correct upper-constraints list automatically when
the requirements repository branches.
Until the requirements repository has as stable/stein branch, tests will
continue to use the upper-constraints list on master.
Change-Id: I08bf9c65c59f808a0b2d813f08ae49886aa81c4a
At the moment, the filesystem driver uses a hardcoded 64 KB chunk
size, used when reading/writing image files.
This can be extremely inefficient, especially when file shares are
used.
For this reason, this change will make it configurable.
DocImpact
Change-Id: I1559c03308d36ecf9305c7a72ad658ecd1f2dc76
Closes-Bug: #1792869
In python3 conn.get_fsid() is represented as binary.
Because of this, direct_url is corrupted in DB.
This patch is fixing this. More informations in
closing bug.
Closes-Bug: #1816721
Change-Id: I6a89042fae63bf5c9096a6bee6774aebf3f5864b
The current code will not work in Python3.7 because of PEP479. This
commit fixes it so that it works with both 3.6 and 3.7.
[1] https://www.python.org/dev/peps/pep-0479/
Closes-bug: #1815335
Change-Id: I6adf23e0569db8655806a07d53c5000f5fd0918f
The _get_datadir_path_and_priority and _parse_datastore_info_and_weight methods
may return the priority (or weight) as an integer or a string. This causes a few
issues:
- the caller must cast the result to an integer
- the code is harder to read
- static checkers such as mypy have a hard time processing these methods
We make sure that both methods now return the priority as an integer.
Closes-Bug: #1813092
Change-Id: I9435c88560b01737f9310fe2cba1ca4c84e0f3fa
openstack-dev was decomissioned this night in https://review.openstack.org/621258
Update openstack-dev to openstack-discuss
Co-authored-by: LeopardMa <mabao@inspur.com>
Change-Id: I06acef3eafe1b9f7842636e9bcb5a637f2d78cc3
Closes-Bug: #1808929
Small cleanups:
* Use openstack-lower-constraints-jobs template, remove individual
jobs.
* Sort list of templates
Change-Id: Iebc92d703af81053547c7b09c863e580e803381c
Needed-By: https://review.openstack.org/623229
Removal of 'stores' and 'default_store' has been postponed until
Train; update the deprecation text and add a release note.
Change-Id: Ib01be1746f9a1b414d6a9436032c34034a2e6f45
Unhelpful error (HTTP 500, Internal Server Error) received if image
creation failed due to insufficient free space. This patch catches rbd
NoSpace exception and re-raise the exact exception
glance_store.StorageFull, and the http client will receive "HTTP 413
Request Entity Too Large".
Closes-Bug: #1808456
Change-Id: Id787d3ae6f761aaa31d2fc7dd26d2f7d327367d4
Co-authored-by: Stefan Dinescu <stefan.dinescu@windriver.com>
Signed-off-by: Liang Fang <liang.a.fang@intel.com>
As of version 3.5.0 moxstub will be deprecated, so remove it where it has
been used.
Change-Id: I2622c457871815311241d2eea562d7a3c70b0795
Signed-off-by: Chuck Short <chucks@redhat.com>
The configuration of the periodic "tips" jobs in .zuul.yaml may
be confusing, particularly after a stable branch is cut. Add a
comment explaining what we're doing and why to reduce confusion.
Change-Id: I7bf676ac972af835c7a6b8d04815629752685765
In Rocky we have added support for multiple backend as a EXPERIMENTAL
feature. However configuration options related to multiple backend
are not generated in sample config file due to some issue. We have
added below 2 new config options for multiple backend.
1. enabled_backneds (added in glance)
2. default_backend (added in glance_store)
Made provision to add option 2 from above to sample config
file.
Change-Id: I63571e4a8f85003e304f16653d60cbd38e6b6bde
Partial-Bug: #1793057
This is a mechanically generated patch to add a functional test job
running under Python 3 as part of the python3-first goal.
See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html
Change-Id: I3a9fd029aa958761990aea6d10b20c7904b3ea05
Story: #2002586
Task: #24297
This is a mechanically generated patch to switch the documentation
jobs to use the new PTI versions of the jobs as part of the
python3-first goal.
See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html
Change-Id: I92412e449b0c42099698870d2c3000aa70d320da
Story: #2002586
Task: #24297
As of 3.7, the configparser module will not allow defaults values to be None.
This patch replaces such values with "default".
Change-Id: Id5a414412cd66d479fb8f8784cba5deddc628dfd
Closes-Bug: #1785641
This is a mechanically generated patch to complete step 1 of moving
the zuul job settings out of project-config and into each project
repository.
Because there will be a separate patch on each branch, the branch
specifiers for branch-specific jobs have been removed.
Because this patch is generated by a script, there may be some
cosmetic changes to the layout of the YAML file(s) as the contents are
normalized.
See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html
Change-Id: Ic16227b9c5b30dcb8c400e392536774ff40aded1
Story: #2002586
Task: #24297
Two changes:
1 - declare the abstract base tips jobs 'abstract'
2 - add a branch matcher to where the periodic tips jobs
are invoked in the project definition so that they only
apply to the master branch
Change-Id: I1093de2583da862f58372e6c03b2d9b604dbd630
doc8 is not required to use this module, only for style
checking of RST documentation.
Move from requirements.txt -> test-requirements.txt to avoid
generating a run-time dependency on doc8.
Change-Id: I3ae3909401eb53d4442e6d369228e235e1d5d60e
In this commit(https://review.openstack.org/#/c/579870/) removed
diversity tags, it should also be updated here.
Change-Id: I461e724d5880dc4fa4784d50749f25c4b54f474a
The store_add_to_backend_with_multihash() function was not wrapped
correctly so that Glance could consume the secure hash value. This
patch adds the correct wrapping.
Closes-bug: #1784420
Change-Id: I7a94dfffb61fc212abb58c1e1aec5884474b6aa8
Currently os-brick that glance_store depends on uses oslo-privsep
to execute commands with root privileges, so we do not need to
maintain each command for os-brick in the rootwrap filters, but
only need to add the privsep-helper command.
This replaces the filters for os-brick with the privsep helper.
Related changes in Nova:
I4e333e73ddfd45c045b9d32dac1506fc25858c4d
# nova: Add os-brick rootwrap filter for privsep
I3a52f762deb176fe9201b2a0f0da363057f8aaec
# nova: Initialise oslo.privsep early in main
Related changes in Cinder:
I3b2e337321875cf4abc0ab9b44fe17cf9327d88b
# cinder: Add os-brick rootwrap filter for privsep
Id9652ccf001a707fbd59e277c36817bd6d58e7b3
# cinder: Initialise oslo.privsep early in main
Change-Id: Idbebaf796eaf89189f64f64167371b81e56b366e
Config option help is used to generate sample config files. This
is done statically and only in English. Translation is done
dynamically at runtime by loading the translation catalogs. So
putting the _() translation around config option help creates
unnecessary work for the translators as this will never be loaded
and translated.
This removes translation markers from config option definitions.
Change-Id: I0597a5b69ef4e179324885cb35bbb72fceb2b830
A replacement, store_add_to_backend_with_multihash(), has been
introduced in Rocky. The old function is kept in Rocky for
backward compatability. This deprecation notice registers our
intent to remove it in Stein.
Change-Id: If09ae10ee160e3fbfafce94e4f3607994af63ec5