Hello Tony,
Tony Nguyen wrote:
>> I have a distinct feeling that it's because of the following dependency
>> information in dlmgmt.xml:
>>
>> <dependent name='network-physical'
>> grouping='require_all'
>> restart_on='none'>
>> <service_fmri value='svc:/network/physical' />
>> </dependent>
>>
>> Can we express the dependency in the other direction to workaround this
>> problem?
>>
>
> Dependency implies certain starting order, dlmgnt -> network-physical,
> thus reversing wouldn't get us the original desired starting order.
I'm not sure I got my point across properly. Instead of the above in
dlmgmt.xml, I'm suggesting putting the following in network-physical.xml:
<dependency name='datalink-management'
grouping='require_all'
...
<service_fmri value='svc:/network/datalink-management' />
</dependency>
That way, the network/physical service can start the datalink-management
service without svcadm detecting a problematic dependency (the dependency
from network-physical.xml will not yet have taken effect since
manifest-import hasn't yet run!)
> Two narrow down the problem, can you
>
> 1. Send "svcs -l datalink-management" output to get the current state of
> the service(there may be a bug in the synchronous, -s option).
I'm not sure what you mean by "current". Can you clarify? The problem
is with enabling the service from within net-physical. The service is
enabled correctly when manifest-import runs, but by that time, it's too late.
> 2. Output of network/physical log(alt_logfle) for clues from svcadm
> enable -ts command.
The log file contains:
unable to enable datalink-management: 3
Which is my own output from the new code I added which does:
svcprop -q -p system/reconfigure system/svc/restarter:default
if [ $? -eq 0 ]; then
svcadm enable -ts datalink-management
status=$?
if [ $status -ne 0 ]; then
echo "unable to enable datalink-management: $status"
exit $SMF_EXIT_ERR_CONFIG
fi
fi
-Seb