]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agoqa: move fsx deps into common cephfs install yaml 34912/head
Patrick Donnelly [Tue, 5 May 2020 16:25:07 +0000 (09:25 -0700)]
qa: move fsx deps into common cephfs install yaml

The double install task causes errors during unwind.

Fixes: fe3961fc36e4d0af896fe140ba2450e1556ab563
Fixes: https://tracker.ceph.com/issues/45387
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit d791daa732e122c4b81ec5693eeb3971a87199cb)

5 years agoMerge pull request #34797 from smithfarm/wip-45207-octopus
Josh Durgin [Mon, 4 May 2020 20:55:31 +0000 (13:55 -0700)]
Merge pull request #34797 from smithfarm/wip-45207-octopus

octopus: ceph-object-corpus: update to octopus

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 years agoMerge pull request #34790 from smithfarm/wip-drop-is_opensuse-octopus
Yuri Weinstein [Mon, 4 May 2020 20:34:38 +0000 (13:34 -0700)]
Merge pull request #34790 from smithfarm/wip-drop-is_opensuse-octopus

octopus: rpm: drop "is_opensuse" conditional in SUSE-specific bcond block

Reviewed-by: Tim Serong <tserong@suse.com>
5 years agoMerge pull request #34610 from ifed01/wip-ifed-better-bluefs-expand-octopus
Yuri Weinstein [Mon, 4 May 2020 20:32:11 +0000 (13:32 -0700)]
Merge pull request #34610 from ifed01/wip-ifed-better-bluefs-expand-octopus

octopus: os/bluestore: open DB in read-only when expanding DB/WAL

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
5 years agoMerge pull request #34830 from smithfarm/wip-45314-octopus
Yuri Weinstein [Mon, 4 May 2020 20:13:27 +0000 (13:13 -0700)]
Merge pull request #34830 from smithfarm/wip-45314-octopus

octopus: qa/standalone/scrub/osd-scrub-repair.sh: fix race in TEST_auto_repair_bluestore_failed

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #34809 from smithfarm/wip-45041-octopus
Yuri Weinstein [Mon, 4 May 2020 20:12:56 +0000 (13:12 -0700)]
Merge pull request #34809 from smithfarm/wip-45041-octopus

octopus: osd/PrimaryLogPG: fix SPARSE_READ stat

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #34807 from smithfarm/wip-44842-octopus
Yuri Weinstein [Mon, 4 May 2020 20:11:51 +0000 (13:11 -0700)]
Merge pull request #34807 from smithfarm/wip-44842-octopus

octopus: osd/PeeringState: do not trim pg log past last_update_ondisk

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
5 years agoMerge pull request #34806 from smithfarm/wip-44685-octopus
Yuri Weinstein [Mon, 4 May 2020 20:10:51 +0000 (13:10 -0700)]
Merge pull request #34806 from smithfarm/wip-44685-octopus

octopus: qa/standalone/osd/osd-backfill-stats.sh: get_latest_osdmap to propagate map change

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #34353 from neha-ojha/wip-44757-octopus
Yuri Weinstein [Mon, 4 May 2020 20:09:57 +0000 (13:09 -0700)]
Merge pull request #34353 from neha-ojha/wip-44757-octopus

octopus: common/options: Disable bluefs_buffered_io by default again.

Reviewed-by: Vikhyat Umrao <vikhyat@redhat.com>
5 years agoMerge pull request #34795 from smithfarm/wip-45044-octopus
Yuri Weinstein [Mon, 4 May 2020 19:34:37 +0000 (12:34 -0700)]
Merge pull request #34795 from smithfarm/wip-45044-octopus

octopus: os/bluestore: Don't pollute old journal when add new device

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
5 years agoMerge pull request #34739 from votdev/wip-45262-octopus
Yuri Weinstein [Mon, 4 May 2020 15:49:32 +0000 (08:49 -0700)]
Merge pull request #34739 from votdev/wip-45262-octopus

octopus: mgr/dashboard: RGW auto refresh is not working

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoMerge pull request #34742 from sebastian-philipp/octopus-backport-34691-34600-34620...
Abhishek L [Mon, 4 May 2020 15:35:59 +0000 (17:35 +0200)]
Merge pull request #34742 from sebastian-philipp/octopus-backport-34691-34600-34620-34674-34678-34673-34675-34693-34619

octopus: cephadm: Batch backport April (3)

Reviewed-By: Michael Fritch <mfritch@suse.com>
5 years agoMerge pull request #34793 from smithfarm/wip-45063-octopus
Yuri Weinstein [Thu, 30 Apr 2020 23:13:08 +0000 (16:13 -0700)]
Merge pull request #34793 from smithfarm/wip-45063-octopus

octopus: os/bluestore: fix 'unused' calculation

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
5 years agoMerge pull request #34734 from smithfarm/wip-45259-octopus
Yuri Weinstein [Thu, 30 Apr 2020 20:56:04 +0000 (13:56 -0700)]
Merge pull request #34734 from smithfarm/wip-45259-octopus

