RE: disk enclosure LEDs

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

 



> -----Original Message-----
> From: ceph-devel-owner@xxxxxxxxxxxxxxx [mailto:ceph-devel-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Sage Weil
> Sent: Friday, December 02, 2016 6:24 AM
> To: Lars Marowsky-Bree <lmb@xxxxxxxx>
> Cc: Ceph Development <ceph-devel@xxxxxxxxxxxxxxx>
> Subject: Re: disk enclosure LEDs
> 
> On Fri, 2 Dec 2016, Lars Marowsky-Bree wrote:
> > On 2016-12-01T00:15:25, John Spray <jspray@xxxxxxxxxx> wrote:
> >
> > > Put another way, I'd like it to be the case that people who want to
> > > twiddle LEDs can write a ceph-mgr module that does that, rather than
> > > having to push out a libstoragemgmt-enabled agent to the Ceph servers.
> >
> > I'm not sure I agree.
> >
> > I understand some of the motivation, but the key use cases where I'd
> > want to "twiddle LEDs" involve enclosures that either don't yet have
> > an OSD deployed (e.g., where to plug in the new disk), or where the
> > OSD has failed (and may not even be able to start).
> >
> > And I don't want to have to maintain multiple paths for interacting
> > with the enclosures.
> 
> I agree with John that it would be great to have ceph-mgr plugins doing this
> sort of thing.  But the OSD can't be the only path, and I also don't like the idea
> of multiple paths.
> 
> The problem is that there needs to be something on the hosts that's doing
> this, and I don't want to just ignore it and hope some other layer solves it;
> years have gone by and nobody has done it, and I'd like to avoid a
> fragmented approach if we can.
> 
> On the other hand, if we simply make an opinionated choice about some
> other per-host agent service, like we did in the original Calamari (which used
> salt and zeromq, IIRC), we'll probably end up offending more users than we
> please.
> 
> Perhaps the way forward is to pick *some* external host agent and service
> to start with and ensure that it is integrated into ceph-mgr in a pluggable way
> such that we have (1) the osd:device mappings available, (2) a standard API
> for working with LEDs etc, and (3) a working plugin for twiddling the LEDs, but
> ensure that other "disk services" backends can also be used?

I think it's important to separate this problem into two pieces: ceph-specific and platform-specific.

The ceph-specific part of the problem is to create a single abstraction and mechanism so that upper-level tools (ceph-mgr, GUIs, workflow scripts, etc.) can manipulation the abstraction without worrying about the implementation details. I'm completely with John that ceph-mgr is the right place for the upper-layer to terminated. Ultimately, we'll have infrastructure that ties the physical state of the drives (power up/down, lights on/off, etc.) more closely to the operational state of the system -- this is an area where more standardized automation will remove a significant barrier to wide-spread deployments.

The platform-specific part definitely should be pluggable/configurable/soft/manipulable, etc. It'll be quite some time (if ever) before something like libstoragemgmt becomes a reliable, universal, standard interface. We can't let that hold back the development of the upper-level infrastructure stuff.

So, I'd vote for having an API termination in ceph-mgr. Have the mgr contact the destination system (the OSD is *NOT* the right path) to perform the action. Then do something like invoke a configurable shell script (something that's configurable) to perform the actual operation. 

 
> 
> sage
> 
> 
> --
> 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
--
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