]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agoceph-volume: add unit test test_safe_prepare_osd_already_created 33607/head
Guillaume Abrioux [Fri, 7 Feb 2020 14:22:46 +0000 (15:22 +0100)]
ceph-volume: add unit test test_safe_prepare_osd_already_created

This commit adds a new unit test
`test_safe_prepare_osd_already_created()` in order to test when
`is_ceph_device()` returns `True` `RuntimeError` is well raised.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit ccf92d718d6f363f6ca3b7e8499b68beb8b30c06)

5 years agoceph-volume: skip osd creation when already done
Guillaume Abrioux [Wed, 5 Feb 2020 16:48:22 +0000 (17:48 +0100)]
ceph-volume: skip osd creation when already done

When rerunning ceph-volume lvm create on a device already prepared and
activated, ceph-volume should skip the creation.

This is a regression introduced by bb4de1a3fc238eaf9f717dc59c6bdf338ef6d657

Fixes: https://tracker.ceph.com/issues/43981
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 634a709b9c6802c5b12e2d45c2f43181b297adfb)

5 years agoMerge pull request #33603 from jan--f/wip-31700-notracker-mimic
Jan Fajerski [Fri, 28 Feb 2020 12:49:53 +0000 (13:49 +0100)]
Merge pull request #33603 from jan--f/wip-31700-notracker-mimic

mimic: ceph-volume: refactor listing.py + fixes

5 years agoMerge pull request #33580 from jan--f/wip-notracker-c-v-raw-mimic
Jan Fajerski [Fri, 28 Feb 2020 12:35:18 +0000 (13:35 +0100)]
Merge pull request #33580 from jan--f/wip-notracker-c-v-raw-mimic

mimic: ceph-volume: add raw mode

5 years agoceph-volume: fix various lvm list issues 33603/head
Jan Fajerski [Thu, 6 Feb 2020 15:49:12 +0000 (16:49 +0100)]
ceph-volume: fix various lvm list issues

A single report on a non-lvm device now works.
Format was cleaned up, report lvm journal,wal, db only once.

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

5 years agoceph-volume: add get_device_lvs to easily retrieve all lvs per device
Jan Fajerski [Thu, 6 Feb 2020 15:47:08 +0000 (16:47 +0100)]
ceph-volume: add get_device_lvs to easily retrieve all lvs per device

Also drop the sep argument from get_lvs and siblings, unused.
Introduce LV_CMD_OPTIONS to unify options to lvs.

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

5 years agoceph-volume: fix lvm list
Guillaume Abrioux [Wed, 5 Feb 2020 01:29:14 +0000 (02:29 +0100)]
ceph-volume: fix lvm list

17957d9beb42a04b8f180ccb7ba07d43179a41d3 introduced a regression in `lvm
list`.

When passing a vg/lv path for generating a single report, it fails
because the filter used in the `lvs` command isn't right. It uses the lv
name instead of the vg name because `os.path.basename(device)` is used
while it should be `os.path.dirname(device)`

Fixes: https://tracker.ceph.com/issues/43969
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 0179fed3ab624830ba77349531763c3e116c82e5)

5 years agoceph-volume: delete test_lvs_list_is_created_just_once
Rishabh Dave [Fri, 6 Dec 2019 07:40:35 +0000 (13:10 +0530)]
ceph-volume: delete test_lvs_list_is_created_just_once

lisitng.py doesn't call api.Volumes anymore. Therefore, this test is
redundant.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 665ed2424b7bef4160289f0135acc015f8ea9980)

5 years agoceph-volume: update tests since listing.py got heavily modified
Rishabh Dave [Wed, 4 Dec 2019 07:28:19 +0000 (12:58 +0530)]
ceph-volume: update tests since listing.py got heavily modified

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit d1ae6d1a8b495adfc0c512f08359e0db1590272d)

5 years agoceph-volume: refactor devices/lvm/listing.py
Rishabh Dave [Thu, 21 Nov 2019 12:34:25 +0000 (18:04 +0530)]
ceph-volume: refactor devices/lvm/listing.py

Get rid of duplicate and redundant code and use get_lvs, get_vgs and
get_pvs to simplify the module as much as possible.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit d02bd7dd581a4bd4041eb397fae540a18f16a88b)

5 years agoceph-volume: sort and align output
Theofilos Mouratidis [Fri, 4 May 2018 09:37:18 +0000 (11:37 +0200)]
ceph-volume: sort and align output

This commit targets the `ceph-volume lvm list` command.
The output is sorted by the osd id and each device's
attributed are sorted, so the ceph operators can find
relevant information easier. The devices (block,db,..etc)
are now properly aligned.

