[OmniOS-discuss] UPDATE NOW --> ntp to 4.2.8p4

Lauri Tirkkonen lotheac at iki.fi
Thu Oct 22 19:41:34 UTC 2015


On Thu, Oct 22 2015 20:57:45 +0200, Volker A. Brandt wrote:
> Thanks for all the work you're doing on OmniOS!
> 
> > > On Oct 22, 2015, at 1:11 PM, Dan McDonald <danmcd at omniti.com>
> > > wrote:
> > >
> > > "pkg update" followed by "svcadm restart ntp" as a safety measure
> > > should be sufficient.  No rebooting is needed.
> >
> > I made a small mistake here.  The "svcadm restart..." is not
> > necessary, the IPS package does the right thing here.
> 
> Well, no, it doesn't. :-)  That's due to a design flaw in the interaction
> between IPS and SMF (IMHO).  Even though the manifest object in the package
> is properly tagged with restart_fmri, the service is never restarted,
> because the manifest is not touched during the "pkg update", as it has not
> changed since the last package version.
> 
> So if you change an SMF method in a package and want an "automatic"
> restart, you  need to also physically modify the SMF manifest.  I do that
> by just incrementing a version counter or a timestamp, and noting the
> fact in an XML comment in the manifest.  Otherwise, you need to manually
> restart the service.

Well, that's not a design flaw. Actuators are executed only when the
action (eg. file) specifying them changes -- in other words, the
packager should include restart_fmri actuators in file actions that are
relevant for the service in question (eg. the ntpd binary at minimum).
This ntp package does not contain *any* restart_fmri actuators for the
ntp service:

    % pkg contents -mr pkg://omnios/service/network/ntp@4.2.8.4-0.151014:20151022T170026Z|grep restart_fmri
    file cb84fc718d7aa637c12641aed4405107b5659ab8 chash=8758e80d1b9738c35f2d29cdebceee2930cdfa3b group=bin mode=0444 owner=root path=lib/svc/manifest/network/ntp.xml pkg.csize=1649 pkg.size=4681 restart_fmri=svc:/system/manifest-import:default

(sidebar: the manifest-import service is what imports service manifests
into the SMF repository, which you need to do when you install a new
service)

If you wanted to restart ntp when any files in the ntp package change on
update, you would need an actuator like
'restart_fmri=svc:/network/ntp:default' on *all* file actions delivered
by the package.

-- 
Lauri Tirkkonen | lotheac @ IRCnet


More information about the OmniOS-discuss mailing list