Re: RGW/ServiceMap etc

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

 



Hi John,

On Sun, Mar 11, 2018 at 12:55 PM, John Spray <jspray@xxxxxxxxxx> wrote:
> On Sat, Mar 10, 2018 at 12:21 AM, Gregory Farnum <gfarnum@xxxxxxxxxx> wrote:
>> On Fri, Mar 9, 2018 at 3:44 PM, Sage Weil <sweil@xxxxxxxxxx> wrote:
>>> On Fri, 9 Mar 2018, Casey Bodley wrote:
>>>> On 03/09/2018 11:55 AM, Sage Weil wrote:
>>>> > On Fri, 9 Mar 2018, Casey Bodley wrote:
>>>> > > I haven't done much with ceph-ansible, but I'm imagining it looking like
>>>> > > this:
>>>> > >
>>>> > > In the rgw configuration, we'd have a variable like
>>>> > > radosgw_management_user
>>>> > > that would trigger a 'radosgw-admin user create' command to create it and
>>>> > > remember its keys for use during the ceph-mgr deployment.
>>>> > >
>>>> > > If the ceph-mgr deployment has to happen first, it could always generate
>>>> > > its
>>>> > > own secret/access keys (which is trivial to do), and supply them later
>>>> > > during
>>>> > > rgw deployment via 'radosgw-admin user create --access-key=X --secret=Y'.
>>>> > I think this is missing the bigger picture.  Setting aside the key issue
>>>> > for a minute, there needs to be some API endpoint that allows you to
>>>> > manipulate the zones/zone groups/realms (e.g., to create the radosgw
>>>> > cluster to begin with).  Creating an initial key for that zone is just one
>>>> > piece of that.
>>>> >
>>>> > For example, a dashboard user should be able to click on the RGW tab and
>>>> > create a new realm or zone and then kick off work to instantiate the
>>>> > radosgw daemons to serve it (via kubernetes, ansible, or whatever).
>>>>
>>>> Hi Sage,
>>>>
>>>> I didn't know that we were looking to drive new cluster deployments through
>>>> ceph-mgr. But I think that the multisite configuration steps to make that work
>>>> belong in the deployment tool itself. Ali has done work on this for
>>>> ceph-ansible at https://github.com/ceph/ceph-ansible/pull/1944, which runs all
>>>> of the radosgw-admin commands on the new cluster to add it to an existing
>>>> multisite realm.
>>>
>>> I think the general goal is that any management functions beyond the
>>> initial bootstrap of the cluster (mon + mgr) can be driven via the
>>> management ui.  But even setting aside the multi-cluster parts, the very
>>> first thing I would expect to see on the RGW pane of the dashboard is a
>>> via of the realms, zonegroups, and zones, with a bunch of 'create'
>>> buttons.  And the first thing you'd see on a fresh cluster is no zones--I
>>> don't think we want to force the user to predeclare that they will be
>>> creating a new realm/zg/zone when they create the cluster.
>>>
>>> Even for the multi-cluster parts, I would expect to see a limited view of
>>> that state.  The RBD panel, for instance, shows all the rbd-mirror
>>> daemons and their state.  Operations like switching masters or
>>> triggering a period change or whatever seem like a natural fit here.
>>>
>>> Even if we decide these operations don't fit or don't belong in the
>>> per-cluster dashboard, we'll want them in some meta-dashbaord (e.g.,
>>> cloudforms), and we'll want an API that that system can trigger to make
>>> things happen.  That could be ansible, yes, but it seems like we'd want
>>> to keep our options open.
>>
>> Wanted to pull this out a little more and see if everybody's on the same page.
>>
>> John, your initial email was very specific (so much though that I'm
>> not entirely sure what actual problem you're interested in here,
>> though I think the admin API being discussed is how we create RGW
>> users?).
>>
>> But I'd assume one of the most basic functions the manager is
>> interested in is creating new RGW instances within a cluster, whether
>> there's already an RGW zone or whether the admin just clicked a
>> "create S3 service" button.
>
> Yep.  While this thread was prompted by a very specific issue
> (dashboard uses admin rest api, but needs a way to learn where the API
> is and how to authenticate), the general context is that we would like
> to create a user interface that enables people to manage their Ceph
> clusters with a minimum of typing.
>

+1

> We already have the interfaces the UI needs for CephFS (libcephfs and
> mon commands) and RBD (librbd), and *most* of RGW (admin rest api).
> I'd like RGW to be just as much of a first class citizen in the UI as
> everything else, which is my motivation for looking for ways to avoid
> requiring extra out-of-band configuration before users can do RGW
> stuff in the UI.
>

I think we can have a very small library for just the initial bootstrap phase,
this won't require to wrap all  radosgw-admin code but to cut a small
section out that can be shared as a library between the radosgw-admin,
ceph-mgr and the dashboard.
As for the realms/zone groups/zones (multisite) configuration I would
suggest using Rest API as
there are users that need such rest API anyway (they use their own in
house management UI).

Will that work for you?
Regards,
Orit


> John
>
>> As a comparison, the ongoing work to integrate CephFS, NFS-Ganesha,
>> and OpenStack is planning to have the manager automatically generate
>> new Ganesha instances as needed (by calling in to Kubernetes container
>> creation, which it will rely on). ceph-ansible might or might not have
>> something to do with that cluster having existed, but as far as the
>> admin is concerned ansible does not matter when creating cloud shares.
>>
>> Presumably we want to eventually be able to deploy RGW on existing
>> clusters the same way, via push buttons and automatic scaling where
>> appropriate, instead of having admins responsible for running a CLI to
>> enable each instance? Or am I just completely misunderstanding the
>> goals here? :)
>> -Greg
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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