Commit Graph

89214 Commits

Author SHA1 Message Date
Jason Dillaman
7b5dce63c4 Merge pull request #15831 from trociny/wip-18430-1
librbd: support migrating images with minimal downtime

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-08-14 19:05:13 -04:00
Mykola Golub
dbc32361ef librbd: drop snap lock before sending copyup request
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
d3d3b51b8d librbd: restart object deep copy with flatten
if copyup request was appended with non empty writes when the deep
copy was in flight.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
fccaa4838f librbd: update in-memory migration snap map after creating snap
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
57ee7e1491 librbd: AsyncOperation may not be reused
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
59336a5dea librbd: migrate: skip update object map for snaps that don't overlap
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
96e6639b13 librbd: don't update object map if object deep copy returned ENOENT
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
1cfbf1ec65 librbd: open migration image parent and store its pointer in ImageCtx
Use the pointer in copyup and migrate requests, when deep copying an
object.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
894ffca543 librbd: use 'open snap by id' in clone request
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
09d2f2265f librbd: use 'open snap by id' in deep copy image copy request
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
c04bd3df46 librbd: use 'open snap by id' in refresh parent request
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
5065dd8fa0 librbd: allow to open snapshot by id
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Jason Dillaman
4c8731fe3c librbd: separate read vs write migration parent overlaps
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Jason Dillaman
178aaa03b1 librbd: corrected usage of ImageState::open flag parameter
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-08-14 18:29:45 -04:00
Jason Dillaman
210ea0cb76 librbd: migration should keep parent linkage by default
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-08-14 18:29:45 -04:00
Jason Dillaman
b498aa0380 librbd: move shared common clone parent logic to state machine
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-08-14 18:29:45 -04:00
Jason Dillaman
91d6ac1121 librbd: normalize clone state machine method names and debug logs
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
b13784ed9e librbd: update executing state description with migration % complete
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
72df087dbd rbd: make status show migration details if it is in progress
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
0ddc684b6c rbd: show when parent is migration source in info output
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
977969730d librbd: get_parent_info: don't try to find parent snap name for CEPH_NOSNAP
(it is possible now when the parent is a migration source)

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
7f27f19753 rbd: CLI to migrate images
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
2bcc61a854 pybind/rbd: API for image migration
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
119c7ea66b librbd: API for image migration
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
813e5f28cf librbd: allow 'migrating' internal feature on image create
We want this feature set from the start to avoid races when a client
is opening an image being prepared for migration.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
7000860b26 librbd: handle CEPH_NOSNAP case outside of deep_copy::util::compute_snap_map
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
eed5415aec librbd: add function to wait writes unblocked
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
04c33f6bd6 librbd: use newly added method to list watchers in remove request
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
8d3e0e093e librbd: async request to list watchers
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Mykola Golub
179a5b82d6 librbd: allow to remove already opened image
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:44 -04:00
Mykola Golub
91bb4775d6 librbd: shortcut to skip v2 probing when opening v1 image
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:44 -04:00
Mykola Golub
3d785798e1 librbd: add flags to open request
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:44 -04:00
Mykola Golub
57ef57abd9 cls/rbd: add assert_snapc_seq method
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:44 -04:00
Mykola Golub
ad4809bab2 librbd: add "migration" trash image source
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:44 -04:00
Mykola Golub
431b443718 cls/rbd: add "migration" trash image source
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:44 -04:00
Mykola Golub
2f7c4ae3fc cls/rbd: methods to set/get/remove image migration header
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:44 -04:00
Andrew Schoen
2bec876995
Merge pull request #23532 from alfredodeza/wip-rm24960
ceph-volume:  expand auto engine for single type devices on filestore

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
2018-08-14 20:59:24 +00:00
Casey Bodley
b2fe116d97
Merge pull request #23402 from cbodley/wip-23659
qa/rgw: patch keystone requirements.txt

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2018-08-14 16:53:30 -04:00
Patrick Donnelly
fbfbe8f3df
Merge PR #23426 into master
* refs/pull/23426/head:
	client: privatize some class members
	client: reorganize Client header

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2018-08-14 11:50:09 -07:00
Patrick Donnelly
a807a7ebf0
Merge PR #23470 into master
* refs/pull/23470/head:
	tools/cephfs-shell: unable to copy files to a sub-directory from local file system

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-14 09:41:01 -07:00
Pavani Rajula
b726ac2513 tools/cephfs-shell: unable to copy files to a sub-directory from local file system
Fixes:http://tracker.ceph.com/issues/26874

Signed-off-by: Pavani Rajula <rpavani1998@gmail.com>
2018-08-14 21:48:04 +05:30
Patrick Donnelly
038b95da83
Merge PR #23561 into master
* refs/pull/23561/head:
	tools/cephfs: do not split args if it's already a list

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-14 08:59:29 -07:00
Alfredo Deza
9066792764 ceph-volume lvm.zap loop over all vgs from a pv to destroy them
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-08-14 11:59:25 -04:00
Sage Weil
1ee7b8c6c2 Merge PR #23552 into master
* refs/pull/23552/head:
	ceph_test_objectstore: queue split on parent pg sequencer
	os/bluestore: fix split vs finish_write race

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2018-08-14 10:34:29 -05:00
Alfredo Deza
7a5ee22437 ceph-volume tests.util ensure dmcrypt_close will skip non-existent paths
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-08-14 10:47:14 -04:00
Alfredo Deza
635f8e9e2e ceph-volume util.encryption if crypt path does not exist, skip it
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-08-14 10:47:14 -04:00
Alfredo Deza
549109c1de ceph-volume lvm.zap unmount lvs and close dmcrypt on partitions
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-08-14 10:47:13 -04:00
Sage Weil
de747b0dc1 ceph_test_objectstore: queue split on parent pg sequencer
This matches the OSD.

It also ensure that we drain transactions that precede the split, which
will include any finish_write calls that might otherwise attach the
Buffer to the wrong cache shard: _txc_finish() calls finish_write and
passes the cache shard without the cache shard lock held, but may block
waiting for split_cache() which then changes the destination collection's
shard.  Once it gets the lock and proceeds it would operate on the wrong
cache shard, leading to a failed assert later when the sharedblob is
trimmed.

Fixes: http://tracker.ceph.com/issues/24439
Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-14 09:08:12 -05:00
Kefu Chai
aec096558e
Merge pull request #23539 from cyx1231st/wip-seastar-msgr-cyx
crimson/net: fix unittest_seastar_messenger errors

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-08-14 20:47:44 +08:00
Ricardo Marques
2a6ce09691
Merge pull request #22457 from p-na/dash-settings
mgr/dashboard: Add backend support for changing dashboard configuration settings via the REST API

Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2018-08-14 09:27:09 +01:00