Re: RGW: Usability improvements for radosgw-admin (help function)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey Marc, I'm glad to see interest here!

On 11/26/18 7:32 AM, Koderer, Marc wrote:
Hi all,

I remember we briefly discussed about it at the Ceph Day in Darmstadt and I
wanted to follow up on this.

Currently there is just a global help text for radosgw-admin. For an operator
it’s quite hard to determine which options is needed to be set for a certain
command.

I opened a feature (and also work on PRs) to add helps text for each command
individually [1]. My main question: is somebody working on the same already?

Orit mentored an outreachy project last year with similar goals:

https://ceph.com/ceph-in-outreachy-2017-december-round/#radosgw-admin-improvements

https://github.com/ceph/ceph/pull/20936

The work is unfinished, but some of it may be relevant to your work.


This would look like:

    > radosgw-admin help user show
   Usage radosgw-admin:user show
   Shows user details

   radosgw-admin user show --uid <UUID>
   mandatory arguments:
      --uid=<id>

Looking at the rgw cli code I have the feeling the arg parsing needs to be
reworked a lot. But to start stepwise I suggest to to the following:

  1.) Implement help texts in the existing CLI code base (covered in [1])
  2.) Start with an API first strategy (so CLI is just a user of the
  radosgw-admin api)
  2.a) Document rgw admin properly (e.g. using swagger)
  2.b) Fix potential gaps between current CLI and API
  3) Implement API radosgw-cli tool (maybe based on python or similar)

Any feedback?

Regards
Marc Koderer
SAP SE

[1]: https://tracker.ceph.com/issues/37381

Does 2) imply that radosgw-admin will issue http requests to the /admin/ REST APIs of a running radosgw instead of processing them locally? radosgw-admin doesn't currently require a running gateway, and might be needed to repair a configuration (eg zone/zonegroup) that prevents radosgw from starting in the first place.

So I don't think that's the right approach, but I definitely agree that the admin apis need loving too, especially now that the dashboard project is using them.

Instead, we should share as much code as possible between the radosgw-admin commands and their associated rest apis - a 'grep -r AdminOp src/rgw' will show several examples of that, and that pattern could be useful when exposing more APIs for existing radosgw-admin functionality.

Regarding 3), there are some existing api bindings listed under http://docs.ceph.com/docs/master/radosgw/adminops/#binding-libraries that you might explore before starting a new one.




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux