Commit Graph

143433 Commits

Author SHA1 Message Date
Guillaume Abrioux
74d93907be
Merge pull request #55537 from guits/node-proxy-handle-fetch-oob-error
node-proxy: improve http error handling in fetch_oob_details
2024-02-15 09:04:20 +01:00
Vallari Agrawal
5e5ae5c9fa
Merge pull request #55297 from VallariAg/fix-gtest-xml-path
qa/workunits/rados/test.sh: fix GTEST_OUTPUT path
2024-02-15 09:59:29 +05:30
Zac Dover
dec3d37307 doc/glossary: improve OSD definitions
Remove expletive construction from three OSD-id-related terms.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
2024-02-15 13:10:41 +10:00
Anthony D'Atri
0563b942ff
Merge pull request #55585 from zdover23/wip-doc-2024-02-15-rados-operations-placement-groups-sage-blog-post
doc/rados: add link to pg blog post
2024-02-14 15:28:27 -05:00
Ilya Dryomov
3c7da30eee
Merge pull request #55584 from batrick/backport-create-squid
script: add squid release to backport-create-issue

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2024-02-14 19:40:54 +01:00
Ali Maredia
ccbb1f5aa9 qa: move cert import into rgw task
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2024-02-14 13:04:35 -05:00
Ali Maredia
639ea51a71 qa: enable test_awssdkv4_sig workunit to run in teuthology
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2024-02-14 13:04:23 -05:00
Matt Benjamin
88ab55e60b rgw_sigv4: catch exceptions on client builder
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2024-02-14 12:02:19 -05:00
Ronen Friedman
f5a8b9be8b
Merge pull request #55533 from ronen-fr/wip-rf-sdocs-1
doc/osd: documentation changes related to scrub

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Zac Dover <zac.dover@proton.me>
2024-02-14 18:31:28 +02:00
Patrick Donnelly
46bddfa6c4
script: add squid to backports
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2024-02-14 10:37:24 -05:00
Zac Dover
9344893e08 doc/rados: add link to pg blog post
Add a link in the "Placement Groups" section that links to Sage Weil's
April 5, 2019 blog post "New in Nautilus: PG merging and autotuning".

Signed-off-by: Zac Dover <zac.dover@proton.me>
2024-02-15 01:32:40 +10:00
Casey Bodley
bbbf5c54bd rgw/putobj: RadosWriter uses part head object for multipart parts
the cleanup logic in the RadosWrite destructor was using the wrong
`head_obj` to avoid races between cleanup and part re-uploads. it
pointed at the final location of the multipart upload, rather than the
head object of the current part

Fixes: https://tracker.ceph.com/issues/63642

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-02-14 09:43:18 -05:00
Ivo Almeida
eb47ec72d7
Merge pull request #55551 from ivoalmeida/cephfs-mount-details
mgr/dashboard: added cephfs mount details

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
2024-02-14 10:48:16 -03:00
Ilya Dryomov
69c18cfd29 librbd: refactor merge() for SparseBufferlistExtent
- pass left.length + right.length instead of bl.length()
  for consistency and to avoid circumventing the assert in
  SparseBufferlistExtent constructor
- claim_append() takes an lvalue reference, no need to move
- follow the pattern used in split()

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2024-02-14 14:15:04 +01:00
Ilya Dryomov
746cb28449 librbd: fix split() for SparseExtent and SparseBufferlistExtent
SparseExtents and SparseBufferlist are typedefs for interval_map.  In
both cases, split() handler is broken: for the former the extent isn't
actually split and for the latter incorrect bufferlist is attached to
the split extent.

Fortunately, both SnapshotDelta as produced by ObjectListSnapsRequest
and SparseBufferlist used in a couple of places seem to be collections
where only disjoint intervals are inserted and splitting doesn't occur
(at least in the common case).  But still, this is a landmine waiting
for someone to step on it.

