]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agoceph-volume: mock VGs with string properties in tests 39272/head
Jan Fajerski [Tue, 22 Dec 2020 14:44:10 +0000 (15:44 +0100)]
ceph-volume: mock VGs with string properties in tests

The real things uses string properties as well.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit c4bbb1b999b08bd84d793537f2602fc8e4c93bae)

4 years agoceph-volume: add some flexibility to bytes_to_extents
Jan Fajerski [Tue, 22 Dec 2020 13:29:02 +0000 (14:29 +0100)]
ceph-volume: add some flexibility to bytes_to_extents

For batch we want to report the projected sizes before creating any LVM
structures, we use the device size for that. This means we pass this
projected size to lvm/api.py::create_lv. This could result in situations
where we request more extents for the new LV than are actually
available, as LVM takes up some available space on the block device
(plus alignment).
We fix this by adjusting the extent count downwards if its less than 1% off the
requested value.

Fixes: https://tracker.ceph.com/issues/47758
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit ece6e7eb9a92cb944b2f201a05a5acfb877c2dba)

4 years agoMerge pull request #39233 from idryomov/wip-unbreak-rbd-task-pacific
Ilya Dryomov [Wed, 3 Feb 2021 09:36:17 +0000 (10:36 +0100)]
Merge pull request #39233 from idryomov/wip-unbreak-rbd-task-pacific

pacific: qa/tasks/rbd: fix regressions introduced with rbd encryption support

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoqa/tasks/rbd: don't wait for krbd symlink to be created/removed 39233/head
Ilya Dryomov [Sun, 31 Jan 2021 14:24:32 +0000 (15:24 +0100)]
qa/tasks/rbd: don't wait for krbd symlink to be created/removed

Commit 3754c665a11e (":qa/tasks/rbd: test qemu on top of rbd
encryption") broke dev_create() for krbd by messing up the "wait
for the symlink to be created by udev" loop.  The rbd tool has been
synchronizing with udev internally since 2014, so rather than fixing
let's just drop it.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit d89613f52dee83c308a2b169ba1c2869c16ac9d7)

4 years agoqa/tasks/rbd: dev_create() expects a properties dict
Ilya Dryomov [Sun, 31 Jan 2021 13:27:52 +0000 (14:27 +0100)]
qa/tasks/rbd: dev_create() expects a properties dict

In order to add encryption_format property, commit 3754c665a11e
(":qa/tasks/rbd: test qemu on top of rbd encryption") changed the
dev_create() contract.  It now expects a properties dict, but the
main task routine wasn't updated and still passes role_images.

On top of that, role_images itself got broken.  It is supposed
to be a mapping from role to a corresponding image name, not to
a dict with an image_name key.  This affected generic_mount().

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 0357c0215b2fbbf7fa801331df1f92b101ad9d5e)

4 years agoMerge pull request #39021 from ceph/pacific-backport
Sebastian Wagner [Thu, 28 Jan 2021 22:46:43 +0000 (23:46 +0100)]
Merge pull request #39021 from ceph/pacific-backport

pacific: cephadm: batch backport January

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agoMerge pull request #39066 from yuriw/wip-yuriw-octopus-x-old-school
Yuri Weinstein [Thu, 28 Jan 2021 19:57:27 +0000 (11:57 -0800)]
Merge pull request #39066 from yuriw/wip-yuriw-octopus-x-old-school

qa/tests: added 'parallel-no-cephadm'

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #39110 from dillaman/wip-librbd-backports-pacific-2
Jason Dillaman [Thu, 28 Jan 2021 13:48:09 +0000 (08:48 -0500)]
Merge pull request #39110 from dillaman/wip-librbd-backports-pacific-2

pacific: librbd: miscellaneous backports 2

Reviewed-by: Mykola Golub <mgolub@suse.com>
4 years agolibrbd: Fix variable declaration in capture list in lambda 39110/head
Willem Jan Withagen [Thu, 28 Jan 2021 00:00:45 +0000 (01:00 +0100)]
librbd: Fix variable declaration in capture list in lambda

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
(cherry picked from commit 461412352d490d2c543791d37278e99f2c36d395)

4 years agoMerge pull request #39067 from neha-ojha/wip-38962-pacific
Yuri Weinstein [Wed, 27 Jan 2021 23:51:43 +0000 (15:51 -0800)]
Merge pull request #39067 from neha-ojha/wip-38962-pacific

pacific: ceph-bluestore-tool: fix reshard command and add show-sharding option

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #38989 from neha-ojha/wip-48776-pacific
Yuri Weinstein [Wed, 27 Jan 2021 23:50:59 +0000 (15:50 -0800)]
Merge pull request #38989 from neha-ojha/wip-48776-pacific

pacific: os/bluestore: fix deferred_queue locking

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
4 years agoMerge pull request #39030 from liewegas/wip-38990-pacific
Yuri Weinstein [Wed, 27 Jan 2021 20:20:55 +0000 (12:20 -0800)]
Merge pull request #39030 from liewegas/wip-38990-pacific