octopus: rgw: reshard: skip stale bucket id entries from reshard queue

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #34825 from smithfarm/wip-44895-octopus
Yuri Weinstein [Thu, 30 Apr 2020 19:19:29 +0000 (12:19 -0700)]
Merge pull request #34825 from smithfarm/wip-44895-octopus

octopus: rgw: pubsub sync module ignores ERR_USER_EXIST

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #34826 from smithfarm/wip-45052-octopus
Yuri Weinstein [Thu, 30 Apr 2020 19:18:39 +0000 (12:18 -0700)]
Merge pull request #34826 from smithfarm/wip-45052-octopus

octopus: rgw: Disable prefetch of entire head object when GET request with range header

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #34819 from idryomov/wip-krbd-unmap-spacing-octopus
Yuri Weinstein [Thu, 30 Apr 2020 15:21:57 +0000 (08:21 -0700)]
Merge pull request #34819 from idryomov/wip-krbd-unmap-spacing-octopus

octopus: tests: update unmap.t for table spacing changes

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #34810 from smithfarm/wip-45047-octopus
Yuri Weinstein [Thu, 30 Apr 2020 15:20:36 +0000 (08:20 -0700)]
Merge pull request #34810 from smithfarm/wip-45047-octopus

octopus: rbd-mirror: improved replication statistics

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #34425 from smithfarm/wip-44839-octopus
Yuri Weinstein [Thu, 30 Apr 2020 15:19:43 +0000 (08:19 -0700)]
Merge pull request #34425 from smithfarm/wip-44839-octopus

octopus: pybind/rbd: ensure image is open before permitting operations

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
5 years agoos/bluestore: invoke _prepare_ondisk_format_super as the last op 34610/head
Igor Fedotov [Fri, 17 Apr 2020 16:26:29 +0000 (19:26 +0300)]
os/bluestore: invoke _prepare_ondisk_format_super as the last op

Fixes: https://tracker.ceph.com/issues/45133
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit e792e19331d7cde91b0e8601fd33c41765a10232)

5 years agoMerge pull request #34626 from shyukri/wip-45042-octopus
Yuri Weinstein [Wed, 29 Apr 2020 16:34:17 +0000 (09:34 -0700)]
Merge pull request #34626 from shyukri/wip-45042-octopus

octopus: mgr/PyModule: fix missing tracebacks in handle_pyerror()

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 years agoMerge pull request #34629 from shyukri/wip-45069-octopus
Yuri Weinstein [Wed, 29 Apr 2020 16:26:04 +0000 (09:26 -0700)]
Merge pull request #34629 from shyukri/wip-45069-octopus

octopus: mgr/telegraf: catch FileNotFoundError exception

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #34731 from smithfarm/wip-45215-octopus
Yuri Weinstein [Wed, 29 Apr 2020 15:32:33 +0000 (08:32 -0700)]
Merge pull request #34731 from smithfarm/wip-45215-octopus

octopus: rgw: use DEFER_DROP_PRIVILEGES flag unconditionally

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #34758 from callithea/wip-45272-octopus
Lenz Grimmer [Wed, 29 Apr 2020 14:56:46 +0000 (16:56 +0200)]
Merge pull request #34758 from callithea/wip-45272-octopus

Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
5 years agoMerge pull request #34759 from callithea/wip-45280-octopus
Lenz Grimmer [Wed, 29 Apr 2020 14:55:23 +0000 (16:55 +0200)]
Merge pull request #34759 from callithea/wip-45280-octopus

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoqa/*/osd-scrub-repair.sh: don't fail if PG is in active+clean+wait 34830/head
Neha Ojha [Thu, 23 Apr 2020 20:24:28 +0000 (20:24 +0000)]
qa/*/osd-scrub-repair.sh: don't fail if PG is in active+clean+wait

a0b453ad335671bd92f165115d6ee984d2412448 added the wait state, which can
make PGs stay in active+clean+wait for a while instead of going into
active+clean directly. As far as TEST_auto_repair_bluestore_failed is
concerned, we only care about the repair state being cleared.

Fixes: https://tracker.ceph.com/issues/45075
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit 7c8b627eaa478a97b5694704170336ed4fc40666)

Conflicts:
qa/standalone/scrub/osd-scrub-repair.sh

5 years agoqa/standalone/scrub/osd-scrub-repair.sh: fix race in TEST_auto_repair_bluestore_failed
Neha Ojha [Thu, 16 Apr 2020 23:00:23 +0000 (23:00 +0000)]
qa/standalone/scrub/osd-scrub-repair.sh: fix race in TEST_auto_repair_bluestore_failed

We need to flush_pg_stats before checking for active+clean.

Fixed: https://tracker.ceph.com/issues/45075
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit 4f82ebf41b0150a77083c665e7cac8678a31fb09)

