Peter, Clarification - I was trying to point out how one can define file dependency. However, a colleague pointed out that you may wanted file dependency on a variable string property. If that's the case, it's not currently supported. See
6500508 Want dependencies to use property values -tony Tony Nguyen wrote: > Peter, > > Yes, it can be done. We have several examples in existing > manifests(e.g. dhcp-server.xml, ipfilter.xml). > > Hope that helps, > -tony > > Peter Eriksson wrote: >> Can it be done? Ie I want to be able to specify (for example) a >> config file path in a >> property, and then define a dependency on that config file... >> >> Ie, sort of like the attached sample manifest (which doesn't work). >> >> >> This message posted from opensolaris.org >> >> ------------------------------------------------------------------------ >> >> <?xml version="1.0"?> >> <!DOCTYPE service_bundle SYSTEM >> "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> >> >> <!-- >> Copyright (c) 2006-04-06 Peter Eriksson (peter at ifm.liu.se) >> >> This manifest can be used to manage the ISC DHCP daemon using the >> Solaris SMF subsystem. >> >> Import this manifest using: >> svccfg -v import dhcpd.xml >> >> Then activate the daemon with: >> >> svcadm enable network/dhcpd:default >> svcadm enable network/dhcpd:mgmt >> --> >> >> <service_bundle type='manifest' name='dhcpd'> >> >> <service >> name='network/dhcpd' >> type='service' >> version='1'> >> >> <!-- Need / & /usr filesystems mounted, /var mounted read/write --> >> <dependency >> name='fs-local' >> type='service' >> grouping='require_all' >> restart_on='none'> >> <service_fmri value='svc:/system/filesystem/local' /> >> </dependency> >> >> <dependency >> name='network-service' >> grouping='require_all' >> restart_on='none' >> type='service'> >> <service_fmri value='svc:/network/service' /> >> </dependency> >> >> <dependency >> name='name-services' >> grouping='require_all' >> restart_on='refresh' >> type='service'> >> <service_fmri value='svc:/milestone/name-services' /> >> </dependency> >> >> <dependency name='config_file' >> grouping='require_all' >> restart_on='restart' >> type='path'> >> <service_fmri >> value='%{dhcpd/config}' /> >> </dependency> >> >> <dependency name='leases_data' >> grouping='require_all' >> restart_on='restart' >> type='path'> >> <service_fmri >> value='%{dhcpd/leases}' /> >> </dependency> >> >> <exec_method >> type='method' >> name='start' >> exec='/ifm/sbin/dhcpd %{dhcpd/interface} -cf %{dhcpd/config} >> -lf %{dhcpd/leases}' >> timeout_seconds='60'> >> </exec_method> >> >> <exec_method >> type='method' >> name='stop' >> exec=':kill' >> timeout_seconds='30'> >> </exec_method> >> >> <instance name='default' enabled='false'> >> >> <property_group name='dhcpd' type='application'> >> <propval name='interface' type='astring' value='dmfe0' /> >> <propval name='config' type='astring' >> value='/etc/dhcpd.conf' /> >> <propval name='leases' type='astring' >> value='/etc/dhcpd.leases' /> >> </property_group> >> >> </instance> >> >> <instance name='mgmt' enabled='false'> >> >> <property_group name='dhcpd' type='application'> >> <propval name='interface' type='astring' >> value='dmfe1' /> >> <propval name='config' type='astring' >> value='/etc/dhcpd-mgmt.conf' /> >> <propval name='leases' type='astring' >> value='/etc/dhcpd-mgmt.leases' /> >> </property_group> >> >> </instance> >> >> <stability value='Evolving' /> >> >> <template> >> <common_name> >> <loctext xml:lang='C'> >> ISC DHCPD server >> </loctext> >> </common_name> >> <documentation> >> <manpage title='dhcpd' section='1' >> manpath='/usr/share/man' /> >> </documentation> >> </template> >> </service> >> >> </service_bundle> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> smf-discuss mailing list >> smf-discuss at opensolaris.org >> > > _______________________________________________ > smf-discuss mailing list > smf-discuss at opensolaris.org