pacific: mgr/devicehealth: fix 'device monitoring on|off' return value

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #39017 from jan--f/wip-gh32027-pacific
Yuri Weinstein [Wed, 27 Jan 2021 20:20:36 +0000 (12:20 -0800)]
Merge pull request #39017 from jan--f/wip-gh32027-pacific

pacific: librados: avoid symbol versioning on Windows

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agolibrbd/migration: minor cleanup to QCOWFormat code
Jason Dillaman [Wed, 27 Jan 2021 13:32:45 +0000 (08:32 -0500)]
librbd/migration: minor cleanup to QCOWFormat code

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 6cd7e84293d27168fcf1b86bf058722c7736c1ec)

4 years agotest/librbd: initial unit tests for migration/QCOWFormat
Jason Dillaman [Mon, 25 Jan 2021 23:15:15 +0000 (18:15 -0500)]
test/librbd: initial unit tests for migration/QCOWFormat

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 3b2e6fa3f061b430045b3e36708b7ef6405709c5)

4 years agolibrbd/migration: compute QCOW snapshot deltas via L2 table deltas
Jason Dillaman [Tue, 26 Jan 2021 05:18:45 +0000 (00:18 -0500)]
librbd/migration: compute QCOW snapshot deltas via L2 table deltas

Since each entry in a L2 table represents a cluster block within the
QCOW image, we can compute deltas by comparing L2 tables. This fixes
an issue where snapshots were not being properly thin-provisioned
during the live-migration execute process.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 2d8d70e2e9376adc15d5530d4d58f29dc5724bbe)

4 years agolibrbd/migration: allow retrieving QCOW L2 table from L2 cache
Jason Dillaman [Tue, 26 Jan 2021 03:17:25 +0000 (22:17 -0500)]
librbd/migration: allow retrieving QCOW L2 table from L2 cache

This will be used in the next commit where the list-snaps state
machine is tweaked to compate L2 tables between snapshot revisions
to determine deltas.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 251990a1462a5770e6bbbb9642acbcce2cac525d)

4 years agolibrbd/migration: refactor lookup table handling for QCOW format
Jason Dillaman [Tue, 26 Jan 2021 01:45:40 +0000 (20:45 -0500)]
librbd/migration: refactor lookup table handling for QCOW format

This will be used by a refactored list-snaps state machine to compute
the L2 table cluster for image offsets. The L1 and L2 lookup tables
can now be represented in a single structure.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 83687244025d36af45da03313e6d3002767a70cb)

4 years agolibrbd/migration: tweaks to QCOWFormat discovered during unit testing
Jason Dillaman [Mon, 18 Jan 2021 21:37:33 +0000 (16:37 -0500)]
librbd/migration: tweaks to QCOWFormat discovered during unit testing

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 7090ca4a0883c7411038c1d17ee168a0be3a013c)

4 years agolibrbd: tweaks to support Boost 1.75.0
Jason Dillaman [Wed, 27 Jan 2021 14:12:58 +0000 (09:12 -0500)]
librbd: tweaks to support Boost 1.75.0

Fixes: https://tracker.ceph.com/issues/48989
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 4d80c798a735d2c1e3d9b25825a96076942af141)

4 years agoMerge pull request #39084 from dillaman/wip-librbd-backports-pacific
Jason Dillaman [Wed, 27 Jan 2021 18:33:56 +0000 (13:33 -0500)]
Merge pull request #39084 from dillaman/wip-librbd-backports-pacific

pacific: librbd: miscellaneous backports

Reviewed-by: Mykola Golub <mgolub@suse.com>
4 years agolibrbd/cmake: add library dependency for pwl_cache 39084/head
lixiaoy1 [Fri, 22 Jan 2021 16:10:15 +0000 (11:10 -0500)]
librbd/cmake: add library dependency for pwl_cache

Signed-off-by: Li, Xiaoyan <xiaoyan.li@intel.com>
(cherry picked from commit d1e80348c72c94bc07e8c7528fa6f241c2dd2364)

4 years agoqa/tests: disable test_rbd_python.disable ref: https://tracker.ceph.com/issues/48759 39066/head
Yuri Weinstein [Tue, 26 Jan 2021 22:45:29 +0000 (14:45 -0800)]
qa/tests: disable test_rbd_python.disable ref: https://tracker.ceph.com/issues/48759

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
4 years agoMerge pull request #39079 from idryomov/wip-doc-osdtimeout-pacific
Ilya Dryomov [Wed, 27 Jan 2021 10:30:43 +0000 (11:30 +0100)]
Merge pull request #39079 from idryomov/wip-doc-osdtimeout-pacific

pacific: doc: don't mention osdtimeout option in mount.ceph man page

Reviewed-by: Jeff Layton <jlayton@redhat.com>
4 years agoMerge pull request #39078 from idryomov/wip-krbd-msgr2-pacific
Ilya Dryomov [Wed, 27 Jan 2021 10:30:01 +0000 (11:30 +0100)]
Merge pull request #39078 from idryomov/wip-krbd-msgr2-pacific

