* removing 'rados cppool' command
@ 2016-05-06 19:41 Sage Weil
[not found] ` <alpine.DEB.2.11.1605061538160.1841-Wo5lQnKln9t9PHm/lf2LFUEOCMrvLtNR@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Sage Weil @ 2016-05-06 19:41 UTC (permalink / raw)
To: ceph-devel, ceph-users
This PR
https://github.com/ceph/ceph/pull/8975
removes the 'rados cppool' command. The main problem is that the command
does not make a faithful copy of all data because it doesn't preserve the
snapshots (and snapshot related metadata). That means if you copy an RBD
pool it will render the images somewhat broken (snaps won't be present and
won't work properly). It also doesn't preserve the user_version field
that some librados users may rely on.
Since it's obscure and of limited use, this PR just removes it.
Alternatively, we could add safeguards so that it refuses to make a copy
if there are any selfmanaged_snaps, and/or generate some warnings.
Any objections?
sage
^ permalink raw reply [flat|nested] 5+ messages in thread[parent not found: <alpine.DEB.2.11.1605061538160.1841-Wo5lQnKln9t9PHm/lf2LFUEOCMrvLtNR@public.gmane.org>]
* Re: removing 'rados cppool' command [not found] ` <alpine.DEB.2.11.1605061538160.1841-Wo5lQnKln9t9PHm/lf2LFUEOCMrvLtNR@public.gmane.org> @ 2016-05-06 21:18 ` Yehuda Sadeh-Weinraub 2016-05-06 21:27 ` Sage Weil 2016-05-07 7:06 ` Mykola Golub 1 sibling, 1 reply; 5+ messages in thread From: Yehuda Sadeh-Weinraub @ 2016-05-06 21:18 UTC (permalink / raw) To: Sage Weil; +Cc: ceph-devel, ceph-users-Qp0mS5GaXlQ@public.gmane.org On Fri, May 6, 2016 at 12:41 PM, Sage Weil <sweil-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote: > This PR > > https://github.com/ceph/ceph/pull/8975 > > removes the 'rados cppool' command. The main problem is that the command > does not make a faithful copy of all data because it doesn't preserve the > snapshots (and snapshot related metadata). That means if you copy an RBD > pool it will render the images somewhat broken (snaps won't be present and > won't work properly). It also doesn't preserve the user_version field > that some librados users may rely on. > > Since it's obscure and of limited use, this PR just removes it. > > Alternatively, we could add safeguards so that it refuses to make a copy > if there are any selfmanaged_snaps, and/or generate some warnings. > > Any objections? I prefer the alternative. I found this command pretty useful for testing config upgrade scenarios with rgw. After generating config scenarios in older versions, I used this command to store the config on another pool, and then I could get the different config whenever needed. Yehuda ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: removing 'rados cppool' command 2016-05-06 21:18 ` Yehuda Sadeh-Weinraub @ 2016-05-06 21:27 ` Sage Weil 2016-05-06 21:48 ` Yehuda Sadeh-Weinraub 0 siblings, 1 reply; 5+ messages in thread From: Sage Weil @ 2016-05-06 21:27 UTC (permalink / raw) To: Yehuda Sadeh-Weinraub; +Cc: ceph-devel, ceph-users@ceph.com On Fri, 6 May 2016, Yehuda Sadeh-Weinraub wrote: > On Fri, May 6, 2016 at 12:41 PM, Sage Weil <sweil@redhat.com> wrote: > > This PR > > > > https://github.com/ceph/ceph/pull/8975 > > > > removes the 'rados cppool' command. The main problem is that the command > > does not make a faithful copy of all data because it doesn't preserve the > > snapshots (and snapshot related metadata). That means if you copy an RBD > > pool it will render the images somewhat broken (snaps won't be present and > > won't work properly). It also doesn't preserve the user_version field > > that some librados users may rely on. > > > > Since it's obscure and of limited use, this PR just removes it. > > > > Alternatively, we could add safeguards so that it refuses to make a copy > > if there are any selfmanaged_snaps, and/or generate some warnings. > > > > Any objections? > > I prefer the alternative. I found this command pretty useful for > testing config upgrade scenarios with rgw. After generating config > scenarios in older versions, I used this command to store the config > on another pool, and then I could get the different config whenever > needed. Keep in mind that all of these calls in rgw rgw/rgw_rados.cc: epoch = ref.ioctx.get_last_version(); may be subtley broken by cppool because user_version is not preserved... sage ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: removing 'rados cppool' command 2016-05-06 21:27 ` Sage Weil @ 2016-05-06 21:48 ` Yehuda Sadeh-Weinraub 0 siblings, 0 replies; 5+ messages in thread From: Yehuda Sadeh-Weinraub @ 2016-05-06 21:48 UTC (permalink / raw) To: Sage Weil; +Cc: ceph-devel, ceph-users@ceph.com On Fri, May 6, 2016 at 2:27 PM, Sage Weil <sweil@redhat.com> wrote: > On Fri, 6 May 2016, Yehuda Sadeh-Weinraub wrote: >> On Fri, May 6, 2016 at 12:41 PM, Sage Weil <sweil@redhat.com> wrote: >> > This PR >> > >> > https://github.com/ceph/ceph/pull/8975 >> > >> > removes the 'rados cppool' command. The main problem is that the command >> > does not make a faithful copy of all data because it doesn't preserve the >> > snapshots (and snapshot related metadata). That means if you copy an RBD >> > pool it will render the images somewhat broken (snaps won't be present and >> > won't work properly). It also doesn't preserve the user_version field >> > that some librados users may rely on. >> > >> > Since it's obscure and of limited use, this PR just removes it. >> > >> > Alternatively, we could add safeguards so that it refuses to make a copy >> > if there are any selfmanaged_snaps, and/or generate some warnings. >> > >> > Any objections? >> >> I prefer the alternative. I found this command pretty useful for >> testing config upgrade scenarios with rgw. After generating config >> scenarios in older versions, I used this command to store the config >> on another pool, and then I could get the different config whenever >> needed. > > Keep in mind that all of these calls in rgw > > rgw/rgw_rados.cc: epoch = ref.ioctx.get_last_version(); > > may be subtley broken by cppool because user_version is not preserved... > Right, but these calls are done in the bucket index pool, not at the root or metadata pools that are relevant to the system config. While it may not be the perfect tool for everything, I still find it useful from time to time. Yehuda ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: removing 'rados cppool' command [not found] ` <alpine.DEB.2.11.1605061538160.1841-Wo5lQnKln9t9PHm/lf2LFUEOCMrvLtNR@public.gmane.org> 2016-05-06 21:18 ` Yehuda Sadeh-Weinraub @ 2016-05-07 7:06 ` Mykola Golub 1 sibling, 0 replies; 5+ messages in thread From: Mykola Golub @ 2016-05-07 7:06 UTC (permalink / raw) To: Sage Weil; +Cc: ceph-devel-u79uwXL29TY76Z2rM5mHXA, ceph-users-Qp0mS5GaXlQ On Fri, May 06, 2016 at 03:41:34PM -0400, Sage Weil wrote: > This PR > > https://github.com/ceph/ceph/pull/8975 > > removes the 'rados cppool' command. The main problem is that the command > does not make a faithful copy of all data because it doesn't preserve the > snapshots (and snapshot related metadata). That means if you copy an RBD > pool it will render the images somewhat broken (snaps won't be present and > won't work properly). It also doesn't preserve the user_version field > that some librados users may rely on. > > Since it's obscure and of limited use, this PR just removes it. Copying a pool sometimes is useful, even with those limitations. Until there is an alternative way to do the same I would not remove this. A better approach to me is to move this functionality to something like `ceph_radostool` (people use such tools only when facing extraordinary situations so they are more careful and expect limitations). -- Mykola Golub ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-05-07 7:06 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-06 19:41 removing 'rados cppool' command Sage Weil
[not found] ` <alpine.DEB.2.11.1605061538160.1841-Wo5lQnKln9t9PHm/lf2LFUEOCMrvLtNR@public.gmane.org>
2016-05-06 21:18 ` Yehuda Sadeh-Weinraub
2016-05-06 21:27 ` Sage Weil
2016-05-06 21:48 ` Yehuda Sadeh-Weinraub
2016-05-07 7:06 ` Mykola Golub
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.