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

Reply via email to