Sebastien Roy wrote:
> Cathy Zhou wrote:
>> Consider the old configuration: an aggr1 and /etc/hostname.aggr1
>>
>> During the first boot of system upgrade, network/physical would try to
>> plumb aggr1, but aggr1 cannot be created because the physical link
>> (say bge1) is not known to the daemon yet (it will not be known until
>> devices/local).
>
>> Can we move the iteration of network devices in or before
>> network/physical? I will try it out.
>
> Sounds like a promising idea, I hope strange SMF service dependencies
> don't get in the way.
>
I added a di_init() call in do_init_phys() function to force all the devices
to be attached. This should only be needed during a reconfiguration boot.
Further, I chose the first option we discussed: the bfu script and the
package post-install script coverts all the old datalink configurations to a
serials of "dladm" commands and write them into a script:
/var/svc/profile/upgrade_datalink. This script will be run in the
network-physical service, and therefore upgrade all the necessary datalink
configuration.
Unfortunately, we cannot rename this script file in the network/physical
service because the filesystem is still read-only at this point. I deferred
that to the manifest-import service:
/net/aquila.prc/export/home/cathy/clearview/webrev_upgrade/index.html
There is a last issue in the bfu/upgrade area - based on the discussion with
David Powell, the datalink-management service won't be imported during
system upgrade (looks like a bug in SMF framework). So that we have to add
similar smf_import_service() logic (see the bfu script) in the package
post-install script as well.
Thanks
- Cathy