Fixes: https://tracker.ceph.com/issues/64423
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2024-02-14 14:15:04 +01:00
Anthony D'Atri
a3e1d73b49
Merge pull request #55577 from cityofships/typo
doc/start: fix wording & syntax
2024-02-14 08:02:11 -05:00
Ronen Friedman
f9619805cb doc/osd: fix 'scrub a PG' commands in the documentation
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2024-02-14 14:50:15 +02:00
Piotr Parczewski
a8b27af849
doc/start: fix wording & syntax
Signed-off-by: Piotr Parczewski <piotr@stackhpc.com>
2024-02-14 12:51:37 +01:00
Ivo Almeida
e2f8d35a9d mgr/dashboard: added cephfs mount details
Fixes: https://tracker.ceph.com/issues/64405

Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
2024-02-14 11:31:42 +00:00
Guillaume Abrioux
056d4f7a3d mgr/cephadm: add fullreport in ceph orch CLI (node-proxy)
This adds the `fullreport` category to the `ceph orch hardware status` CLI.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
2024-02-14 09:03:49 +00:00
Guillaume Abrioux
1a4a128d67 mgr/cephadm: conditionally deploy node-proxy
Only attempt to deploy the node-proxy agent when oob details
are provided for a given host.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
2024-02-14 09:03:49 +00:00
Guillaume Abrioux
42e3d217ff node-proxy: call time.sleep() after each reporter iteration
This makes sure time.sleep() is always call in the reporter loop.

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
2024-02-14 09:03:49 +00:00
Guillaume Abrioux
b3f21b8372 node-proxy: improve http error handling in fetch_oob_details
This makes the daemon handle the error nicer in fetch_oob_details()

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
2024-02-14 09:03:49 +00:00
Nizamudeen A
8259f7553b
Merge pull request #54295 from rhcs-dashboard/edit-bucket-acl-tags
mgr/dashboard: add ACLs

Reviewed-by: afreen23 <NOT@FOUND>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2024-02-14 13:08:26 +05:30
Nizamudeen A
3f067b480d mgr/dashboard: update nvmeof protoc to 1.0.0
Fixes: https://tracker.ceph.com/issues/64384
Signed-off-by: Nizamudeen A <nia@redhat.com>
2024-02-14 11:56:00 +05:30
Venky Shankar
6896b9dbc8 Merge PR #54690 into main
* refs/pull/54690/head:
	client: handle callback completion if the async I/O failed
	client: make sure the callback is finished when returning ENOTCONN
	client: do not accept zero byte write request
	client: check for negative value of iovcnt
	src/test: test zero bytes async i/o
	src/test: test async I/O with negative iov structures count
	src/test: test async I/O if the client is not mounted
	src/test: test async I/O with read only file
	src/test: test async I/O with a file created with O_PATH

Reviewed-by: Frank S. Filz <ffilzlnx@mindspring.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
2024-02-14 10:40:49 +05:30
Radoslaw Zarzynski
6135757191 osd: always send returnvec-on-errors for client's retry
Currently there is a discrepancy in terms of the returnvec's
presence between MOSDOpReplys sent for original requests and
those on dups. The former always contain the returnvec if
an error happened, even if `allows_returnvec()` is `false`.

This commit extends the behavior on dups.

For RCA please see: https://tracker.ceph.com/issues/64192#note-9

Fixes: https://tracker.ceph.com/issues/64192
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2024-02-14 00:55:35 +00:00
Matt Benjamin
80c9433847 rgw_sigv4: fixes to bootstrap maven/junit5 suite
The junit5 suite in fact chooses selects transport security (SSL)
strictly from the endpoint URL.  The test_awssdkv4_sig.sh (or its
caller?) only needs to export RGW_HTTP_ENDPOINT_URL appropriately
to get one or the other.

Fix several mistakes in refactoring caught by Ali Maredia.
Print AccessKey, SecretKey and EndpointURL on startup

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2024-02-13 13:28:33 -05:00
Matt Benjamin
d374a21beb awssigv4: fix recognition of trailer boundary when no trailing signature
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2024-02-13 13:28:33 -05:00
Matt Benjamin
dc3063786c awssigv4: fix signing of 0-byte object
1. correctly match signature of 0-length chunk
2. initialize lf_bytes

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2024-02-13 13:28:33 -05:00
Matt Benjamin
e2a65f1d07 rgw_cksum: add junit5-based unit test suite
This can be run by hand with:

