[openstack-dev] Distro defaults [was Re: [oslo.config] Config files overriding CLI: The path of most surprise.]

Mark McLoughlin markmc at redhat.com
Tue Jul 2 19:43:57 UTC 2013


On Tue, 2013-07-02 at 17:48 +0000, Jeremy Stanley wrote:
> On 2013-07-01 15:10:26 -0700 (-0700), Mark Washenberger wrote:
> [...]
> > The talk about permanence confuses me, unless we mean that more
> > permanent values are overridden by less permanent ones.
> [...]
> 
> I think the "permanence" counter argument (which I don't agree with,
> just recounting it for completeness) was that command-line arguments
> may be embedded in init scripts by some distributions and then
> administrators would be surprised when their modifications to the
> configuration files weren't respected.

Yes, that was what the "permanence" discussion related to. The example I
was thinking of was '--logfile /var/log/nova/api.log' which doesn't seem
like a ridiculous thing to pass via the command line.

Since we've clearly moved on, I'm not sure replaying old points is very
constructive, but you have hit on an interesting topic, so ... :)

> Ultimately, however, any time
> distribution defaults which could be set in packaged configuration
> are instead being set with the service command-line in packaged init
> scripts, I would tend to just consider that a (serious) packaging
> bug and certainly nothing we should be catering to as a project.

That's very ... stringent. But I do mostly agree. Distros shouldn't
stick a tonne of distro defaults on the command line of services.

The two principles that matter IMHO are:

  1) users should be able to override defaults

  2) if a user deletes their config file, they get back to the defaults

Something we've experimented with in Red Hat OpenStack is to put distro
defaults in e.g. /usr/share/nova/nova-dist.conf. You can see some of the
thinking here, for example:

  https://bugzilla.redhat.com/show_bug.cgi?id=887334#c4

The alternative approach would be to patch the code with distro
defaults.

Now, you could say that distros shouldn't need to modify the defaults.
That's fair, but I don't think there's anything too crazy in our distro
defaults either:

  https://github.com/redhat-openstack/openstack-nova/blob/master/nova.conf

Anyone got other thoughts on how distros should handle this?

Cheers,
Mark.




More information about the OpenStack-dev mailing list