All of lore.kernel.org
 help / color / mirror / Atom feed
* 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

* 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.