Conflicts:
        qa/standalone/scrub/osd-scrub-repair.sh

5 years agorbd-mirror: skip snapshot image sync if mirror snapshot is marked clean 34810/head
Jason Dillaman [Wed, 22 Apr 2020 17:51:58 +0000 (13:51 -0400)]
rbd-mirror: skip snapshot image sync if mirror snapshot is marked clean

This is currently only utilized for the case where a newly created image
has mirroring enabled at time of creation, but it could be expanded in the
future if we track writes.

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

5 years agolibrbd: EnableRequest now accepts a boolean to indicate a clean image
Jason Dillaman [Wed, 22 Apr 2020 15:57:45 +0000 (11:57 -0400)]
librbd: EnableRequest now accepts a boolean to indicate a clean image

If the image is clean, it's treated as if it was newly created and
therefore clean since snapshot id 0. The CreateRequest and
CloneRequest state machines pass true for this bool if mirroring
is being enabled during creation.

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

5 years agolibrbd: pass clean_since_snap_id to CreatePrimaryRequest
Jason Dillaman [Wed, 22 Apr 2020 15:42:17 +0000 (11:42 -0400)]
librbd: pass clean_since_snap_id to CreatePrimaryRequest

This will be stored in the primary MirrorSnapshotNamespace for use by
the rbd-mirror snapshot replayer.

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

5 years agocls/rbd: added clean_since_snap_id to MirrorSnapshotNamespace
Jason Dillaman [Tue, 21 Apr 2020 15:07:30 +0000 (11:07 -0400)]
cls/rbd: added clean_since_snap_id to MirrorSnapshotNamespace

It is only valid for primary snapshots so we can re-use the space
previously used by the primary_snap_id without the need to bump the
version id.

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

5 years agorbd: add '--mirror-image-mode' optional to image creation actions
Jason Dillaman [Tue, 21 Apr 2020 00:37:56 +0000 (20:37 -0400)]
rbd: add '--mirror-image-mode' optional to image creation actions

This allows the user to enable mirroring while creating, cloning,
copying, importing, or migrating an image.

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

5 years agolibrbd: save requested mirror image mode during migration prepare
Jason Dillaman [Mon, 20 Apr 2020 23:34:57 +0000 (19:34 -0400)]
librbd: save requested mirror image mode during migration prepare

Once the migration is committed, the requested mode will be applied.

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

5 years agolibrbd: permit mirroring to be enabled upon image cloning
Jason Dillaman [Mon, 20 Apr 2020 22:50:43 +0000 (18:50 -0400)]
librbd: permit mirroring to be enabled upon image cloning

The librbd clone API's ImageOptions parameter now supports passing
the mirror image mode.

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

5 years agolibrbd: add non-primary global image id to mirror enable
Jason Dillaman [Mon, 20 Apr 2020 22:33:32 +0000 (18:33 -0400)]
librbd: add non-primary global image id to mirror enable

The constructor that took an ImageCtx did not support passing the
non-primary global image id and instead defaulted to an empty string.

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

5 years agolibrbd: permit mirroring to be enabled upon image creation
Jason Dillaman [Mon, 20 Apr 2020 21:04:02 +0000 (17:04 -0400)]
librbd: permit mirroring to be enabled upon image creation

The librbd create API's ImageOptions parameter now supports passing
the mirror image mode.

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

5 years agolibrbd: mirror enable state machine might need to open image
Jason Dillaman [Mon, 20 Apr 2020 22:16:40 +0000 (18:16 -0400)]
librbd: mirror enable state machine might need to open image

If attempting to create a snapshot-based mirroring primary snapshot,
the image needs to first be opened. If we weren't supplied an image,
open the image, create the snapshot, and close the image again.

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

5 years agolibrbd: pass bit-flags to image::CreateRequest
Jason Dillaman [Mon, 20 Apr 2020 19:23:53 +0000 (15:23 -0400)]
librbd: pass bit-flags to image::CreateRequest

The current boolean for skip enable mirror will be able to be changed to
a tri-state to force enable mirror (in addition to the current auto-enable
if in pool-mode).

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

5 years agorgw: Disable prefetch of entire head object when GET request with range header 34826/head
Or Friedmann [Sun, 8 Mar 2020 13:34:48 +0000 (15:34 +0200)]
rgw: Disable prefetch of entire head object when GET request with range header

Disable prefetch of entire head object when GET request with range header.
The current behavior for the RGW is getting the whole object although the client asked only for a small bytes offset.
For example: If the client asked for bytes=0-1, The RGW will anyway fetch 0-4194304

Fixes: https://tracker.ceph.com/issues/44508
Signed-off-by: Or Friedmann <ofriedma@redhat.com>
(cherry picked from commit 2be5af0006169cb54547034aa98b7eacb8751d59)

