Patrick Donnelly [Fri, 27 Sep 2019 05:12:03 +0000 (22:12 -0700)]
Merge PR #29906 into master
* refs/pull/29906/head:
vstart_runner: name booleans for options differently
qa/vstart_runner.py: add an option to remove old log
qa/vstart_runner.py: make log initialization code reusable
qa/vstart_runner.py: make printing of stdout of ps optional
qa/vstart_runner.py: add timeout for vstart.sh and stop.sh
qa/vstart_runner.py: add an option to teardown cluster
Patrick Donnelly [Thu, 26 Sep 2019 13:25:17 +0000 (06:25 -0700)]
Merge PR #29818 into master
* refs/pull/29818/head:
client/MetaRequest: Add age to MetaRequest dump
osdc/Objecter: Add age to the ops
common/ceph_time: Use fixed floating-point notation for mono_clock
Reviewed-by: Sage Weil <sage@redhat.com> Reviewed-by: Adam C. Emerson <aemerson@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Patrick Donnelly [Thu, 26 Sep 2019 13:20:48 +0000 (06:20 -0700)]
Merge PR #30202 into master
* refs/pull/30202/head:
mds: Explicitly call slave_updates with 0 size
mds: Move log_segment_seq_t into class LogSegment
mds: Reorganize class members in LogSegment header
Reviewed-by: Jos Collin <jcollin@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Jeff Layton [Thu, 26 Sep 2019 11:50:28 +0000 (07:50 -0400)]
ceph.spec.in: fix Cython package dependency for Fedora
Fedora distros do not have python3?-Cython packages, but they do have
python3-Cython ones. Fix the BuildRequires so that we only use the
python3_version_nodots based version string for RHEL.
Fixes: https://tracker.ceph.com/issues/42032 Signed-off-by: Jeff Layton <jlayton@redhat.com>
Sage Weil [Fri, 6 Sep 2019 20:04:11 +0000 (15:04 -0500)]
msg/async: do not register lossy client connections
If our policy is server + lossy, we do not need to track our incoming
client connections by address. First, because it doesn't do us any good.
Second, it is nicer if we don't, because we can allow multiple incoming
connections from the same peer addr.
Update a couple of tests: one doesn't apply any more, and the other needs
a different way of getting the just-accepted con ref.
If the connection mode is lossy, allow us to open a new connection to
a target, regardless of whether other such connections are already open.
This allows for single-use connections. If you call this multiple times,
you'll get separate, distinct connections.
We are lucky that the cleanup infrastructure for AsyncMessenger just works
without modification. :)
osd/OSDMap: do not trust partially simplified pg_upmap_item
If we simplified a partially no-op pg_upmap_item, we shall still
continue to verify that the remaining part is valid.
The bug is introduced by 02e5499b350bcd7d9eac98b2072052a9a4a1f535,
before which we always validate the correctness of a pg_upmap_item
before trying to cancel or simplify it.
Rishabh Dave [Sat, 17 Aug 2019 07:42:38 +0000 (13:12 +0530)]
qa/vstart_runner.py: make printing of stdout of ps optional
stdout of ps command is generally pretty huge which makes it harder to
interpret logs. Don't print it by default and add "--log-ps-output" to
enable printing it.
Rishabh Dave [Sat, 17 Aug 2019 06:35:33 +0000 (12:05 +0530)]
qa/vstart_runner.py: add an option to teardown cluster
Add "--teardown" option so that vstart_runner.py tears down Ceph
cluster automatically after the batch of tests has completed running.
Also delete build/dev and build/out directories, after running stop.sh.
Kefu Chai [Fri, 30 Aug 2019 11:49:28 +0000 (19:49 +0800)]
ceph.spec.in: s/pkgversion/version_nodots/
`python3_pkgversion` is now defined as 3, while we don't have packages
like python3-Cython yet in EPEL7. but we do have `python36-Cython`. so
let's use `python3_version_nodots` instead.
Patrick Donnelly [Tue, 24 Sep 2019 11:32:28 +0000 (04:32 -0700)]
Merge PR #29824 into master
* refs/pull/29824/head:
qa: whitelist new FS_INLINE_DATA_DEPRECATED health warning
mds: add a HEALTH_WARN message when inline_data is enabled
mds: log a warning message when mds is started on an fs with inline_data
mon: deprecate CephFS inline_data support
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Sage Weil <sage@redhat.com> Reviewed-by: Douglas Fuller <dfuller@redhat.com>
mon/MonCommands: improve "osd pool create" command validation
both `expected_num_objects` and `size` are required to be greater or
equal to 0, and monitor will return -EINVAL at seeing a negative value
of either of them. so let's fail earlier.
* pass CEPH_BIN env variable if necessary
* do not 'make' unless necessary
* use `cmake --build` as developer might be using some different cmake
generator for building ceph.
Tao Ning [Tue, 24 Sep 2019 04:45:24 +0000 (12:45 +0800)]
osd/PGLog: reset log.complete_to when recover obect failed
1. Injection read fault, recover failed object is added to the missing set, log.complete_to == log.end()
2. Before the first object recovery, the new object writes, update info.last_update, because num_missing() != 0, so last_complete will not be updated
3. After the first object recovery, PeeringState::recover_got generates the error: ceph_assert(info.last_complete == info.last_update);
Sage Weil [Mon, 23 Sep 2019 18:20:29 +0000 (13:20 -0500)]
mon/MonClient: skip CEPHX_V2 challenge if client doesn't support it
If the client doesn't support the CEPHX_V2 challenge, and we don't require
it, skip it. This allows the client to authenticate without getting an
error like
cephx: verify_reply couldn't decrypt with error: error decoding block for decryption
Note that we don't have this problem in the monitor exchange in
Monitor::handle_auth_request() because that verify_authorizer() caller is
only used for msgrv2, and all such clients support CEPHX_V2. Instead,
those client authenticate via the MAuth messages, a path that does not use
authorizers at all.
Fixes: https://tracker.ceph.com/issues/40716 Signed-off-by: Sage Weil <sage@redhat.com>
Sage Weil [Mon, 23 Sep 2019 14:12:42 +0000 (09:12 -0500)]
Merge PR #30475 into master
* refs/pull/30475/head:
qa/standalone/ceph-helpers: default pg autoscale mode off for standalone
os/bluestore: fix objectstore_blackhole read-after-write
test,misc: do not specify pg_num per pool
mgr/volumes: do not specify pg_num
pybind/ceph_volume_client: do not specify pg_num for new pools
doc: remove all pg_num arguments to 'osd pool create'
mon: do not require pg_num to 'osd pool create'
common: default pg_autoscale_mode=on for new pools
ceph-volume: do not fail when trying to remove crypt mapper
In a containerized context, at some point, need to run `simple scan` on a device
from a separate container (not the existing and running corresponding container
to that device), but this can't work because when it tries to remove the
mapper which is still in use by the corresponding running osd container,
it fails.
This can be a bit more permissive and simply throw a warning.
Reviewed-by: Sage Weil <sage@redhat.com> Reviewed-by: J. Eric Ivancich <ivancich@redhat.com> Reviewed-by: Neha Ojha <nojha@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
xie xingguo [Wed, 8 May 2019 08:54:50 +0000 (16:54 +0800)]
vstart: add --inc-osd option
I am currently developing some scale-up[down] related feature.
It would be nice if I can simply develop and test it on the
vcluster at the early stage.
Instead of tossing out transactions from queue_transactions (which prevents
us from reading back the results), instead (1) stop doing any write IO, and
(2) stop trimming the cache.
Fixes: https://tracker.ceph.com/issues/40684 Signed-off-by: Sage Weil <sage@redhat.com>