Signed-off-by: Theofilos Mouratidis <t.mour@cern.ch>
(cherry picked from commit 209afb54ad1812f2b380081de8ae92f37e953623)

5 years agoceph-volume: add new method in api/lvm.py
Rishabh Dave [Thu, 23 Jan 2020 14:17:21 +0000 (19:47 +0530)]
ceph-volume: add new method in api/lvm.py

The method determines whether given LV is managed by Ceph or not.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 876244b6ab2cf1fbd724fd33966501a3366c6d3f)

5 years agoceph-volume: add helper methods to get only first LVM devs
Rishabh Dave [Fri, 3 Jan 2020 10:14:04 +0000 (15:44 +0530)]
ceph-volume: add helper methods to get only first LVM devs

These convenience methods shortens following phrase to
"lv = get_first_lv()" -

lvs = get_lvs()
if len(lvs) >= 1:
lvs = lv[0]

These methods do the same things as above phrase internall. Rewrite
listing.py to use these new helper methods.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 17957d9beb42a04b8f180ccb7ba07d43179a41d3)

5 years agoceph-volume: filter based on tags for api.lvm.get_* methods
Rishabh Dave [Mon, 30 Dec 2019 07:10:49 +0000 (12:40 +0530)]
ceph-volume: filter based on tags for api.lvm.get_* methods

get_pvs, get_vgs and get_lvs must accept tags and filter volumes based
on tags.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit fb1390964fdfd10815ab4a4302ad454169bc0d5f)

5 years agoMerge pull request #33578 from jan--f/wip-43850-mimic
Jan Fajerski [Fri, 28 Feb 2020 10:24:21 +0000 (11:24 +0100)]
Merge pull request #33578 from jan--f/wip-43850-mimic

mimic: ceph-volume: add sizing arguments to prepare

5 years agoMerge pull request #33579 from jan--f/wip-43872-mimic
Jan Fajerski [Fri, 28 Feb 2020 10:24:04 +0000 (11:24 +0100)]
Merge pull request #33579 from jan--f/wip-43872-mimic

mimic: ceph-volume: batch bluestore fix create_lvs call

5 years agoceph-volume: fix device unittest, mock has_bluestore_label, lint 33580/head
Jan Fajerski [Wed, 15 Jan 2020 14:55:45 +0000 (15:55 +0100)]
ceph-volume: fix device unittest, mock has_bluestore_label, lint

This also adds a test case for has_bluestore_label.

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

5 years agoceph-volume: remove stderr in has_bluestore_label()
Guillaume Abrioux [Wed, 5 Feb 2020 01:15:17 +0000 (02:15 +0100)]
ceph-volume: remove stderr in has_bluestore_label()

We don't want to generate this log when a call to
`has_bluestore_label()` fails.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 7f8371c32b3f613b0d094f6f26ffbeb19ea0d25b)

5 years agoceph-volume: fix has_bluestore_label() function
Guillaume Abrioux [Tue, 4 Feb 2020 21:02:26 +0000 (22:02 +0100)]
ceph-volume: fix has_bluestore_label() function

When using vg/lv, this function throws an error like following:

```
 stderr: unable to read label for test_group/data-lv2: (2) No such file or directory
 stderr: 2020-02-04T21:03:32.153+0000 7fe091af4200 -1 bluestore(test_group/data-lv2) _read_bdev_label failed to open test_group/data-lv2: (2) No such file or directory
```

using `self.abspath` fixes this error.

Fixes: https://tracker.ceph.com/issues/43970
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 148069a20fef79ef8fe510f06879a0de02987eac)

5 years agoceph-volume: raw: activate: drop --all, --osd-id and --osd-fsid args
Sage Weil [Mon, 13 Jan 2020 23:51:19 +0000 (17:51 -0600)]
ceph-volume: raw: activate: drop --all, --osd-id and --osd-fsid args

We don't need these currently.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit e7b8b5c46550ee707b09e35015fabea8c6a0c918)

5 years agoraw: fix activate args
Sage Weil [Wed, 18 Dec 2019 14:27:47 +0000 (08:27 -0600)]
raw: fix activate args

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 5e9d9179b15808a26e6421d2a1772bbbadc3d408)

5 years agoraw: --osd-fsid throughout
Sage Weil [Wed, 18 Dec 2019 14:13:55 +0000 (08:13 -0600)]
raw: --osd-fsid throughout

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 4e7e694fa53c29ff1552656c892bee592d5db871)

5 years agoceph-volume: add raw mode
Sage Weil [Fri, 6 Dec 2019 20:08:12 +0000 (14:08 -0600)]
ceph-volume: add raw mode

