On 02/22/10 01:57 PM, Alan Maguire wrote:
> On 22/02/2010 19:38, Alan Maguire wrote:
>> On 22/02/2010 19:33, Tony Nguyen wrote:
>>> On 02/22/10 10:01 AM, Alan Maguire wrote:
>>>> On 22/02/2010 17:56, Tony Nguyen wrote:
>>>>> On 02/22/10 09:49 AM, Alan Maguire wrote:
>>>>>> On 22/02/2010 17:26, Sean Wilcox wrote:
>>>>>>> Alan Maguire wrote:
>>>>>>>> hi folks
>>>>>>>>
>>>>>>>> I was wondering if there have been any other cases where the
>>>>>>>> above has been observed - a valid manifest appears to
>>>>>>>> be imported, a manifest hash that looks correct is present
>>>>>>>> (ensuring that reimport won't work until we delete the
>>>>>>>> service with "svccfg delete -f") but property groups are
>>>>>>>> missing (specifically  the service dependencies, dependents
>>>>>>>> and all its methods - start,stop,refresh). I can't see any 
>>>>>>>> complaints
>>>>>>>> in the manifest-import or startd logs, the former actually 
>>>>>>>> seems to
>>>>>>>> be adding the relevant manifest, with the following line in the 
>>>>>>>> log:
>>>>>>>>
>>>>>>>> add_manifest network/location  
>>>>>>>> /var/svc/manifest/network/network-location.xml
>>>>>>>>
>>>>>>>> Even if I delete the manifest hash propertygroup in smf/manifest,
>>>>>>>> the service is reimported but the properties still don't appear -
>>>>>>>> a delete -f on the service is required to get the properties back.
>>>>>>>> Are there any known manifest-import issues that might explain
>>>>>>>> this? Is there any more info I can collect that might help shed 
>>>>>>>> light
>>>>>>>> on what's going on? It doesn't appear that startd or configd
>>>>>>>> have died - no corefiles appear etc. BTW we're seeing this for the
>>>>>>>> first time since merging with snv_134, and after fresh install 
>>>>>>>> to recent
>>>>>>>> Nevada build + BFU of project bits, but on sparc only.
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>>
>>>>>>>> Alan
>>>>>>>> _______________________________________________
>>>>>>>> smf-discuss mailing list
>>>>>>>> smf-discuss at opensolaris.org
>>>>>>>>
>>>>>>>>
>>>>>>> If you manually import the service with svccfg -v import 
>>>>>>> <manifest> any additional information given?
>>>>>>>
>>>>>> Yep, manual import works fine - see below for
>>>>>> output.
>>>>>>
>>>>>>> When you say recent Nevada build, what is that build?
>>>>>> The base build (installed via JumpStart) was snv_130, on
>>>>>> top of which I bfu'ed project bits synced with snv_134.
>>>>>>> The reason the add_manifest message is something that's
>>>>>>> added if you are not using a recent svccfg to import the 
>>>>>>> manifest, because it's not getting the manifestfile <-> service
>>>>>>> connection created via svccfg, but manifest-import is upgrading 
>>>>>>> the service to make that connection.
>>>>>>>
>>>>>> Hmm, the weird thing is though that even post-BFU,
>>>>>> if I delete the location service and reboot, these properties
>>>>>> are still missing after re-import. However if I "svccfg delete -f"
>>>>>> and manually "svccfg import", rather than via manifest-import,
>>>>>> all is well. Here's an example of where I "svccfg delete -f" and 
>>>>>> reboot.
>>>>>> The properties are missing,but when I "svccfg delete -f" and 
>>>>>> manually
>>>>>> "svccfg import", they appear. When I "svccfg delete -f" and 
>>>>>> reboot, I see:
>>>>>>
>>>>>> Loaded 1 smf(5) service descriptions
>>>>>>
>>>>>> ...in the manifest-import log.
>>>>>>
>>>>>> And after removal + reboot of the location service,
>>>>>> the properties look like this:
>>>>>>
>>>>>> # svcprop location
>>>>>> location_netcfg/entities fmri svc:/network/netcfg
>>>>>> location_netcfg/external boolean true
>>>>>> location_netcfg/grouping astring require_all
>>>>>> location_netcfg/restart_on astring none
>>>>>> location_netcfg/type astring service
>>>>>> general/enabled boolean false
>>>>>> restarter_actions/auxiliary_tty boolean false
>>>>>> restarter_actions/auxiliary_fmri astring svc:/network/physical:nwam
>>>>>> restarter_actions/refresh integer
>>>>>> general_ovr/enabled boolean true
>>>>>> restarter/auxiliary_state astring none
>>>>>> restarter/logfile astring /var/svc/log/network-location:default.log
>>>>>> restarter/next_state astring none
>>>>>> restarter/state astring online
>>>>>> restarter/state_timestamp time 1266860005.834828000
>>>>>
>>>>> Is the location service delivered enabled? It looks like location 
>>>>> service is enabled by another service.
>>>>>
>>>> It's delivered disabled since it's only used if NWAM is
>>>> running. If the network/physical:nwam is enabled, it
>>>> will in turn enable network/location. On first reboot
>>>> post-upgrade, physical:nwam will try and enable -t
>>>> location:default, and since manifest-import
>>>> has not run, the latter is not present. Could this be a
>>>> factor? Thanks!
>>>>
>>>> Alan
>>>
>>> Ah, I should have seen physical:nwam in the auxiliary_fmri property. 
>>> This is similar to the bug we discovered during Early Import testing.
>>>
>>> Properly imported service instances are expected to have last-import 
>>> snaphots which svccfg import uses to perform property upgrades. When 
>>> a service is missing last-import snapshots but have 'enabled' 
>>> properties, svccfg import assumes such service to be properly 
>>> imported and only generated last-import snapshot for it. That is, 
>>> last-import snapshot capable svccfg was introduced after the initial 
>>> integration of SMF thus we simply upgrade services by adding 
>>> last-import snapshot.
>>>
>>> When a service created by dependent definition, network/netcfg 
>>> defines location service as dependent, location service doesn't have 
>>> a last-import snapshot. physical:nwam comes along and enables 
>>> location which populated location's general/enabled property. Since 
>>> location service is missing last-import snapshot but it has 
>>> general/enabled property, svccfg import would not properly import 
>>> the service.
>>>
>>> The good news is that Early Manifest Import will solve this issue.
>>>
>> great stuff, thanks for the help guys! I _think_
>> I may have an interim fix too - we were unconditionally
>> enabling the location service in nwam's start method
>> even if it doesn't exist yet (which is the case on first
>> boot post-BFU), so I reckon checking for existence first
>> should solve this in the short term. I should have
>> confirmation if this works or not in the next few hours.
>>
> quick follow-up - adding the service existence check
> sorted things out. Thanks again for the help!
>
> Alan

Cool. Glad you got it sorted out.

-tn

Reply via email to