./mvnw clean package
./mvnw test -Dtest=PutObjects

The following properties are sourced from the environment:

    AWS_ACCESS_KEY_ID
    AWS_SECRET_ACCESS_KEY

    RGW_HTTP_ENDPOINT_URL
    RGW_HTTPS_ENDPOINT_URL

Then adds:

qa/workunits/rgw: add test driver script for maven suite

Launch it fromn cls.yaml, as with test_librgw_file.h.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2024-02-13 13:28:33 -05:00
Matt Benjamin
5afa3fc52f rgw: cumulatively fix 6 AWS SigV4 request failure cases
These changes address checksum header identification and signing
algorithm selection, including checksum trailer verification
for signed- and unsigned-payload cases.

These changes address all the actual S3 request failures I have
so far been able to reproduce, with and without content checksums
and/or new trailing checksum headers, and with and without
SSL.

Fixes: https://tracker.ceph.com/issues/63153

Specifically, it fixes the request failures that motivated the
initial tracker filing.  It extracts but does not validate new client
content checksums if present.  Validation and management of new
S3 content-checksum headers will follow in a subsequent change.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>

squashed commits:

* wip chunk meta parsing--seem to have first AWSv4ComplMulti::ChunkMeta::create_next sort of parsing
* use constexpr sarlen(...) for static array lengths throughout rgw_auth_s3.cc
* link AWSv4CompleMulti::ChunkMeta to its enclosing completer
* capture original content-length header before AWSv4ComplMulti overwrites it
* mostly extract the trailer
* fix misordered content-length, experiment w/exbuf
* save leftover bytes between calls to AWSv4ComplMulti::recv_chunk()
* propagate data_offset_in_stream from AWSv4ComplMulti::recv_chunk()
* clean up trailer section extract
* trailer section cleanup and introduce extract_helper
* unrolled checksum extract--fixup
* fix sv_trailer end pos, and cleanup
* add proplist interface to rgw::auth::Completer and AWSv4ComplMulti
* spliterate trailers
* check completer props
* redefine prop_map to point into already-allocated trailer_vec
* hax: thread a counter onto AWSv4ComplMulti recv_body() and recv_chunk path
* fix apparent bug where due to reads less than chunk_size induce a final, zero-length read that was skipped before forcing recognition of the last chunk in the stream
* check only for a trailing checksum named in x-amz-trailer
* don't try to match signatures when no signature provided (because streaming unsigned)
* oops, fix content_length decl
* fix recognition of next chunk envelope in unsigned aws-chunk case
* clean up AWSv4CompMulti flags and correctly detect aws unsigned chunked
* rework checksum-trailer extraction and introduce AWSv4ComplMulti::calc_v4_trailing_signature
* thread const struct req_state* into AWSv4ComplMulti
* large cleanup of trailer parsing, no regression
* fix trailer signature calculation--checks
* correctly generate final chunk hmac
* typo in comment
* verify trailing signature when expected (using expected final chunk signature)
* move trailer_vec back onto recv_body()'s stack
* remove strange completer comment
* remove last_frag (now points into parsing_buf)
* remove implied dependency on content_length
* move trailer recognition to AWSv4ComplMulti::complete()
* remove now-unused is_last_chunk() predicate
* remove unused ChunkMeta::completer
* responses to review comments
* when trailer is sig expected, fail (only) if none present or if it does not match calculated
* remove stale parse_content_length(...) decl
* remove now-unused AWSv4ComplMulti::content_length
* fix extract_helper end search position as in mut_extract_helper
* change "\n" reserve term in get_canon_amz_hdrs() part of the sum (review)
    and initialize length to 0
* remove debugging code

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2024-02-13 13:28:30 -05:00
Zac Dover
574421aeec doc/cephadm: correct nfs config pool name
s/nfs-ganesha/.nfs/ in doc/cephadm/services/nfs, in accordance with
information given to me by John Mulligan over Slack.