list, prepare, activate, create (prepare+activate) basic bluestore OSDs
on a single device.

No support (or plans to ever support) dmcrypt.

I think support for db/wal could be added later without much trouble.

For now, we require --no-systemd and --bluestore flags because we haven't
implemented support for anything else but suspect we will in the future,
and would like to ensure users are being explicit about what they're
asking for.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1e9de77add67fa94204c450c52d22fc3a33d7b22)

5 years agoceph-volume: show devices with bluestore labels and unavailable
Sage Weil [Mon, 9 Dec 2019 13:38:13 +0000 (07:38 -0600)]
ceph-volume: show devices with bluestore labels and unavailable

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 4b81bc8b358390f37eb5bcc3e2764ee6ede0ceda)

5 years agoMerge pull request #32862 from shyukri/wip-43340-mimic
Jan Fajerski [Thu, 27 Feb 2020 14:01:36 +0000 (15:01 +0100)]
Merge pull request #32862 from shyukri/wip-43340-mimic

mimic: lvm/deactivate: add unit tests, remove --all

5 years agoceph-volume: batch bluestore fix create_lvs call 33579/head
Jan Fajerski [Tue, 28 Jan 2020 08:25:39 +0000 (09:25 +0100)]
ceph-volume: batch bluestore fix create_lvs call

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

5 years agoceph-volume: remove redefinition of [LV,PV,VG]_FIELDS 33578/head
Jan Fajerski [Tue, 7 Jan 2020 14:29:24 +0000 (15:29 +0100)]
ceph-volume: remove redefinition of [LV,PV,VG]_FIELDS

This was introduced in https://github.com/ceph/ceph/pull/32242
erroneously.

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

5 years agotests: fix tests after batch sizing was fixed
Jan Fajerski [Thu, 12 Dec 2019 12:45:44 +0000 (13:45 +0100)]
tests: fix tests after batch sizing was fixed

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

5 years agolvm/batch: adjust devices for byte based size calculation
Jan Fajerski [Thu, 12 Dec 2019 12:44:07 +0000 (13:44 +0100)]
lvm/batch: adjust devices for byte based size calculation

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

5 years agolvm: add sizing arguments to prepare and create.
Jan Fajerski [Tue, 10 Dec 2019 13:56:37 +0000 (14:56 +0100)]
lvm: add sizing arguments to prepare and create.

This adds options to size to-be-created LVs in the prepare and create
subcommands. Sizing can be done explicitly by passing a sizes or
implicitly by specifying the number of slots per [data|journal|wal|db]
device. The former will try to create a LV of the specified size and use
that to create OSDs if it succeeds. The latter will carve up the device
size into $n slots and use one of those slots for the to-be-created OSD.
If partitions or LVs are passed these options are ignored.
This also creates the foundation to move to byte-based sizing, by moving
VolumeGroup lvm querying and size calculation to bytes as the base unit.

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

5 years agoutil/disk: extend Size class
Jan Fajerski [Tue, 10 Dec 2019 13:57:02 +0000 (14:57 +0100)]
util/disk: extend Size class

The Size class can now parse strings and has support for arithmetic
operations and comparisons with numbers.

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

5 years agoMerge pull request #33201 from jan--f/wip-43854-mimic
Jan Fajerski [Thu, 27 Feb 2020 12:53:23 +0000 (13:53 +0100)]
Merge pull request #33201 from jan--f/wip-43854-mimic

mimic: ceph-volume/batch: fail on filtered devices when non-interactive

5 years agoMerge pull request #33215 from jan--f/wip-32242-notrack-mimic
Jan Fajerski [Thu, 27 Feb 2020 12:52:38 +0000 (13:52 +0100)]
Merge pull request #33215 from jan--f/wip-32242-notrack-mimic

mimic: ceph-volume: add methods to pass filters to pvs, vgs and lvs commands

5 years agoceph-volume: add methods to pass filters to pvs, vgs and lvs commands 33215/head
Rishabh Dave [Thu, 21 Nov 2019 14:33:32 +0000 (20:03 +0530)]
ceph-volume: add methods to pass filters to pvs, vgs and lvs commands

Filters can be passed to these commands by using option '-S'.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit a4f2fcefb80df524c472782e8c1d18b3c2d1c1fc)

5 years agolvm/deactivate: add unit tests, remove --all 32862/head
Jan Fajerski [Mon, 16 Dec 2019 15:57:58 +0000 (16:57 +0100)]
lvm/deactivate: add unit tests, remove --all

Remove the --all flag until its actually implemented.

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

 Conflicts:
src/ceph-volume/ceph_volume/devices/lvm/deactivate.py