pacific: krbd: add support for msgr2 (kernel 5.11)

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #39088 from idryomov/wip-make-check-pacific
Jason Dillaman [Tue, 26 Jan 2021 22:19:42 +0000 (17:19 -0500)]
Merge pull request #39088 from idryomov/wip-make-check-pacific

pacific: fix build and make check (cram version and zbd dependency)

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoqa/tests: added centos yaml
Yuri Weinstein [Tue, 26 Jan 2021 16:15:08 +0000 (08:15 -0800)]
qa/tests: added centos yaml

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
4 years agocmake: let alienstore link against zoned allocator 39088/head
Kefu Chai [Tue, 26 Jan 2021 18:04:52 +0000 (02:04 +0800)]
cmake: let alienstore link against zoned allocator

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 6883b64205d83947235b5492f6db279b753c4d14)

4 years agotest/librbd: fix luks encryption cli test on unsupported runs
Or Ozeri [Tue, 26 Jan 2021 16:54:05 +0000 (18:54 +0200)]
test/librbd: fix luks encryption cli test on unsupported runs

This commit changes the luks encryption cli test to return success instead of failure when not supported.

Signed-off-by: Or Ozeri <oro@il.ibm.com>
(cherry picked from commit 2f1eb8eba0f50e59eb42bceb3427be463b249832)

4 years agoqa/tasks/rbd: cleanup passphrase file
Or Ozeri [Tue, 26 Jan 2021 15:02:37 +0000 (17:02 +0200)]
qa/tasks/rbd: cleanup passphrase file

This commit adds a cleanup for the passphrase file used to create/mount encrypted rbd images.

Signed-off-by: Or Ozeri <oro@il.ibm.com>
(cherry picked from commit 8498da2aca43c96e0d54aa688fc2b80002083149)

4 years agoinstall-deps.sh: set codename when installing libzbd
Kefu Chai [Tue, 26 Jan 2021 10:20:45 +0000 (18:20 +0800)]
install-deps.sh: set codename when installing libzbd

this was an oversight in e7e3b86762ff3fccdae21e713c64215ab3bb7bb4

also use updated build with sha1 of
1fadde94b08fab574b17637c2bebd2b1e7f9127b, the older version has an issue
where both libzbd and libzbd-dev packaged .pc file with the same path,
so they conflicted with each other. the new version addressed this
issue.

and install libzbd-dev instead of libzbd and libzbd-dev, as the package
name of the former could change if its so version is bumped, so use the
*-dev package is a safer choice from the perspective of testing the
dev build.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit af43300146811ffe3708891e203c7ac59d8bcc18)

4 years agoinstall-deps.sh: install libzbd-dev when WITH_ZBD is set
Kefu Chai [Mon, 25 Jan 2021 06:11:46 +0000 (14:11 +0800)]
install-deps.sh: install libzbd-dev when WITH_ZBD is set

to avoid zbd backend bitrot, and for build test it in our "make check"
builds.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit e7e3b86762ff3fccdae21e713c64215ab3bb7bb4)

4 years agotest/downloads: drop cram-0.5 tar ball
Kefu Chai [Sat, 23 Jan 2021 18:13:31 +0000 (02:13 +0800)]
test/downloads: drop cram-0.5 tar ball

since we install cram from github, drop the tarball from repo

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit d8cbe4eec11ef7f9fbbb61666b9ec7a262c1a85c)

4 years agotest/run-cli-tests: use cram from github
Kefu Chai [Sat, 23 Jan 2021 18:12:31 +0000 (02:12 +0800)]
test/run-cli-tests: use cram from github

to address the failure of

  WARNING: Built wheel for cram is invalid: Metadata 1.2 mandates PEP 440 version, but '0.5.0ceph.2011-01-14' is not
Failed to build cram

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit c74e614813d69ef38139e5e745873dc2a31b1c59)

4 years agomgr/orchestrator: disallow_untyped_defs = True 39021/head
Sebastian Wagner [Mon, 18 Jan 2021 15:02:38 +0000 (16:02 +0100)]
mgr/orchestrator: disallow_untyped_defs = True

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit c95ba878c66aae44816b1451049449685d444f0a)

4 years agopybind/mgr: disallow_untyped_defs=True for mgr_util
Sebastian Wagner [Tue, 5 Jan 2021 11:58:08 +0000 (12:58 +0100)]
pybind/mgr: disallow_untyped_defs=True for mgr_util

(increases test coverage a tiny bit)

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit e308bf8989556617985716aea0c3bfb5da95799f)

4 years agorbd: fix offset overflow on Windows
Lucian Petrut [Thu, 21 Jan 2021 12:13:04 +0000 (12:13 +0000)]
rbd: fix offset overflow on Windows

The rbd-wnbd daemon overflows when writing passed 4GB as the
offset field incorrectly uses uint32_t (initial versions of the
rbd-wnbd proposal used block increments).

This change updates the IO offset type to use uint64_t.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 784e0356cac3dbf4935ef5afe088d98e4a3577d8)

4 years agorbd: use ceph_memzero_s instead of explicit_bzero
Lucian Petrut [Wed, 20 Jan 2021 11:42:03 +0000 (11:42 +0000)]
rbd: use ceph_memzero_s instead of explicit_bzero

explicit_bzero isn't available on Windows. We'll use the portable
ceph_memzero_s function instead.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 4b94acad0c41d20cdae48e01fbbc1ae26229c75b)

4 years agocompat: add win32 endianness helpers
Lucian Petrut [Wed, 20 Jan 2021 11:40:35 +0000 (11:40 +0000)]
compat: add win32 endianness helpers

The new QCOW migration helpers are using functions such as "be64toh",
which aren't provided by MINGW, breaking the "rbd" tool on Windows.

We'll define those endianness related helpers in compat.h

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 057660aec9f7435f92ac32e3ee902d601b09b540)

4 years agocmake,win32*.sh: Windows DLL support
Lucian Petrut [Thu, 7 Jan 2021 13:14:00 +0000 (13:14 +0000)]
cmake,win32*.sh: Windows DLL support

At the moment, the Windows binaries can only be linked statically.
This is less than ideal since:

* the resulting binaries can be quite large, especially when
including debug symbols
* librados and librbd cannot be used directly by 3rd party apps
* the build duration is increased

In order to do a dynamic build, we'll:

* add an option to win32_build.sh
* fix link order
* dynamically link boost
* disable the "-pie" flag when using Mingw, which generates incorrect
  executable entry points
* by default, cmake generates import libs for executables. The issue
  is that for rados.exe, it generates librados.dll.a, thus overriding
  the librados.dll import library, which breaks the build process.
  We'll configure cmake to skip generating import libs for executables.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 5c008725db7c5b7ae22ae64e3b3e6309c501c6db)

4 years agorbd/bench: include used headers
Kefu Chai [Tue, 26 Jan 2021 08:08:43 +0000 (16:08 +0800)]
rbd/bench: include used headers

should help with fixing following failure:

src/tools/rbd/action/Bench.cc:20:26: error: aggregate 'std::atomic<bool>
terminating' has incomplete type and cannot be defined

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit f16ac13c13eceed7adb5a4a04a3372b921e63031)

4 years agospec: enable RWL/SSD caches
lixiaoy1 [Fri, 22 Jan 2021 16:07:40 +0000 (11:07 -0500)]
spec: enable RWL/SSD caches

Signed-off-by: Li, Xiaoyan <xiaoyan.li@intel.com>
(cherry picked from commit 12ca24fc26ba1f7ef153ad1c1fc0d86497405b32)

4 years agolibrbd: do not share crypto image layers with ancestors
Or Ozeri [Sun, 24 Jan 2021 07:32:44 +0000 (09:32 +0200)]
librbd: do not share crypto image layers with ancestors

This commit creates a unique crypto image dispatch per image,
instead of sharing a single object with all ancestors.
This should fix a seg-fault caused when closing an encrypted cloned image.

Signed-off-by: Or Ozeri <oro@il.ibm.com>
(cherry picked from commit 35c1dfe40917e714ea07377b9f20fd9cb80eebee)

4 years agotest/librbd: add luks encryption cli test
Or Ozeri [Thu, 21 Jan 2021 16:18:57 +0000 (18:18 +0200)]
test/librbd: add luks encryption cli test

This commit adds a cli test for rbd encryption verifying LUKS compatbility with cryptsetup

Signed-off-by: Or Ozeri <oro@il.ibm.com>
(cherry picked from commit 4f438f0dc35710ee3a6701a8431a01559a85361d)

4 years agolibrbd: use 512 sector size for crypto IV
Or Ozeri [Thu, 21 Jan 2021 15:51:23 +0000 (17:51 +0200)]
librbd: use 512 sector size for crypto IV

This commit aligns with the LUKS2 format which requires plain-64 mode IV
to be derived from the 512 bytes sector number

Signed-off-by: Or Ozeri <oro@il.ibm.com>
(cherry picked from commit b11d6285a7df780cf902e508dae03accf5ee8124)

4 years agomgr/orchestrator: disallow_untyped_defs = True
Sebastian Wagner [Mon, 18 Jan 2021 15:02:38 +0000 (16:02 +0100)]
mgr/orchestrator: disallow_untyped_defs = True

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit c95ba878c66aae44816b1451049449685d444f0a)

4 years agomgr/devicehealth: fix 'device monitoring on|off' return value
Sage Weil [Wed, 20 Jan 2021 18:34:55 +0000 (12:34 -0600)]
mgr/devicehealth: fix 'device monitoring on|off' return value

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 0ee2b2b807706c3e53d4edc7f2ca0211b2a454da)

4 years agocephadm: fix rgw osd cap tag
Patrick Donnelly [Thu, 14 Jan 2021 17:52:22 +0000 (09:52 -0800)]
cephadm: fix rgw osd cap tag

The syntax is "allow rwx tag rgw *=*'.

Sorry, I thought this would have gotten caught in testing :(

Fixes: 373cc847cf0f8b4ec7aefbfe64c01c3f18a4e021
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit de1efbd62b9258630c2a2d55bfd12034cc8b603f)

4 years agodoc: don't mention osdtimeout option in mount.ceph man page 39079/head
Ilya Dryomov [Sat, 23 Jan 2021 11:08:35 +0000 (12:08 +0100)]
doc: don't mention osdtimeout option in mount.ceph man page

It was deprecated over 8 years ago and will be entirely removed in
kernel 5.12.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit ed3913f02c3fa2f7a29f71e961742945e35b3b3d)

4 years agoqa/suites/krbd: add msgr2 modes to most subsuites 39078/head
Ilya Dryomov [Wed, 20 Jan 2021 15:00:18 +0000 (16:00 +0100)]
qa/suites/krbd: add msgr2 modes to most subsuites

basic, rbd and rbd-nomount subsuites are expanded to run with each
of ms_mode=legacy, ms_mode=crc and ms_mode=secure.  This increases
the total number of jobs in the suite from 100 to 220.

fsx, singleton and thrash subsuites choose ms_mode at random (from
the above plus ms_mode=prefer-crc).

unmap and wac subsuites remain msgr1-only.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 65948736a41f424d8152b208d013419f8d6038a4)

4 years agodoc: deprecate [no]cephx_require_signatures map options
Ilya Dryomov [Mon, 18 Jan 2021 13:29:27 +0000 (14:29 +0100)]
doc: deprecate [no]cephx_require_signatures map options

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit fd5f5722a29964bb33b305a381bcf9a48cdcbb47)

4 years agokrbd: add support for msgr2
Ilya Dryomov [Mon, 18 Jan 2021 12:49:49 +0000 (13:49 +0100)]
krbd: add support for msgr2

Recognize ms_mode map option and filter initial monitor addresses
accordingly: if ms_mode is not given or ms_mode=legacy, discard v2
addresses, otherwise discard v1 addresses.

Note that nothing was discarded (i.e. v2 addresses were passed to
the kernel) previously.  The intent was to preserve that behaviour
in case ms_mode is not given, allowing to change the kernel default
in the future.  However, it turns out that mount.ceph helper has
been misguidedly discarding v2 addresses since commit eae01275134e
("mount.ceph: fork a child to get info from local configuration"),
so that ship has sailed.

Fixes: https://tracker.ceph.com/issues/48976
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 08f714964b7fe5024504818f01328a41acc24965)

4 years agomgr/orchestrator: disallow_untyped_defs = True
Sebastian Wagner [Mon, 18 Jan 2021 15:02:38 +0000 (16:02 +0100)]
mgr/orchestrator: disallow_untyped_defs = True

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit c95ba878c66aae44816b1451049449685d444f0a)

4 years agocephadm: Don't make sysctl spam the log file
Sebastian Wagner [Thu, 14 Jan 2021 11:04:03 +0000 (12:04 +0100)]
cephadm: Don't make sysctl spam the log file

`sysctl -a` really spams the log file in Teuthology

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 70722a2efb5207f7d6fc7e8ecf4aab71e2a1a39d)

4 years agomgr/cephadm: fix ha-rgw removal
Adam King [Fri, 15 Jan 2021 01:04:27 +0000 (20:04 -0500)]
mgr/cephadm: fix ha-rgw removal

removing the ha-rgw service from a host was failing due to some
issues with daemon type <-> service type conversions

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 657027088e4d8be4789496020c034aa2837a07b7)

4 years agoqa/distros: add ubuntu 20.04 targets
Sage Weil [Sat, 23 Jan 2021 17:20:52 +0000 (11:20 -0600)]
qa/distros: add ubuntu 20.04 targets

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 24c2d2b1244d95c232f927dad1417717a2768ece)

4 years agoqa/distros: change ubuntu_latest to 20.04
Sage Weil [Sat, 23 Jan 2021 17:21:58 +0000 (11:21 -0600)]
qa/distros: change ubuntu_latest to 20.04

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit a07ca4c5c0f04c43c71231a898c2a89e99a80606)

4 years agoqa/workunits/cephadm/test_repos: adjust target version
Sage Weil [Sun, 24 Jan 2021 00:56:42 +0000 (18:56 -0600)]
qa/workunits/cephadm/test_repos: adjust target version

15.2.7 is available for 20.04; 15.1.1 is not

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 7fe3853af97120fc97406f5b8123bbaa4adc9c6e)

4 years agoqa/tests" removed 'mds" for now ref: https://tracker.ceph.com/issues/48994
Yuri Weinstein [Mon, 25 Jan 2021 22:36:05 +0000 (14:36 -0800)]
qa/tests" removed 'mds" for now ref: https://tracker.ceph.com/issues/48994

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
4 years agotools/bluestore: Add command 'show-sharding' to ceph-bluestore-tool 39067/head
Adam Kupczyk [Tue, 19 Jan 2021 14:07:16 +0000 (15:07 +0100)]
tools/bluestore: Add command 'show-sharding' to ceph-bluestore-tool

Add command 'show-sharding' to ceph-bluestore-tool.

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
(cherry picked from commit 882714e0c90e7c2492af47adf885141e57aee783)