5 years agorgw: pubsub sync module ignores ERR_USER_EXIST 34825/head
Casey Bodley [Tue, 31 Mar 2020 14:46:33 +0000 (10:46 -0400)]
rgw: pubsub sync module ignores ERR_USER_EXIST

otherwise, this error gets returned by RGWPSDataSyncModule::start_sync()
and data sync fails to start

Fixes: https://tracker.ceph.com/issues/44857
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 768c9f3839c682cb3f92745396773faa96b18a9f)

5 years agoqa/workunits/rbd: fix peer_add helper
Mykola Golub [Tue, 28 Apr 2020 16:04:43 +0000 (17:04 +0100)]
qa/workunits/rbd: fix peer_add helper

We need to temporary disable "exit on error" mode so it does not
abort when `rbd mirror pool peer add` returns "already exists"
error code.

Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 1ad816ae0c2d4f0db3d26e0ae993947154bab6c8)

5 years agoqa/workunits/rbd: retry the addition of a mirror pool peer
Mykola Golub [Sat, 25 Apr 2020 07:36:25 +0000 (08:36 +0100)]
qa/workunits/rbd: retry the addition of a mirror pool peer

fb4311f5 has fixed this for setup, but "remove mirroring pool"
test needs fixing too.

Fixes: https://tracker.ceph.com/issues/44938
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 7eced158a9a3c47cc408b35219b4428e97e018fb)

5 years agotests: update unmap.t for table spacing changes 34819/head
Ilya Dryomov [Thu, 9 Apr 2020 10:41:34 +0000 (12:41 +0200)]
tests: update unmap.t for table spacing changes

Introduced in 4d42b4c5a0ed ("common/TextTable: default to 2 spaces
separating columns") and 41f003518a07 ("common/TextTable: only pad
between columns").

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

5 years agorbd-mirror: track in-flight start/stop/restart in instance replayer
Jason Dillaman [Fri, 17 Apr 2020 15:17:05 +0000 (11:17 -0400)]
rbd-mirror: track in-flight start/stop/restart in instance replayer

The shut down waits for in-flight ops to complete but the
start/stop/restart operations were previously not tracked. This
could cause a potential race and crash between an image replayer
operation and the instance replayer shutting down.

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

5 years agorbd-mirror: switch to common C_TrackedOp context class
Jason Dillaman [Fri, 17 Apr 2020 14:20:44 +0000 (10:20 -0400)]
rbd-mirror: switch to common C_TrackedOp context class

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

5 years agocommon: add helper C_TrackerOp context class
Jason Dillaman [Fri, 17 Apr 2020 14:02:10 +0000 (10:02 -0400)]
common: add helper C_TrackerOp context class

This wraps the functionality of starting and finishing a tracked op
into the standard context interface.

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

5 years agorbd-mirror: utilize structured binding in 'for' loop
Jason Dillaman [Tue, 14 Apr 2020 22:05:59 +0000 (18:05 -0400)]
rbd-mirror: utilize structured binding in 'for' loop

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

5 years agorbd-mirror: unlink from remote snapshot if required
Jason Dillaman [Wed, 8 Apr 2020 02:12:19 +0000 (22:12 -0400)]
rbd-mirror: unlink from remote snapshot if required

If a previous remote snapshot was synced but the unlink failed,
ensure we retry the unlink so that the remote can cleanup the unused
snapshot.

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

5 years agorbd-mirror: prune unnecessary non-primary mirror snapshots
Jason Dillaman [Mon, 6 Apr 2020 20:46:52 +0000 (16:46 -0400)]
rbd-mirror: prune unnecessary non-primary mirror snapshots

Once a non-primary snapshot is no longer required for syncing, delete it
from the image.

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

5 years agorbd-mirror: propagate full snap-seq mapping in non-primary snapshots
Jason Dillaman [Mon, 6 Apr 2020 20:21:35 +0000 (16:21 -0400)]
rbd-mirror: propagate full snap-seq mapping in non-primary snapshots

Previously only newly created user snapshots were included in the
non-primary snapshot snap-seq mapping table. However, we need to
retain a full history of the mapping table if we want to be able to
prune non-primary snapshots.

Failovers are a special case since we won't have a valid snap seq mapping
so it will need to be rebuilt. Luckily, both sides should be read-only
in the previous state so we can use the snapshot names to find matches.

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

5 years agorbd-mirror: ignore non-primary read-only state for remote images
Jason Dillaman [Tue, 7 Apr 2020 23:12:03 +0000 (19:12 -0400)]
rbd-mirror: ignore non-primary read-only state for remote images

snapshot-based mirroring needs to be able to potentially delete a
demotion snapshot during the unlink process. Previously, these
snapshots have been left while the read-only error was ignored.

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

5 years agorbd: fix missing space when listing non-primary mirror snapshots
Jason Dillaman [Tue, 7 Apr 2020 23:11:42 +0000 (19:11 -0400)]
rbd: fix missing space when listing non-primary mirror snapshots

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

5 years agolibrbd: fixed race condition on demotion of snapshot-based mirrored image
Jason Dillaman [Thu, 9 Apr 2020 03:06:05 +0000 (23:06 -0400)]
librbd: fixed race condition on demotion of snapshot-based mirrored image

A pending refresh could occur after setting the non-primary feature flag but
before the creation of the demotion snapshot. This would prevent the snapshot
from being created and would leave the image in a half-primary state.

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

5 years agolibrbd: store mirror peer uuids in non-primary demoted snapshots
Jason Dillaman [Wed, 8 Apr 2020 23:41:23 +0000 (19:41 -0400)]
librbd: store mirror peer uuids in non-primary demoted snapshots

This will allow a remote rbd-mirror process to have a snapshot to use for
delta sync operations during failover.

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

5 years agolibrbd: additional debug logs for mirror snapshot unlink peer
Jason Dillaman [Wed, 8 Apr 2020 21:50:59 +0000 (17:50 -0400)]
librbd: additional debug logs for mirror snapshot unlink peer

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

5 years agotest/rbd-mirror: fix gmock warnings during snapshot-based replayer tests
Jason Dillaman [Mon, 6 Apr 2020 18:37:04 +0000 (14:37 -0400)]
test/rbd-mirror: fix gmock warnings during snapshot-based replayer tests

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

5 years agorbd-mirror: fixed race condition with snapshot sync and shutdown
Jason Dillaman [Tue, 7 Apr 2020 16:13:46 +0000 (12:13 -0400)]
rbd-mirror: fixed race condition with snapshot sync and shutdown

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

5 years agorbd-mirror: add snapshot-based replay performance metrics
Jason Dillaman [Fri, 3 Apr 2020 17:11:27 +0000 (13:11 -0400)]
rbd-mirror: add snapshot-based replay performance metrics

The mirror image status for replaying snapshot-based images now includes
bytes per second and per snapshot, in addition to an estimated number of
seconds until the image is fully synced.

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

5 years agorbd-mirror: switch to json_spirit formatter for snapshot image status
Jason Dillaman [Thu, 2 Apr 2020 17:43:09 +0000 (13:43 -0400)]
rbd-mirror: switch to json_spirit formatter for snapshot image status

This will make it cleaner and easier to add additional data fields
to the existing JSON replaying status.

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

5 years agorbd-mirror: add journal-based replay performance metrics
Jason Dillaman [Wed, 1 Apr 2020 23:24:15 +0000 (19:24 -0400)]
rbd-mirror: add journal-based replay performance metrics

The mirror image status for replaying journal-based images now includes
bytes and entries per second in addition to an estimated number of seconds
until the image is fully synced.

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

5 years agorbd-mirror: switch to json_spirit formatter for journal image status
Jason Dillaman [Wed, 1 Apr 2020 19:26:39 +0000 (15:26 -0400)]
rbd-mirror: switch to json_spirit formatter for journal image status

The free-form journal replay status description is now JSON-encoded. The
"master"/"mirror" designators have been changed to "primary"/"non_primary"
to better align with RBD terminology.

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

5 years agorbd-mirror: periodically poll image replayer status
Jason Dillaman [Thu, 2 Apr 2020 18:50:37 +0000 (14:50 -0400)]
rbd-mirror: periodically poll image replayer status

When metrics are incorporated, there might not be a forced status update
if no new data is available to replicate. However, we will want the metrics
to decrease over time.

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

5 years agolibrbd: pass bytes-read statistics from deep-copy through handler
Jason Dillaman [Fri, 3 Apr 2020 19:24:14 +0000 (15:24 -0400)]
librbd: pass bytes-read statistics from deep-copy through handler

These simple stats will be utilized by rbd-mirror to compute throughput
metrics for snapshot-based mirroring.

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

5 years agolibrbd: pass specialized handler interface to deep-copy
Jason Dillaman [Fri, 3 Apr 2020 15:12:48 +0000 (11:12 -0400)]
librbd: pass specialized handler interface to deep-copy

The initial version mimics the existing ProgressContext callback
interface. Later commits will add additional deep-copy unique methods.

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

5 years agoosd/PrimaryLogPG: fix SPARSE_READ stat 34809/head
Yan Jun [Fri, 27 Mar 2020 01:49:05 +0000 (09:49 +0800)]
osd/PrimaryLogPG: fix SPARSE_READ stat

22960192 use readv to reimplement SPARSE_READ, however it is
still using total_read to accumulate total bytes it reads from
bluestore, which is always zero in code.

Fix by dropping the redundant local total_read counter.
By definition objects_readv_sync should return the correct bytes
it has read. Use that instead.

Signed-off-by: Yan Jun <yan.jun8@zte.com.cn>
(cherry picked from commit 528fb95326e76518e93fe43274f7a8e86049851d)

5 years agosuites/rados/thrash: add rados-high-concurrency 34807/head
Samuel Just [Fri, 13 Mar 2020 22:58:44 +0000 (15:58 -0700)]
suites/rados/thrash: add rados-high-concurrency

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit ceb8e457e7c3bd1ce1c14833c091f517a024d6d5)