5 years agoMerge pull request #32876 from shyukri/wip-43569-mimic
Jan Fajerski [Thu, 27 Feb 2020 09:57:50 +0000 (10:57 +0100)]
Merge pull request #32876 from shyukri/wip-43569-mimic

mimic: ceph-volume: Dereference symlink in lvm list

5 years agoMerge pull request #33208 from jan--f/wip-deactivate-mimic
Jan Fajerski [Thu, 27 Feb 2020 09:56:37 +0000 (10:56 +0100)]
Merge pull request #33208 from jan--f/wip-deactivate-mimic

mimic: ceph-volume: lvm deactivate command

5 years agolvm: add deactivate subcommand 33208/head
Jan Fajerski [Wed, 11 Dec 2019 13:54:16 +0000 (14:54 +0100)]
lvm: add deactivate subcommand

This new subcommand unmounts and OSDs tmpfs mount and closes crypt
devices if there are any.

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

5 years agoutil/system: add unmount_tmpfs helper
Jan Fajerski [Thu, 12 Dec 2019 08:28:27 +0000 (09:28 +0100)]
util/system: add unmount_tmpfs helper

Thsi unmounts a path if and only if it's a tmpfs mount.

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

5 years agoapi/lvm: add get_lv_by_osd_id method
Jan Fajerski [Wed, 11 Dec 2019 12:17:19 +0000 (13:17 +0100)]
api/lvm: add get_lv_by_osd_id method

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

5 years agoapi/lvm: add deactivate method to Volume class
Jan Fajerski [Wed, 11 Dec 2019 12:17:02 +0000 (13:17 +0100)]
api/lvm: add deactivate method to Volume class

Simply calls lvchange -an to deactivate a logical volume.

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

5 years agoMerge pull request #32869 from shyukri/wip-42946-mimic
Jan Fajerski [Thu, 27 Feb 2020 08:39:40 +0000 (09:39 +0100)]
Merge pull request #32869 from shyukri/wip-42946-mimic

mimic: ceph-volume: allow raw block devices everywhere

5 years agoMerge pull request #32872 from shyukri/wip-43200-mimic
Jan Fajerski [Thu, 27 Feb 2020 08:38:24 +0000 (09:38 +0100)]
Merge pull request #32872 from shyukri/wip-43200-mimic

mimic: ceph-volume: fix the integer overflow

5 years agoMerge pull request #33331 from smithfarm/wip-43472-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:56:58 +0000 (15:56 -0800)]
Merge pull request #33331 from smithfarm/wip-43472-mimic

mimic: osd/PeeringState.cc: don't let num_objects become negative

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #33329 from smithfarm/wip-43320-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:56:27 +0000 (15:56 -0800)]
Merge pull request #33329 from smithfarm/wip-43320-mimic

mimic: osd/PeeringState.cc: skip peer_purged when discovering all missing

Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #33324 from smithfarm/wip-42998-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:55:52 +0000 (15:55 -0800)]
Merge pull request #33324 from smithfarm/wip-42998-mimic

mimic: osd/PeeringState: do not exclude up from acting_recovery_backfill

Reviewed-by: David Zafman <dzafman@redhat.com>
5 years agoMerge pull request #33322 from smithfarm/wip-42852-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:55:21 +0000 (15:55 -0800)]
Merge pull request #33322 from smithfarm/wip-42852-mimic

mimic: mon/OSDMonitor: fix format error ceph osd stat --format json

Reviewed-by: David Zafman <dzafman@redhat.com>
5 years agoMerge pull request #33154 from shyukri/wip-43881-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:52:06 +0000 (15:52 -0800)]
Merge pull request #33154 from shyukri/wip-43881-mimic

mimic: mon: Don't put session during feature change

Reviewed-by: David Zafman <dzafman@redhat.com>
5 years agoMerge pull request #33145 from shyukri/wip-43987-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:51:34 +0000 (15:51 -0800)]
Merge pull request #33145 from shyukri/wip-43987-mimic

mimic: osd: Allow 64-char hostname to be added as the "host" in CRUSH

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #32717 from smithfarm/wip-43652-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:50:53 +0000 (15:50 -0800)]
Merge pull request #32717 from smithfarm/wip-43652-mimic

mimic: osd: Diagnostic logging for upmap cleaning

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: David Zafman <dzafman@redhat.com>
5 years agoMerge pull request #32258 from smithfarm/wip-43244-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:50:11 +0000 (15:50 -0800)]
Merge pull request #32258 from smithfarm/wip-43244-mimic

mimic: selinux: Allow ceph to read udev db

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
5 years agoMerge pull request #32125 from dvanders/dvanders_40890
Yuri Weinstein [Wed, 26 Feb 2020 23:48:59 +0000 (15:48 -0800)]
Merge pull request #32125 from dvanders/dvanders_40890

mimic: osd: set collection pool opts on collection create, pg load

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #33323 from smithfarm/wip-42879-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:47:15 +0000 (15:47 -0800)]
Merge pull request #33323 from smithfarm/wip-42879-mimic

mimic: common/admin_socket: Increase socket timeouts

Reviewed-by: David Zafman <dzafman@redhat.com>
5 years agoMerge pull request #33158 from shyukri/wip-43925-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:46:43 +0000 (15:46 -0800)]
Merge pull request #33158 from shyukri/wip-43925-mimic

mimic: mgr/prometheus: report per-pool pg states

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
5 years agoMerge pull request #33096 from k0ste/wip-43978-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:45:55 +0000 (15:45 -0800)]
Merge pull request #33096 from k0ste/wip-43978-mimic

mimic: mgr/telemetry: check get_metadata return val

Reviewed-by: Dan Mick <dmick@redhat.com>
Reviewed-by: Yaarit Hatuka <yaarithatuka@gmail.com>
5 years agoMerge pull request #32902 from smithfarm/wip-43630-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:44:17 +0000 (15:44 -0800)]
Merge pull request #32902 from smithfarm/wip-43630-mimic

mimic: common/util: use ifstream to read from /proc files

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #31673 from smithfarm/wip-42833-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:42:59 +0000 (15:42 -0800)]
Merge pull request #31673 from smithfarm/wip-42833-mimic

mimic: os/bluestore: fix improper setting of STATE_KV_SUBMITTED.

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
5 years agoMerge pull request #31805 from smithfarm/wip-42851-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:28:58 +0000 (15:28 -0800)]
Merge pull request #31805 from smithfarm/wip-42851-mimic

mimic: pybind/mgr: Cancel output color control

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoMerge pull request #31305 from smithfarm/wip-42544-mimic
Yuri Weinstein [Wed, 26 Feb 2020 23:27:55 +0000 (15:27 -0800)]
Merge pull request #31305 from smithfarm/wip-42544-mimic

mimic: qa/tasks/cbt: run stop-all.sh while shutting down

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #33377 from badone/wip-mimic-upgrade-ceph_ansible
Brad Hubbard [Tue, 25 Feb 2020 23:57:43 +0000 (09:57 +1000)]
Merge pull request #33377 from badone/wip-mimic-upgrade-ceph_ansible

mimic: qa/ceph-ansible: Upgrade to stable-3.2.30 branch

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 years agoMerge pull request #31861 from smithfarm/wip-43014-mimic
Yuri Weinstein [Fri, 21 Feb 2020 19:45:09 +0000 (11:45 -0800)]
Merge pull request #31861 from smithfarm/wip-43014-mimic

mimic: rgw: crypt: permit RGW-AUTO/default with SSE-S3 headers

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #31754 from smithfarm/wip-42896-mimic
Yuri Weinstein [Fri, 21 Feb 2020 19:44:46 +0000 (11:44 -0800)]
Merge pull request #31754 from smithfarm/wip-42896-mimic

mimic: rgw: add list user admin OP API

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #31377 from smithfarm/wip-41635-mimic
Yuri Weinstein [Fri, 21 Feb 2020 19:44:18 +0000 (11:44 -0800)]
Merge pull request #31377 from smithfarm/wip-41635-mimic

mimic: rgw: add bucket permission verify when copy obj

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #31299 from smithfarm/wip-42554-mimic
Yuri Weinstein [Fri, 21 Feb 2020 19:43:51 +0000 (11:43 -0800)]
Merge pull request #31299 from smithfarm/wip-42554-mimic

mimic: rgw: prevent bucket reshard scheduling if bucket is resharding

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #31183 from croit/mimic-rgw-bucket-stats-num-shards
Yuri Weinstein [Fri, 21 Feb 2020 19:43:25 +0000 (11:43 -0800)]
Merge pull request #31183 from croit/mimic-rgw-bucket-stats-num-shards

mimic: rgw: add num_shards to radosgw-admin bucket stats

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #30804 from smithfarm/wip-41975-mimic
Yuri Weinstein [Fri, 21 Feb 2020 19:42:59 +0000 (11:42 -0800)]
Merge pull request #30804 from smithfarm/wip-41975-mimic

mimic: rgw: add missing admin property when sync user info

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #33304 from smithfarm/wip-43206-mimic
Yuri Weinstein [Fri, 21 Feb 2020 19:41:37 +0000 (11:41 -0800)]
Merge pull request #33304 from smithfarm/wip-43206-mimic