4 years agokv/RocksDBStore: Fix ceph-bluestore-tool reshard command
Adam Kupczyk [Tue, 19 Jan 2021 10:46:17 +0000 (11:46 +0100)]
kv/RocksDBStore: Fix ceph-bluestore-tool reshard command

Fix ceph-bluestore-tool reshard command.
Add conditions that allow to continue resharding that was previously terminated.

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
(cherry picked from commit d93b5406affda68d1ae718d9a56f09fe404850fc)

4 years agoqa/tests: added 'parallel-no-cephadm'
Yuri Weinstein [Mon, 25 Jan 2021 19:07:03 +0000 (11:07 -0800)]
qa/tests: added 'parallel-no-cephadm'

...that will tests some workunits via old install task

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
4 years agoos/bluestore: be more protective in _deferred_queue 38989/head
Igor Fedotov [Wed, 20 Jan 2021 19:57:15 +0000 (22:57 +0300)]
os/bluestore: be more protective in _deferred_queue

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 6159a692d98e2316b65038e7e2ae0476f6f2ea53)

4 years agoqa/suites/rados/cephadm: add 20.04 targets
Sage Weil [Sat, 23 Jan 2021 17:26:06 +0000 (11:26 -0600)]
qa/suites/rados/cephadm: add 20.04 targets

Add 20.04 targets.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 8304bf6510c4477cbde438a39a9eb9f60dfd5772)

4 years agoqa/suites/rados/cephadm: add 20.04 target
Sage Weil [Sat, 23 Jan 2021 17:23:13 +0000 (11:23 -0600)]
qa/suites/rados/cephadm: add 20.04 target

Link directly to the distro version... no need to use _latest here since
it obscures the podman vs docker difference.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 170dd14af4f72bdac2a43742d11fa194c84819f5)

4 years agocephadm: fix 2> syntax in unit.run
Sage Weil [Thu, 21 Jan 2021 15:10:51 +0000 (09:10 -0600)]
cephadm: fix 2> syntax in unit.run

We need a space between the command (which ends with a container name)
and the 2> or else the 2 is considered part of the command.  E.g.,

! /usr/bin/podman rm -f ceph-a9a8c7ee-5b72-11eb-8f93-001a4aab830c-mon.a2> /dev/null

Fixes: 1bed46e4b0094863a119df59c6ae5f254c2e211d
Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit ce4743f72e6c7eea9514b8c9b6c20309fea5d455)

4 years agomgr/cephadm: Minor pep8 fix
Sebastian Wagner [Fri, 22 Jan 2021 10:32:40 +0000 (11:32 +0100)]
mgr/cephadm: Minor pep8 fix

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 2df47b88abd00aeee9153e8f9404b33f0c3a1d13)

4 years agomgr/cephadm: mypy says: dd.status can be None
Sebastian Wagner [Fri, 22 Jan 2021 10:32:31 +0000 (11:32 +0100)]
mgr/cephadm: mypy says: dd.status can be None

`DaemonDescription.status` is annotated
as `Optional[int]` and thus can be `None`

This is a conflict between c95ba878c66aae44816b1451049449685d444f0a
and 01f60cf4e0a751c314120c02956d4ff941eb71b4

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit fb1976950372502c5d3dcfee86288724771cffbf)

4 years agoqa/suites/rados/cephadm/upgrade: avoid allow_ptrace with old cephadm
Sage Weil [Tue, 19 Jan 2021 19:33:25 +0000 (13:33 -0600)]
qa/suites/rados/cephadm/upgrade: avoid allow_ptrace with old cephadm

Older cephadm is not smart enough to not combine --cap-add=SYS_PTRACE
and --privileged, which some version of podman cannot handle.

For upgrades, leave off the allow_ptrace behavior since we may be starting
on one of those old versions.

See also https://tracker.ceph.com/issues/46429

Fixes: https://tracker.ceph.com/issues/48142
Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 9eef1bcced3e04fada1b64779c549239f4eb7670)

4 years agocephadm: fix stuff
Joao Eduardo Luis [Wed, 20 Jan 2021 12:46:52 +0000 (11:46 -0100)]
cephadm: fix stuff

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 9e81a5dfc5abdd8caeecf42faa17111fc309b8d3)

4 years agocephadm: annotate variable type for mypy
Joao Eduardo Luis [Sat, 16 Jan 2021 15:33:43 +0000 (14:33 -0100)]
cephadm: annotate variable type for mypy

mypy was complaining about the type of the variable being None, later on
on assignment with an int.

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 4fa175e96783f698f5b1e78515fef0016e4e026e)

4 years agocephadm/test: support context class
Joao Eduardo Luis [Thu, 14 Jan 2021 15:35:33 +0000 (14:35 -0100)]
cephadm/test: support context class

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 5178403833dc446e198bd19cbde3ce218bdb4547)

4 years agocephadm: have context handle config options
Joao Eduardo Luis [Fri, 15 Jan 2021 10:55:04 +0000 (09:55 -0100)]
cephadm: have context handle config options

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit c785dc56796068b5e430ad199168b44efd941ccb)