5 years agoPrimaryLogPG: add assert that we aren't trimming past last_update_ondisk
Samuel Just [Fri, 13 Mar 2020 22:43:58 +0000 (15:43 -0700)]
PrimaryLogPG: add assert that we aren't trimming past last_update_ondisk

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit d4b1cc61e6526d325fd759f98e13e5a10523f5f7)

5 years agoqa/osd-recovery: pass osd_pg_log_trim_min = 0 to exercise short pg logs
xie xingguo [Fri, 13 Mar 2020 00:45:52 +0000 (08:45 +0800)]
qa/osd-recovery: pass osd_pg_log_trim_min = 0 to exercise short pg logs

we have osd_min_pg_log_entries to 2 (good) but not osd_pg_log_trim_min
which defaults to 100. Thus, even on those tests we're only rarely vulnerable.
Reset osd_min_pg_log_entries to 0 to make sure we really
would keep a minimal pg log in hand.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit a9412ba25cb65816e85f8e414b399ff5e4db905c)

5 years agoqa/short_pg_log: pass osd_pg_log_trim_min = 0 to exercise short pg logs
xie xingguo [Thu, 12 Mar 2020 23:59:07 +0000 (07:59 +0800)]
qa/short_pg_log: pass osd_pg_log_trim_min = 0 to exercise short pg logs

we have osd_min_pg_log_entries to 2 (good) but not osd_pg_log_trim_min
which defaults to 100. Thus, even on those tests we're only rarely vulnerable.
Reset osd_min_pg_log_entries to 0 to make sure we really
keep a minimal pg log in hand.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit b73b93c6f0a9317fbed4a311931d159c9a0af9d7)

5 years agoosd/PeeringState: do not trim pg log past last_update_ondisk
xie xingguo [Thu, 12 Mar 2020 10:01:45 +0000 (18:01 +0800)]
osd/PeeringState: do not trim pg log past last_update_ondisk

Trimming past last_update_ondisk would be really bad, e.g.,
a new interval change would cancel&redo a previous op, and if
we trim past last_update_ondisk, there could be potential
object inconsistencies as log merging won't necessarily be able
to find all divergent entries later (we lost track of the unfinished
op that should really be reverted).

Fixes: https://tracker.ceph.com/issues/44532
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit eef1928e0153f09dc2522bb885b0ad9f5c65f4bd)

5 years agoqa/standalone/osd/osd-backfill-stats.sh: get_latest_osdmap to propagate map change 34806/head
Neha [Wed, 18 Mar 2020 22:57:41 +0000 (22:57 +0000)]
qa/standalone/osd/osd-backfill-stats.sh: get_latest_osdmap to propagate map change

Fixes: https://tracker.ceph.com/issues/44518
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit 6edd1cb68654702aa0698b50708514105ac01632)

5 years agoceph-object-corpus: pick up octopus 15.2.1-40-ga838bb1aae 34797/head
Josh Durgin [Thu, 16 Apr 2020 01:29:39 +0000 (21:29 -0400)]
ceph-object-corpus: pick up octopus 15.2.1-40-ga838bb1aae

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit 09d928ff90a42fb468291b434d548c83aa2543fc)

5 years agoinclude/denc: replace bufferlist::copy with iterator version
Josh Durgin [Thu, 16 Apr 2020 01:26:40 +0000 (21:26 -0400)]
include/denc: replace bufferlist::copy with iterator version

This version was only compiled as part of ceph-object-corpus
generation, when ENCODE_DUMP_PATH is defined, so it was missed
when bufferlist::copy() was removed.

Fixes: https://tracker.ceph.com/issues/45023
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit 06e862bc68c7ebb2b3963f5e07a326ef837cd4fb)

5 years agoos/bluestore: Don't pollute old journal when add new device 34795/head
Yang Honggang [Thu, 26 Mar 2020 17:11:55 +0000 (17:11 +0000)]
os/bluestore: Don't pollute old journal when add new device

Fixes: https://tracker.ceph.com/issues/44774
Signed-off-by: Yang Honggang <yanghonggang@kuaishou.com>
(cherry picked from commit ade4d46981e660c8d57cec64180b5afa4561b945)

5 years agotest/objectstore/test_bluestore_types: add tests for unused bitmap 34793/head
Igor Fedotov [Mon, 3 Feb 2020 20:21:28 +0000 (23:21 +0300)]
test/objectstore/test_bluestore_types: add tests for unused bitmap

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 985497227acbdd46fefc4de5aef75aaa9630514b)

5 years agoos/bluestore: do not use 'unused' bitmap if makes no sense.
Igor Fedotov [Mon, 3 Feb 2020 15:50:50 +0000 (18:50 +0300)]
os/bluestore: do not use 'unused' bitmap if makes no sense.

The processing logic which relies on 'unused' bitmap makes sense for
bluestore setup where min alloc size is different from device block
size. Now omitting if that's not true.

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

5 years agoos/bluestore: fix unused 'tail' calculation.
Igor Fedotov [Mon, 3 Feb 2020 15:36:21 +0000 (18:36 +0300)]
os/bluestore: fix unused 'tail' calculation.

Fixes: https://tracker.ceph.com/issues/41901
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit c91cc3a8d689995e8554c41c9b0f652d9a3458da)

5 years agorpm: drop "is_opensuse" conditional in SUSE-specific bcond block 34790/head
Nathan Cutler [Fri, 6 Mar 2020 09:09:27 +0000 (10:09 +0100)]
rpm: drop "is_opensuse" conditional in SUSE-specific bcond block

Until now, "ocf" and "libradosstriper" were disabled on SLE, but not
openSUSE.

Leaving them enabled for openSUSE makes it appear as if these features
are expected to do something useful on SUSE.

Dropping the "is_opensuse" conditional has the desirable side effect of
streamlining the SUSE bcond block, and in the spirit of "and that's not
all", we take the opportunity to put the bconds in alphabetical order
for comforting cosmetic effect.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
(cherry picked from commit fd7cb3dae55b649febfeccee8ec3c9efa9ffb9e7)

5 years agoMerge pull request #34760 from callithea/wip-45281-octopus
Lenz Grimmer [Tue, 28 Apr 2020 07:23:07 +0000 (09:23 +0200)]
Merge pull request #34760 from callithea/wip-45281-octopus

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoqa/tasks/vstart_runner.py: use StringIO for capturing text 34759/head
Kefu Chai [Sat, 25 Apr 2020 01:47:00 +0000 (09:47 +0800)]
qa/tasks/vstart_runner.py: use StringIO for capturing text

to be consistent with 8bfe977854686149c74de3ebaed7b571d43404dd

Fixes: https://tracker.ceph.com/issues/45246
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 2de78c3bd9eed9bec235b68e8e52b4635e9add61)

qa/tasks: Add missing StringIO import