mimic: rgw: fix bad user stats on versioned bucket after reshard

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #33303 from smithfarm/wip-43202-mimic
Yuri Weinstein [Fri, 21 Feb 2020 19:41:10 +0000 (11:41 -0800)]
Merge pull request #33303 from smithfarm/wip-43202-mimic

mimic: rgw: adding mfa code validation when bucket versioning status is changed

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #33302 from smithfarm/wip-42734-mimic
Yuri Weinstein [Fri, 21 Feb 2020 19:40:41 +0000 (11:40 -0800)]
Merge pull request #33302 from smithfarm/wip-42734-mimic

mimic: rgw: allow reshard log entries for non-existent buckets to be cancelled

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
5 years agoMerge pull request #33341 from tpsilva/wip-44130-mimic
Yuri Weinstein [Fri, 21 Feb 2020 19:38:08 +0000 (11:38 -0800)]
Merge pull request #33341 from tpsilva/wip-44130-mimic

mimic: rgw: make max_connections configurable in beast

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #33313 from smithfarm/wip-43876-mimic
Yuri Weinstein [Fri, 21 Feb 2020 19:36:34 +0000 (11:36 -0800)]
Merge pull request #33313 from smithfarm/wip-43876-mimic

mimic: rgw: maybe coredump when reload operator happened

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #33309 from smithfarm/wip-43633-mimic
Yuri Weinstein [Fri, 21 Feb 2020 19:36:09 +0000 (11:36 -0800)]
Merge pull request #33309 from smithfarm/wip-43633-mimic

mimic: rgw: find oldest period and update RGWMetadataLogHistory()

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #33312 from smithfarm/wip-43847-mimic
Yuri Weinstein [Fri, 21 Feb 2020 16:58:21 +0000 (08:58 -0800)]
Merge pull request #33312 from smithfarm/wip-43847-mimic

mimic: rgw: update the hash source for multipart entries during resharding

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
5 years agoMerge pull request #33311 from smithfarm/wip-43658-mimic
Yuri Weinstein [Fri, 21 Feb 2020 16:57:51 +0000 (08:57 -0800)]
Merge pull request #33311 from smithfarm/wip-43658-mimic

mimic: rgw: move forward marker even in case of many rgw.none indexes

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
5 years agoMerge pull request #31378 from smithfarm/wip-41859-mimic
Yuri Weinstein [Fri, 21 Feb 2020 16:57:10 +0000 (08:57 -0800)]
Merge pull request #31378 from smithfarm/wip-41859-mimic

mimic: rgw: fix memory growth while deleting objects with

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
5 years agoMerge pull request #33306 from smithfarm/wip-43575-mimic
Yuri Weinstein [Fri, 21 Feb 2020 16:56:01 +0000 (08:56 -0800)]
Merge pull request #33306 from smithfarm/wip-43575-mimic

mimic: rgw: fix a bug that bucket instance obj can't be removed after resharding completed

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
5 years agoMerge pull request #33305 from smithfarm/wip-43480-mimic
Yuri Weinstein [Fri, 21 Feb 2020 16:55:31 +0000 (08:55 -0800)]
Merge pull request #33305 from smithfarm/wip-43480-mimic

mimic: rgw: change the "rgw admin status" 'num_shards' output to signed int

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
5 years agoMerge pull request #33300 from smithfarm/wip-42732-mimic
Yuri Weinstein [Fri, 21 Feb 2020 16:54:42 +0000 (08:54 -0800)]
Merge pull request #33300 from smithfarm/wip-42732-mimic

mimic: rgw: auto-clean reshard queue entries for non-existent buckets

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
5 years agoMerge pull request #33314 from smithfarm/wip-42992-mimic
Yuri Weinstein [Fri, 21 Feb 2020 16:12:49 +0000 (08:12 -0800)]
Merge pull request #33314 from smithfarm/wip-42992-mimic

mimic: qa: update krbd_blkroset.t and add krbd_get_features.t

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
5 years agoMerge pull request #33316 from smithfarm/wip-43242-mimic
Yuri Weinstein [Fri, 21 Feb 2020 16:12:17 +0000 (08:12 -0800)]
Merge pull request #33316 from smithfarm/wip-43242-mimic

mimic: qa: krbd_exclusive_option.sh: update for recent kernel changes

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
5 years agoMerge pull request #33318 from smithfarm/wip-43507-mimic
Yuri Weinstein [Thu, 20 Feb 2020 19:53:38 +0000 (11:53 -0800)]
Merge pull request #33318 from smithfarm/wip-43507-mimic

