2015-09-15 18:37 GMT+02:00 Lars Kellogg-Stedman <lars(a)redhat.com>:
 On Fri, Sep 11, 2015 at 11:32:14AM -0400, Matthew Miller wrote:
> On Fri, Sep 04, 2015 at 11:17:16AM -0400, Matthew Miller wrote:
> > > I'd think that "Restart=always" is a good setting for all
services.
> > > What it really brings up is maybe the issue of streamlining the unit
> > > config files.
> >
> > For several releases, we've had packaging guidelines in Fedora
> > encouraging Restart=on-failure or Restart=on-abnormal:
> >
> > 
https://fedoraproject.org/wiki/Packaging:Systemd#Automatic_restarting
> >
> > We never, however, had an effort to bring existing packages into a
> > consistent state. I'd love for that effort to happen — anyone
> > interesting in helping out?
>
> And then there were crickets. :)
 I didn't see any other traffic on this, so...
 How about a mechanism to *generate* unit files using information
 specified by the package?  Maybe packages would provide "stub" unit
 files that contain only things that differ from standard behavior
 (e.g., description, dependencies, environmentfiles, etc), and then the
 actual unit file is generated by filling in the missing information.
 E.g., for openstack-nova, a package provides the following stub:
   [Service]
   Type=notify
   NotifyAcess=all
   TimeoutStartSec=0
   User=nova
 And then you run:
   install-systemd-unit \
     --execstart /usr/bin/nova-api \
     --description "OpenStack Nova API Server" \
     /path/to/stub/units/openstack-nova-template.service \
     /lib/systemd/system/openstack-nova-api.service
 And you get:
   [Unit]
   Description=OpenStack Nova API Server
   After=syslog.target network.target
   [Service]
   Type=notify
   NotifyAccess=all
   User=nova
   ExecStart=/usr/bin/nova-api
   Restart=on-failure
   [Install]
   WantedBy=multi-user.target
 And for, say, openstack-nova-scheduler:
   install-systemd-unit \
     --execstart /usr/bin/nova-scheduler \
     --description "OpenStack Nova Scheduler Server" \
     /path/to/stub/units/openstack-nova-template.service \
     /lib/systemd/system/openstack-nova-scheduler.service
 
Not a bad idea, could be a feature for Fedora 24 (systemd-unit-utils)
/me adds this on his TODO
Could be a RPM macro but it would be very ugly.
 Or if that's too crazy, just add a check to the fedora-review
tool
 that ensures unit files have standard settings, such as the Restart=
 setting.  The review could flag things like:
 - Missing Restart behavior
 - Missing Description
 
Easy fix.
 Either solution would be reasonably easy to put together.  I like
the
 first one, because (a) yay automation and because (b) it would allow
 for local policy overrides ("I want all my services to run with
 Restart=always instead of Restart=on-failure").
 An auditing tool could also be used to check all of the *existing*
 packages, if that were preferable in addition to or as an alternative
 too either of the above.
 --
 Lars Kellogg-Stedman <lars(a)redhat.com> | larsks @ {freenode,twitter,github}
 Cloud Engineering / OpenStack          | 
http://blog.oddbit.com/
 _______________________________________________
 Rdo-list mailing list
 Rdo-list(a)redhat.com
 
https://www.redhat.com/mailman/listinfo/rdo-list
 To unsubscribe: rdo-list-unsubscribe(a)redhat.com