Re: subpackages for mgr modules

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

 



On 22-05-17 10:22, Tim Serong wrote:
> On 05/22/2017 08:31 AM, John Spray wrote:
>> On Fri, May 19, 2017 at 7:25 PM, Ken Dreyer <kdreyer@xxxxxxxxxx> wrote:
>>> On Fri, May 19, 2017 at 12:19 AM, Tim Serong <tserong@xxxxxxxx> wrote:
>>>> We can't have mgr just load everything that exists (someone might want
>>>> to disable some modules, without necessarily uninstalling them).
>>>
>>> I'm curious why not?
>>
>> Perhaps "can't" is too strong a word, but the way it only loads
>> explicitly enabled modules is intentional.
>>
>> The thinking was...
>> 1. It's not a given that every module will be packaged independently.
>> That's not necessarily going to be useful in all cases -- if/when we
>> reach a point where some modules are so ubiquitous that we want them
>> everywhere, then having lots of separate packages may not be
>> desirable.  I'm thinking back to things like the
>> gstreamer-plugins-good/bad/ugly packaging, and the bajillion apache
>> sub-packages -- as a user I usually find this stuff really frustrating
>> because I have a big root partition and my life is simpler if I just
>> pre-emptively have all the modules (but that doesn't mean I want them
>> all running).
>> 2. Which packages are installed on a system is usually something
>> controlled by an external tool, which tends to be different on
>> different sites/in diffferent products.  Consequently, the exact steps
>> required to turn off a module are not going to be consistent across
>> sites.  It is not a given that a support/admin person will know how to
>> turn off an individual package, unless they're also the person who
>> configured whatever orchestration tool was installing packages.
> 
> What John said.  I might not mind having installation of a package
> trigger default enablement of something (depends on the service), but I
> really don't like the idea of being required to uninstall something in
> order to disable it.  In addition to the above, even if I *am* the
> person immediately responsible for installing packages on a system and I
> know what they all are, I can't necessarily guarantee that package repos
> are always available, or that if available their content won't change.
> This causes problems if I uninstall something to disable it, then later
> want to re-enable it.
> 
> Here's a fun possible edge case: install a module, then later decide to
> disable it temporarily by uninstalling it.  Later still, I want to
> re-enable it, but meanwhile updates to ceph have been released in my
> distro's update repo.  I can no longer install the module which matches
> the version of ceph I have installed, and so need to upgrade my base
> ceph packages too in order to install the module I want to enable.
> 
>> 3. The "install to enable" convention is more welcome on some distros
>> than others.  For example, debian (I think) historically did/does this
>> for services, RPM distros historically didn't.
> 
> Some services will be enabled by default if installed on openSUSE and
> SLE now.  But not very many :)  See
> https://build.opensuse.org/package/view_file/openSUSE:Factory/systemd-presets-branding-openSUSE/default-openSUSE.preset?expand=1
> 
>>>
>>> Ceph is already hard to configure, and "install to enable / uninstall
>>> to disable" would make it simpler to use.
>>
>> My preferred solution would be mon commands for toggling modules "ceph
>> mgr module [enable|disable] <module>", and a record in the MgrMap that
>> says which are enabled.  There would be a bit of extra data in the mgr
>> beacon message for the daemons to tell the MgrMonitor which modules
>> are available.  The MgrMonitor could also raise a health warning if
>> the mgr daemons have inconsistent plugins.
>>
>> The major advantage of doing that is that all the mgr daemons see the
>> same setting.  That way, if someone enables a module on one of their
>> mgr nodes, they don't get a nasty shock when a failover happens and
>> the module is gone on the node they failed over to.
>>
>> It would also let them do it without having to go and directly log
>> into each of their mgr nodes to make a change (as they currently have
>> to do with config files, or would also have to do with package
>> install/uninstall or symlinks).

Just 2 FreeBSD cts. It is the modus there that installation is just a
"get the software step", nothing is automagically enabled. As not to
surprise the sysadmin with servers running that he/she has not
configured to their liking.

Another valid point is versioning. FreeBSD has quarterly package
building releases. Once you cross that line for a new release. It could
be that you need to upgrade quite some tools to actually have a new and
compatible set of applications.
So unstall to disable will very likely get you into trouble.

Next to the fact that I have been caught in the module-jungle that John
references to more that once. Especially Apache/php/php-modules and
security issue were/are a notorious pain.

--WjW


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