mimic: rbd:  creating thick-provision image progress percent info exceeds 100%

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #33315 from smithfarm/wip-43238-mimic
Yuri Weinstein [Thu, 20 Feb 2020 19:53:10 +0000 (11:53 -0800)]
Merge pull request #33315 from smithfarm/wip-43238-mimic

mimic: librbd: fix rbd_open_by_id, rbd_open_by_id_read_only

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #32952 from shyukri/wip-43829-mimic
Yuri Weinstein [Thu, 20 Feb 2020 19:52:35 +0000 (11:52 -0800)]
Merge pull request #32952 from shyukri/wip-43829-mimic

mimic: librbd: don't call refresh from mirror::GetInfoRequest state machine

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #32714 from smithfarm/wip-43625-mimic
Yuri Weinstein [Thu, 20 Feb 2020 19:52:03 +0000 (11:52 -0800)]
Merge pull request #32714 from smithfarm/wip-43625-mimic

mimic: nautilus: rbd-mirror: fix 'rbd mirror status' asok command output

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
5 years agoMerge pull request #32470 from zhengchengyao/diff_mimic
Yuri Weinstein [Thu, 20 Feb 2020 19:51:28 +0000 (11:51 -0800)]
Merge pull request #32470 from zhengchengyao/diff_mimic

mimic: rbd: librbd: diff iterate with fast-diff now correctly includes parent

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
5 years agoMerge pull request #31520 from trociny/wip-42727-mimic
Yuri Weinstein [Thu, 20 Feb 2020 19:50:28 +0000 (11:50 -0800)]
Merge pull request #31520 from trociny/wip-42727-mimic

mimic: rbd-mirror: clone v2 mirroring improvements

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agomimic: qa/ceph-ansible: Upgrade to stable-3.2.30 branch 33377/head
Brad Hubbard [Tue, 4 Feb 2020 01:33:05 +0000 (11:33 +1000)]
mimic: qa/ceph-ansible: Upgrade to stable-3.2.30 branch

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
5 years agorgw: make max_connections configurable in beast 33341/head
Tiago Pasqualini [Fri, 31 Jan 2020 18:22:19 +0000 (15:22 -0300)]
rgw: make max_connections configurable in beast

Beast frontend currently accepts a hardcoded number of connections
that is defined by boost::asio::socket_base::max_connections. This
commit makes it configurable via a 'max_connections' config option
on rgw frontend.

Fixes: https://tracker.ceph.com/issues/43952
Signed-off-by: Tiago Pasqualini <tiago.pasqualini@canonical.com>
(cherry picked from commit d6dada5bcb356abaef8d9237ceca8f42d4fcfb74)

Conflicts:
        src/rgw/rgw_asio_frontend.cc
- trivial resolution

5 years agodoc: update ceph-volume lvm prepare 32869/head
Jan Fajerski [Tue, 5 Nov 2019 12:39:27 +0000 (13:39 +0100)]
doc: update ceph-volume lvm prepare

Add option to pass raw physical devices everywhere, restructure a little
(bluestore section before filestore) and reword a few things.

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

5 years agoceph-volume: make lvm report fields into constants
Jan Fajerski [Tue, 5 Nov 2019 07:31:44 +0000 (08:31 +0100)]
ceph-volume: make lvm report fields into constants

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

5 years agoceph-volume: api/lvm create or reuse a vg
Jan Fajerski [Tue, 22 Oct 2019 12:32:11 +0000 (14:32 +0200)]
ceph-volume: api/lvm create or reuse a vg

This changes create_lv so one can pass the desired device and either a
VG with a name starting with ceph is re-used or a new one is created.
This commit also adds two new lvm primitives, making use of lvm's select
feature. The goal is to eventually avoid keeping a full list of lv's (or
vg's) around and query the lvm system as needed.

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

5 years agoosd/PeeringState.cc: don't let num_objects become negative 33331/head
Neha [Sat, 14 Dec 2019 00:49:27 +0000 (00:49 +0000)]
osd/PeeringState.cc: don't let num_objects become negative

If num_objects become negative, we may end up incorrectly setting
the PG_STATE_DEGRADED flag. Instead reset num_objects to zero and set
the PG_STATE_INCONSISTENT flag when this happens expecting scrub to fix
the inconsistency.

Fixes: https://tracker.ceph.com/issues/43308
Co-authored-by: David Zafman <dzafman@redhat.com>
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit 54c5eca48ce94dc4a1416836a06203db880c3842)

Conflicts:
src/osd/PeeringState.cc
- file is missing in nautilus; backported the code change manually
  to src/osd/PG.cc

5 years agoosd/PeeringState.cc: skip peer_purged when discovering all missing 33329/head
Neha [Wed, 11 Dec 2019 23:47:19 +0000 (23:47 +0000)]
osd/PeeringState.cc: skip peer_purged when discovering all missing

We hit a couple of bugs because in discover_all_missing() we send
pg_query to an OSD that was marked stray and already got purged. This results
in a state machine crash on the purged OSD. Fix this by skipping any
purged peers.

Fixes: https://tracker.ceph.com/issues/41317
Fixes: https://tracker.ceph.com/issues/40963
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit 4960f579a234f9984d73767fde073c419e884c17)

Conflicts:
src/osd/PeeringState.cc
- file does not exist in mimic; made the changes manually in
  src/osd/PG.cc

5 years agoRevert "osd/PG: avoid choose_acting picking want with > pool size items" 33324/head
Nathan Cutler [Fri, 14 Feb 2020 12:42:25 +0000 (13:42 +0100)]
Revert "osd/PG: avoid choose_acting picking want with > pool size items"

This reverts commit a0d49cf83ae3b845f2724aec28234d8796c66747.

c3e2990c39952a1fc4593076c5b2f0dea6cdcdd3 was backported to mimic by a0d49cf83ae3b845f2724aec28234d8796c66747.
In master, c3e2990c39952a1fc4593076c5b2f0dea6cdcdd3 was reverted by 82bb83f0ba930d7f83bea5a5397629b3e334bae2.

The revert is not cherry-picked from master because it's better to
revert the mimic backport directly.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
5 years agoosd/PeeringState: do not exclude up from acting_recovery_backfill
xie xingguo [Wed, 20 Nov 2019 00:31:54 +0000 (08:31 +0800)]
osd/PeeringState: do not exclude up from acting_recovery_backfill

If we choose a primary that does not belong to the current up set,
and all up peers are still recoverable, then we might end up excluding
some up peer from the acting_recovery_backfill set too due to the
"want size <= pool size" constraint (since https://github.com/ceph/ceph/pull/24035),
as a result of which all up peers might not get recovered in one go.

Fix by falling through any oversized want set to async recovery, which
should be able to handle it nicely.

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

Conflicts:
src/osd/PeeringState.cc
- file does not exist in mimic; made the change manually to
  src/osd/PG.cc

5 years agorgw: add list user admin OP API unit tests 31754/head
songshuangyang [Wed, 21 Nov 2018 12:39:37 +0000 (20:39 +0800)]
rgw: add list user admin OP API unit tests

Signed-off-by: Oshyn Song <dualyangsong@gmail.com>
(cherry picked from commit b7580932c07e1c8048d016aa63981e00b0175698)

5 years agorgw: add list user admin OP API
songshuangyang [Tue, 13 Nov 2018 09:32:41 +0000 (17:32 +0800)]
rgw: add list user admin OP API

The radosgw-admin tool support the `user list` subcommand to list radosgw users, but there is no user listing function for the admin OP API. It needs to support this API.

Signed-off-by: Oshyn Song <dualyangsong@gmail.com>
(cherry picked from commit 97e1ff50e57a51744a6d864cef15f9afe0e84b66)

Conflicts:
src/rgw/rgw_user.h
- needed to adapt the list_user RGWOp name() override

5 years agocommon/admin_socket: Increase socket timeouts 33323/head
Brad Hubbard [Thu, 14 Nov 2019 05:07:32 +0000 (15:07 +1000)]
common/admin_socket: Increase socket timeouts

With the move of the 'bench' command to the admin socket the recv
timeout is being exceeded in testing due to the duration of the command.

Fixes: https://tracker.ceph.com/issues/42387
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
(cherry picked from commit 4dd67b9e3cb1a4168f6804b144e4178f2b821108)

5 years agoMerge pull request #32782 from idryomov/wip-doc-fs-authorize-fix-mimic
Nathan Cutler [Fri, 14 Feb 2020 12:26:59 +0000 (13:26 +0100)]
Merge pull request #32782 from idryomov/wip-doc-fs-authorize-fix-mimic

mimic: doc/cephfs/client-auth: description and example are inconsistent

Reviewed-by: Nathan Cutler <ncutler@suse.com>
5 years agoosd/OSDMap: fix format error ceph osd stat --format json 33322/head
zhengyin [Tue, 5 Nov 2019 07:29:34 +0000 (15:29 +0800)]
osd/OSDMap: fix format error ceph osd stat --format json

Fixes: https://tracker.ceph.com/issues/42501
Signed-off-by: Zheng Yin <zhengyin@cmss.chinamobile.com>
(cherry picked from commit a85499ca57dd22e61bcad614897dc5fd57196353)