John Mulligan [Wed, 12 Oct 2022 18:06:40 +0000 (14:06 -0400)]
cephadm: fix running test suite on python3.6
While a new version of pyfakefs is available, version 5 is not available
for python 3.6. In order to run the test suite on centos 8 we will
continue to work with pyfakefs version 4.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Wed, 12 Oct 2022 18:15:59 +0000 (14:15 -0400)]
cephadm: fix base class behavior on python3.6
This fixes the cephadm test files when running tox/pytest on python3.6
(centos/rhel 8).
Long story short, combining classmethod and property on py3.6 behaves
differently from py3.7 and up. Since the classmethod is actually
unnecessary for the base class to behave as it does, we drop that
decorator.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Nathan Cutler [Mon, 29 Jan 2018 12:38:08 +0000 (13:38 +0100)]
make-dist: don't set Release tag in ceph.spec for SUSE distros
SUSE's Open Build Service overwrites the Release tag with checkin
and build counters, so we can't use it to record the number of
commits since the last tag, and the last commit hash. This commit
appends that extra information to the Version tag instead for
SUSE builds.
Fixes: https://tracker.ceph.com/issues/57893 Signed-off-by: Tim Serong <tserong@suse.com> Signed-off-by: Nathan Cutler <ncutler@suse.com>
J. Eric Ivancich [Thu, 20 Oct 2022 19:08:53 +0000 (15:08 -0400)]
rgw: document convention used in ReadOp::read and ReadOp::iterate
Both of these functions defined at the SAL layer take an offset and an
end offset. It's important to note that the end offset is inclusive
since a common, modern convention is for the end offset to be
exclusive.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
Zac Dover [Thu, 20 Oct 2022 18:43:24 +0000 (04:43 +1000)]
doc/cephadm: refine "os tuning" in h. management
This commit refines the English in the "OS Tuning Profiles" section of
the "Host Management" page of the cephadm documentation. This commit is
made separately from but in anticipation of a forthcoming commit that
corrects technical (non-grammatical) errors.
crimson/osd: add the delete-head special case of CEPH_OSD_OP_ROLLBACK
This allows to pass `TestLibRBD.TestIOToSnapshot`:
```
[rzarzynski@o06 build]$ CRIMSON_COMPAT=true RBD_FEATURES=1 bin/ceph_test_librbd --gtest_filter=TestLibRBD.TestIOToSnapshot
seed 3954016
Note: Google Test filter = TestLibRBD.TestIOToSnapshot
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from TestLibRBD
[ RUN ] TestLibRBD.TestIOToSnapshot
using new format!
...
opening testimg@orig
read: 80
write to snapshot returned -30
Read-only file system
num snaps is: 2
expected: 2
snap: orig
snap: written
found orig with size 2097152
found written with size 2097152
num snaps is: 1
expected: 1
snap: orig
found orig with size 2097152
num snaps is: 0
expected: 0
[ OK ] TestLibRBD.TestIOToSnapshot (7510 ms)
[----------] 1 test from TestLibRBD (7510 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (8504 ms total)
[ PASSED ] 1 test.
```
Nizamudeen A [Wed, 19 Oct 2022 08:04:58 +0000 (13:34 +0530)]
cmake: bump node version to 14
to update the angular to 13, we need a node version of either 12.20.x or
14.15.x or 16.10.x. But inorder to not break the angular 12 run for now
we need to choose the node which works for both 12 and 13. which is
14.15.x. So I went with that node version here.
Samuel Just [Mon, 10 Oct 2022 23:33:38 +0000 (16:33 -0700)]
qa/suites/crimson-rados: remove cache and dedup related tests
It's an accident that some of these pass -- the tests provide some
coverage for inconsistencies that can arise, but don't really validate
that the objects actually get moved between tiers.
It's going to be some time before we implement cache or dedup in
crimson, and we'll probably want to disable the related commands for
pools that can map to crimson osds to prevent accidents.
Zac Dover [Mon, 17 Oct 2022 14:09:34 +0000 (00:09 +1000)]
doc/radosgw: refine "notification reliability"
This commit refines the English in the "Notification Reliability"
section of the notifications.rst page (the "Bucket Notifications"
page). I have also added signposting structure.
Ernesto Puerta [Tue, 18 Oct 2022 12:50:39 +0000 (14:50 +0200)]
.github/pr-triage: update node.js to v16
[Warning](https://github.com/ceph/ceph/actions/runs/3273201887):
```
Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.
Please update the following actions to use Node.js 16: actions/labeler, iyu/actions-milestone
```
Ernesto Puerta [Mon, 17 Oct 2022 15:50:41 +0000 (17:50 +0200)]
.github/pr-triage: switch from old to new project
The old (classic) Dashboard project (https://github.com/ceph/ceph/projects/6) has been migrated to a new-style one (https://github.com/orgs/ceph/projects/2/views/1).
This also requires updating the GH Action that automatically assigned `dashboard`-labeled PRs to the Dashboard project.
John Mulligan [Mon, 10 Oct 2022 14:21:02 +0000 (10:21 -0400)]
install-deps: switch to C.UTF-8 locale
The en_US.UTF-8 locale is not always going to present on all systems.
Specifically, setting en_US.UTF-8 causes numerous warnings when running
this script on a CentOS Stream 8 container. Rather than install
additional packages to suppress the warning, use the C.UTF-8 locale.
Additionally, try to update the comment explaining the line to something
based on the commit history rather than the confusing term "vulnerable".
Signed-off-by: John Mulligan <jmulligan@redhat.com>
John Mulligan [Mon, 10 Oct 2022 14:01:21 +0000 (10:01 -0400)]
install-deps: remove emacs modeline from script
The majority of the lines in this shell script uses spaces to indent,
but I *think* this modeline tells emacs to indent with tabs. In a very
near future change I'm going to make all indents use spaces. So we first
remove the emacs modeline that tells it to use the opposite.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Ramana Raja [Thu, 22 Sep 2022 15:41:50 +0000 (11:41 -0400)]
src/mds: increment directory inode's change attr by one
... whenever the mtime or ctime of the directory inode is modified.
In CephFS subvolume clones exported using NFS-Ganesha, newly created
files using `touch` were not being listed. It was identified that the
create request sent to the Ceph MDS via NFS-Ganesha's libcephfs client
modified the mtime and ctime of the parent directory, but did not modify
the change_attr of the parent directory. Since the NFS client
didn't see a modification of the change attribute in the reply, it
didn't invalidate its readdir cache. The subsequent directory `ls` was
satisfied from the NFS client's stale readdir cache.
Whenever parent directory inode's mtime was modified in
MDCache::predirty_journal_parents(), the parent inode's change_attr
was set to its dirstat->change_attr. The parent inode's
dirstat->change_attr doesn't track changes to parent's *ctime only*
changes such as setattr, setvxattr, etc. on the parent
directory. See commit 0d441dcd6af553d11d6be6df56d577c5659904a0 for more
details. This caused the directory inode's change_attr to not be updated
when an operation to change only its ctime was followed by an operation
to change its mtime and ctime.
Fix this by making changes to MDCache::predirty_journal_parents() and
CInode::finish_scatter_gather_update() to increment the directory
inode's change_attr by one instead of setting it to its
dirstat->change_attr.
Fixes: https://tracker.ceph.com/issues/57210 Signed-off-by: Ramana Raja <rraja@redhat.com>
Alternate operations that only change directory's ctime
(setattr/setxattr/removexattr on directory) with those that change
directory's mtime and ctime (create/rename/remove a file within
directory). Check that directory's change_attr is updated everytime
ctime changes.
Zac Dover [Fri, 14 Oct 2022 06:17:12 +0000 (16:17 +1000)]
doc/radosgw: add push_endpoint for rabbitmq
This commit directs users of rabbitmq to use "push_endpoint"
(with an underscore) instead of "push-endpoint" (with a hy-
phen). This commit adds a note that contains such a direct-
ive. It does not alter the examples already present in the
text.