Signed-off-by: Zac Dover <zac.dover@proton.me>
2024-02-14 03:04:26 +10:00
Mykola Golub
5442f7eb21 tools/rbd: make 'children' command support --image-id
Fixes: https://tracker.ceph.com/issues/64376
Signed-off-by: Mykola Golub <mykola.golub@clyso.com>
2024-02-13 15:50:32 +00:00
Ivo Almeida
bab43e83ad
Merge pull request #55521 from ivoalmeida/snapshot-schedule-subvolume-copies
mgr/dashboard: snapshot schedule added subvolume and translations

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2024-02-13 09:16:30 -03:00
Pedro Gonzalez Gomez
c3251fbf87 mgr/dashboard: add ACLs
Fixes: https://tracker.ceph.com/issues/63547
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
2024-02-13 10:20:31 +01:00
neeraj pratap singh
6a44322d59 doc: add the reject the clone when threads are not available feature in the document
Fixes: https://tracker.ceph.com/issues/59714
Signed-off-by: Neeraj Pratap Singh <neesingh@redhat.com>
2024-02-13 14:49:57 +05:30
neeraj pratap singh
dbdc161f74 qa: add test cases for the support to reject clones feature
Fixes: https://tracker.ceph.com/issues/59714
Signed-off-by: Neeraj Pratap Singh <neesingh@redhat.com>
2024-02-13 14:45:46 +05:30
Vallari Agrawal
c8116c65df
Merge pull request #54959 from VallariAg/wip-nvmeof-test-v2
qa: add qa/tasks/nvmeof.py
2024-02-13 13:20:42 +05:30
Aashish Sharma
a85baa89da
Merge pull request #55314 from cloudbehl/rgw-dashboard-json
mgr/dashboard: Fixing RGW graph panels


Reviewed-by: Aashish Sharma <aasharma@redhat.com>
2024-02-13 12:00:33 +05:30
Pritha Srivastava
7a31137ec7 dashboard/rgw: changes to use 'full_user_id' from rgw
user info as 'uid' in dashboard. 'full_user_id' includes
tenant and user id, and also namespace wherever it is non
empty.

Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2024-02-13 10:52:12 +05:30
zdover23
137ea0f873
Merge pull request #55546 from zdover23/wip-doc-2024-02-13-glossary-crush
doc/glossary: Add link to CRUSH paper

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2024-02-13 10:00:52 +10:00
Adam King
c521681980
Merge pull request #53527 from rhcs-dashboard/add-rgw-perf-counter-cache
cephadm/rgw: make rgw perf counters cache and it's size configurable

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Ali Maredia <amaredia@redhat.com>
2024-02-12 18:34:48 -05:00
Adam King
0ce0344d43
Merge pull request #55355 from adk3798/cephadm-nvmeof-version-bug
cephadm: fix get_version for nvmeof

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2024-02-12 18:21:25 -05:00
Radoslaw Zarzynski
284e8c43a7
Merge pull request #50422 from rzarzynski/wip-bug-58915
osd: don't send stale hb msgr's addresses in MOSDBoot

Reviewed-by: Laura Flores <lflores@redhat.com>
2024-02-12 20:22:47 +01:00
Ali Maredia
54cae2cebd
Merge pull request #55156 from alimaredia/wip-rgw-add-cap-user-without-keys
rgw: add new cap user-info-without-keys

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2024-02-12 13:35:09 -05:00
Radoslaw Zarzynski
b2fcc556a2 fixup: don't store ref-to-on-stack-temporary in RecoveryBackend::coll
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2024-02-12 17:45:01 +00:00
Casey Bodley
4cc75f8f6d
Merge pull request #55487 from cbodley/wip-qa-rgw-hadoop-distro
qa/rgw: hadoop-s3a uses supported-random-distro$

Reviewed-by: Ali Maredia <amaredia@redhat.com>
2024-02-12 17:05:33 +00:00
Casey Bodley
a8739fc186
Merge pull request #55360 from shreyanshjain7174/fix_2252048
RGW: Getting an RGW service Segfault when assigning an attribute to an IAM role.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2024-02-12 17:05:02 +00:00
Casey Bodley
3366f5fd5e
Merge pull request #55486 from jzhu116-bloomberg/wip-64340
rgw: do not copy olh attributes in versioning suspended bucket

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2024-02-12 17:04:33 +00:00