This is directly fixed in octopus since it's needed
to get the dashboard backend API tests running
based on the previous commits of this PR.
There is a fix in master but this one
uses "from io import StringIO" while
we still need to be python2 compatible in octopus.
So this import is done with "six" (expects str in python2
instead of "io" (expects unicode
in python2).

This import line is not cherry-picked from master
due to the above mentioned reasons.

Signed-off-by: Laura Paduano <lpaduano@suse.com>
5 years agomgr/dashboard: fix API tests
Alfonso Martínez [Fri, 24 Apr 2020 08:53:24 +0000 (10:53 +0200)]
mgr/dashboard: fix API tests

* test_perf_counters_mgr_get
* test_selftest_cluster_log

Fixes: https://tracker.ceph.com/issues/45170
Fixes: https://tracker.ceph.com/issues/45246
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
(cherry picked from commit 0ac296430f45ddf937b6c4c25607f0b757dcf447)

5 years agoMerge pull request #34467 from rhcs-dashboard/wip-44992-octopus
Lenz Grimmer [Tue, 28 Apr 2020 07:18:42 +0000 (09:18 +0200)]
Merge pull request #34467 from rhcs-dashboard/wip-44992-octopus

Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoMerge pull request #34708 from rhcs-dashboard/wip-45233-octopus
Lenz Grimmer [Tue, 28 Apr 2020 07:12:52 +0000 (09:12 +0200)]
Merge pull request #34708 from rhcs-dashboard/wip-45233-octopus

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoMerge pull request #34631 from shyukri/wip-44834-octopus
Laura Paduano [Mon, 27 Apr 2020 11:01:43 +0000 (13:01 +0200)]
Merge pull request #34631 from shyukri/wip-44834-octopus

octopus: mgr/dashboard: 'Prometheus / All Alerts' page shows progress bar

Reviewed-by: Sebastian Krah <skrah@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoMerge pull request #34547 from tspmelo/wip-45083-octopus
Laura Paduano [Mon, 27 Apr 2020 10:58:44 +0000 (12:58 +0200)]
Merge pull request #34547 from tspmelo/wip-45083-octopus

octopus: mgr/dashboard: Fix iSCSI's username and password validation

Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agoMerge pull request #34498 from votdev/wip-45020-octopus
Laura Paduano [Mon, 27 Apr 2020 10:57:20 +0000 (12:57 +0200)]
Merge pull request #34498 from votdev/wip-45020-octopus

octopus: mgr/dashboard: use FQDN for failover redirection

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
5 years agoMerge pull request #34211 from s0nea/wip-44712-octopus
Laura Paduano [Mon, 27 Apr 2020 10:55:28 +0000 (12:55 +0200)]
Merge pull request #34211 from s0nea/wip-44712-octopus

octopus: mgr/dashboard: add crush rule test suite

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
5 years agomgr/dashboard: Fix ServiceDetails and PoolDetails unit tests 34760/head
Tiago Melo [Mon, 30 Mar 2020 14:01:27 +0000 (14:01 +0000)]
mgr/dashboard: Fix ServiceDetails and PoolDetails unit tests

While testing the upgrade to Angular 9,
these 2 unit tests were consistently failling.

Fixes: https://tracker.ceph.com/issues/42929
Signed-off-by: Tiago Melo <tmelo@suse.com>
(cherry picked from commit d7e7d2b09e463a978d2f881b6b1978fd2606651e)

5 years agomgr/dashboard: fixing RBD purge error in backend 34758/head
Kiefer Chang [Thu, 23 Apr 2020 10:09:15 +0000 (18:09 +0800)]
mgr/dashboard: fixing RBD purge error in backend

Current UTC datetime should be used as `now`, otherwise the expiration
comparison might fail on machines with non-UTC localtime.

Fixes: https://tracker.ceph.com/issues/45149
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
(cherry picked from commit 00881adf55cac6116887bfffc506444473f0ee82)

5 years agoMerge pull request #34750 from yuriw/wip-yuriw-distro-octupus
Yuri Weinstein [Fri, 24 Apr 2020 20:19:49 +0000 (13:19 -0700)]
Merge pull request #34750 from yuriw/wip-yuriw-distro-octupus

qa/tests: clean up distro and point to centos 8.1

5 years agoqa/tests: clean up distro and point to centos 8.1 34750/head
Yuri Weinstein [Fri, 24 Apr 2020 20:02:17 +0000 (13:02 -0700)]
qa/tests: clean up distro and point to centos 8.1

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
5 years agoqa/cephadm: make test_adoption checkout a specific commit 34742/head
Sebastian Wagner [Fri, 17 Apr 2020 17:19:30 +0000 (19:19 +0200)]
qa/cephadm: make test_adoption checkout a specific commit

Reason is, I want to have a test run of test_adoption, *before* master is affected.

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

5 years agocephadm: improve warn message
Sebastian Wagner [Wed, 22 Apr 2020 16:26:13 +0000 (18:26 +0200)]
cephadm: improve warn message

make it more fancy!

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
Co-authored-by: Michael Fritch <mfritch@suse.com>
(cherry picked from commit 02c46b6d811765904ee3042a0240e910d70eb7e3)

5 years agomgr/cephadm: unify apply tests
Sebastian Wagner [Fri, 17 Apr 2020 13:15:34 +0000 (15:15 +0200)]
mgr/cephadm: unify apply tests

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

5 years agomgr/cephadm: unified add_daemon tests
Sebastian Wagner [Fri, 17 Apr 2020 12:44:52 +0000 (14:44 +0200)]
mgr/cephadm: unified add_daemon tests

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

5 years agomgr/cephadm: add cleanup to test_cephadm
Sebastian Wagner [Fri, 17 Apr 2020 10:55:25 +0000 (12:55 +0200)]
mgr/cephadm: add cleanup to test_cephadm

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

5 years agomgr/cephadm: remove_service: Feedback, if spec not found
Sebastian Wagner [Fri, 17 Apr 2020 10:47:46 +0000 (12:47 +0200)]
mgr/cephadm: remove_service: Feedback, if spec not found

`ceph orch rm my-unknown-service` still returned
`Removed service my-unknown-service`.

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

5 years agodoc/man: add cephadm
Sebastian Wagner [Wed, 22 Apr 2020 07:58:55 +0000 (09:58 +0200)]
doc/man: add cephadm

Fixes: https://tracker.ceph.com/issues/44971
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 9f13c126f6dd0172b68d0f5053e1c09bcba62538)

5 years agodoc/cephadm: install.rst: fix placement spec.
Sebastian Wagner [Wed, 22 Apr 2020 10:38:13 +0000 (12:38 +0200)]
doc/cephadm: install.rst: fix placement spec.

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

5 years agocephadm: Aquire lock, if fsid != None
Sebastian Wagner [Wed, 22 Apr 2020 09:51:49 +0000 (11:51 +0200)]
cephadm: Aquire lock, if fsid != None

Fixes:

```
Traceback (most recent call last):
  File "./cephadm", line 4494, in <module>
    r = args.func()
  File "./cephadm", line 1077, in _infer_fsid
    return func()
  File "./cephadm", line 1103, in _infer_image
    return func()
  File "./cephadm", line 2813, in command_ceph_volume
    l = FileLock(args.fsid)
  File "./cephadm", line 560, in __init__
    self._lock_file = os.path.join(LOCK_DIR, name + '.lock')
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
```

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