4 years agocephadm: drop ctx class from where we don't need it
Joao Eduardo Luis [Thu, 14 Jan 2021 15:34:55 +0000 (14:34 -0100)]
cephadm: drop ctx class from where we don't need it

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit b56eb958dfef75d7e181fdbaae9a7817887a0b6a)

4 years agocephadm/bootstrap: move mon net discovery to function
Joao Eduardo Luis [Thu, 31 Dec 2020 01:55:25 +0000 (01:55 +0000)]
cephadm/bootstrap: move mon net discovery to function

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit bc256983c119d5d91576e659d56af267af37b760)

4 years agocephadm: don't forget ipv6 behind
Joao Eduardo Luis [Thu, 31 Dec 2020 01:48:42 +0000 (01:48 +0000)]
cephadm: don't forget ipv6 behind

Fixes a bug introduced earlier in the patchset. It's just too hard to go
back and fix it up with the right commit.

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 13addf6f54ff256206679283e5bf0c9f0b0b8e04)

4 years agocephadm: split-off config work on bootstrap
Joao Eduardo Luis [Thu, 31 Dec 2020 01:44:44 +0000 (01:44 +0000)]
cephadm: split-off config work on bootstrap

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit b5e9c81321f9195801a794de03d02ec4f9499ba6)

4 years agocephadm: split-off dashboard setup on bootstrap
Joao Eduardo Luis [Thu, 31 Dec 2020 01:28:05 +0000 (01:28 +0000)]
cephadm: split-off dashboard setup on bootstrap

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 4d30ee7e5dafc1736375b0538e379ff4b25ec52a)

4 years agocephadm: split-off ssh preparations on bootstrap
Joao Eduardo Luis [Thu, 31 Dec 2020 01:21:05 +0000 (01:21 +0000)]
cephadm: split-off ssh preparations on bootstrap

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 9ef0a6792633d246c77077685a4f3f2d9001b501)

4 years agocephadm: split-off mgr creation
Joao Eduardo Luis [Thu, 31 Dec 2020 01:07:55 +0000 (01:07 +0000)]
cephadm: split-off mgr creation

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 60329c6be3bc2cefe32108068597ecb6dff39220)

4 years agocephadm: split mon prepare and create
Joao Eduardo Luis [Thu, 31 Dec 2020 01:05:48 +0000 (01:05 +0000)]
cephadm: split mon prepare and create

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 1dd2dcc8ed98a6ffb7c23d059dc09ebc7229814c)

4 years agocephadm: move configuration out of the way
Joao Eduardo Luis [Thu, 31 Dec 2020 00:41:48 +0000 (00:41 +0000)]
cephadm: move configuration out of the way

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit adc58849feac24d61c110f8252a30cdb7fa57af3)

4 years agocephadm/bootstrap: spin-off waiting for mon
Joao Eduardo Luis [Wed, 30 Dec 2020 19:29:19 +0000 (19:29 +0000)]
cephadm/bootstrap: spin-off waiting for mon

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 6cab3f02aadf8e20bb3064a1a52fa5892ff38f85)

4 years agocephadm: split some of bootstrap to other functions
Joao Eduardo Luis [Wed, 30 Dec 2020 19:19:03 +0000 (19:19 +0000)]
cephadm: split some of bootstrap to other functions

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 6dec4d500817e14618682b336faba25f2df23fe6)

4 years agocephadm: fix linting/types issues
Joao Eduardo Luis [Wed, 30 Dec 2020 13:23:32 +0000 (13:23 +0000)]
cephadm: fix linting/types issues

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit b3b6639b7f91c3d9463c8be2d970f09785b94630)

4 years agocephadm: split main into an init function
Joao Eduardo Luis [Wed, 30 Dec 2020 10:22:30 +0000 (10:22 +0000)]
cephadm: split main into an init function

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 3afec2ab30c1ba0162d210d3e36773b93667a350)

4 years agocephadm: introduce context, drop global variables
Joao Eduardo Luis [Tue, 29 Dec 2020 19:23:01 +0000 (19:23 +0000)]
cephadm: introduce context, drop global variables

Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit da309f21da880572653b39b7ea1e891cc00e9581)

4 years agomgr/cephadm: raise HEALTH_WARN when cephadm daemon in 'error' state
Sage Weil [Tue, 19 Jan 2021 22:49:08 +0000 (16:49 -0600)]
mgr/cephadm: raise HEALTH_WARN when cephadm daemon in 'error' state

If cephadm daemons are not happy we should raise a warning.  Aside from
being an important part of the user experience, this will also help us
catch teuthology test errors.

Fixes: https://tracker.ceph.com/issues/45628
Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 01f60cf4e0a751c314120c02956d4ff941eb71b4)

4 years agomgr/cephadm: fix host maintenance health check update
Sage Weil [Tue, 19 Jan 2021 22:31:25 +0000 (16:31 -0600)]
mgr/cephadm: fix host maintenance health check update

We need to update the self.health_checks dict and use that or else we
will clobber any other exising checks.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 315f58bee20154a7e83cb65f301dce4e22f9c9f6)

4 years agocephadm: latest stable release is now pacific
Sage Weil [Tue, 19 Jan 2021 16:12:58 +0000 (10:12 -0600)]
cephadm: latest stable release is now pacific

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit da803ea8a7aee1bfce0089a4cff722cff3230104)

4 years agomgr/orchestrator: ignore Liskov substitution principle violation
Sebastian Wagner [Mon, 18 Jan 2021 15:27:18 +0000 (16:27 +0100)]
mgr/orchestrator: ignore Liskov substitution principle violation

Right now, we're violating the Liskov substitution principle by deriving from `Orchestrator` but `process` takes a sub class of `Completion`:
See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides

The idea is to make Orchestrator a type constructor with `CompletionT` as argument, but this is not supported by mypy: https://github.com/python/typing/issues/548

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 9923d2a1193c374b9c2e00b5ee69023cb72a9f00)

4 years agomgr/orchestrator: disallow_untyped_defs = True
Sebastian Wagner [Mon, 18 Jan 2021 15:02:38 +0000 (16:02 +0100)]
mgr/orchestrator: disallow_untyped_defs = True

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit c95ba878c66aae44816b1451049449685d444f0a)

4 years agocephadm: Fix node-exporter deployment.
Sebastian Wagner [Mon, 18 Jan 2021 11:33:36 +0000 (12:33 +0100)]
cephadm: Fix node-exporter deployment.

Fixes: 2ce828d5f3682d3eee61e4a4a07a9eedb6a3d04e
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 6f7e01ee89b582b02cab141b9f5c08215c4c8d47)

4 years agoqa/cephadm: Add yaml output to smoke test
Sebastian Wagner [Mon, 18 Jan 2021 11:27:14 +0000 (12:27 +0100)]
qa/cephadm: Add yaml output to smoke test

this will provide a more detailed output, like

```yaml
...snip...
service_type: node-exporter
service_name: node-exporter
placement:
  host_pattern: '*'
status:
  created: '2021-01-18T11:21:56.024810Z'
  last_refresh: '2021-01-18T11:23:24.477672Z'
  running: 0
  size: 1
events:
- "2021-01-18T11:23:09.602644Z service:node-exporter [ERROR] \"Failed while placing\
  \ node-exporter.ubuntuon ubuntu: cephadm exited with an error code: 1, stderr:Deploy\
  \ daemon node-exporter.ubuntu ...\nVerifying port 9100 ...\nTraceback (most recent\
  \ call last):\n  File \"<stdin>\", line 7274, in <module>\n  File \"<stdin>\", line\
  \ 1563, in _default_image\n  File \"<stdin>\", line 3698, in command_deploy\n  File\
  \ \"<stdin>\", line 2338, in deploy_daemon\n  File \"<stdin>\", line 1961, in create_daemon_dirs\n\
  AssertionError\""
...snip...
```

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 88c6c34e2ba32e38c7fca93722737c3b4d31fe6c)

4 years agoMerge pull request #39023 from dillaman/wip-48882-pacific
Mykola Golub [Sat, 23 Jan 2021 08:50:58 +0000 (10:50 +0200)]
Merge pull request #39023 from dillaman/wip-48882-pacific

pacific: librbd: bump minor version to match pacific

Reviewed-by: Mykola Golub <mgolub@suse.com>
4 years agoMerge pull request #39033 from dillaman/wip-ssd-doc-pacific
Mykola Golub [Sat, 23 Jan 2021 08:50:33 +0000 (10:50 +0200)]
Merge pull request #39033 from dillaman/wip-ssd-doc-pacific

pacific: doc: update rwl doc to include ssd config

Reviewed-by: Mykola Golub <mgolub@suse.com>
4 years agoMerge pull request #39014 from kotreshhr/revert-removal-ceph-volume-client-pacific
Ramana Raja [Fri, 22 Jan 2021 21:26:18 +0000 (02:56 +0530)]
Merge pull request #39014 from kotreshhr/revert-removal-ceph-volume-client-pacific

pacific: Revert "*: remove legacy ceph_volume_client.py library"

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #38994 from liewegas/fix-interactive-error-pacific
Josh Durgin [Fri, 22 Jan 2021 21:06:00 +0000 (13:06 -0800)]
Merge pull request #38994 from liewegas/fix-interactive-error-pacific

pacific: qa/tasks/ceph:  do not update info.yaml if ctx.archive is not set

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agodoc: update rwl doc to include ssd config 39033/head
Mahati Chamarthy [Fri, 22 Jan 2021 05:25:29 +0000 (10:55 +0530)]
doc: update rwl doc to include ssd config

... options.

Signed-off-by: Mahati Chamarthy <mahati.chamarthy@intel.com>
(cherry picked from commit 23327ce374706514b784d1842cdec3779e244c81)

4 years agomgr/devicehealth: fix 'device monitoring on|off' return value 39030/head
Sage Weil [Wed, 20 Jan 2021 18:34:55 +0000 (12:34 -0600)]
mgr/devicehealth: fix 'device monitoring on|off' return value

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 0ee2b2b807706c3e53d4edc7f2ca0211b2a454da)