Hi Neil, Nick, Ed et al, thanks for your review. I have fixed the typos found by Neil. In addition a new problem got identified, where I would like an additional review - the fix is again very small. The webrev is updated to contain the fix for the new CR as well:
http://cr.opensolaris.org/~frueauf/colorado-1-ha-ipkg-zone-6812924-6814263/ The additional problem is with the validate method for the sczsmf component: If a native non-global zone is getting created and installed on Solaris 10 and Solaris Express (aka Nevada), it will inherit the locales installed within the global zone. So while the default locales do not need to be set to match between global zone and non.global zones, the locale itself would be available. OpenSolaris does not have a native brand-type - the default there is the ipkg brand type. If a ipkg non-global zone is getting created and installed on OpenSolaris, it will not inherit the locales installed within the global zone. Instead it has the very basic set (like C, POSIX), but none else. Even the locale command is not getting installed. On such a default installation, if you perform zlogin <zonename> <command> you will see a message send to stderr like: en_US.UTF-8: unknown locale if en_US.UTF-8 is the default locale within the global zone. And in most cases stderr is not being processed. But within the validate method for sczsmf there is one check to see if the SMF service being provided in the config file exists and all of the services it depends on are online: [...] if STATE=`${ZLOGIN} ${ZONE} svcs -Hd ${SERVICE} 2> ${LOGFILE} | /usr/bin/awk '{if ($1 != "online") print $3 " which is " $1}'` then if [ -s "${LOGFILE}" ] then # e.g. svcs: Pattern 'X' doesn't match any instances log_message error validate rc_validate=1 fi [...] And here the output to stderr is captured and evaluated. Normally it is expected to be empty - if it is not it triggers validate to fail.Since the zlogin will always create the "unknown locale" message to stderr, the code will always think the provided SMF service does not exist and error out. I would appreciate a quick review so that I could still be able to putback later today. Greets Thorsten Neil Garthwaite wrote: > Hi Thorsten, > > Good explanation, just some minor nits. > > line 930 retreive should be retrieve > line 931 Therefor should be Therefore > > Also the blog link didn't work, instead I used http://blogs.sun.com/stw/ > > Regards > Neil > > On 4 Mar 2009, at 23:05, Thorsten Frueauf wrote: > >> Hi, >> >> please review the following webrev: >> http://cr.opensolaris.org/~frueauf/colorado-1-ha-ipkg-zone-6812924/ >> >> The sczbt components allows to make an IP configured through a >> SUNW.LogicalHostname (LH) resource available within the non-global >> zone, after the zone is booting. >> >> This is done by setting the zone flag with ifconfig on the >> corresponding adapter, which hosts the IP for the LH, when the zone is >> booting, and removing that flag before the zone is halted. >> >> Clearview did change the way IPMP works. Details can be found at >> http://www.opensolaris.org/os/project/clearview/ipmp-highlevel-design.pdf >> >> and a very good blog with many example output: >> http://blogs.sun.com/stw/entry/ipmp_re_architecture_is_delivered >> >> The sczbt functions file does implement the get_ipmp_state() function. >> In the lack of a better CLI API (pre Clearview), it uses scstat to >> retrieve the adapter list for a given IPMP group, for which the LH is >> configured, and tries to determine the adapter where the IP is >> currently configured on, to then set the zone flag. >> >> scstat does not display any Clearview information. Clearview will >> configure the IP not on any physical adapter, instead it uses the new >> ipmp<number> interface. >> >> The current code does not work with that logic and needs modification, >> which is tracked with CR 6812924. >> >> Clearview did introduce a new command line interface: /sbin/ipmpstat >> >> The option -g will output information that can be used to determine >> the ipmp interface for which the zone flag needs to get set. Example: >> >> # ipmpstat -g >> GROUP GROUPNAME STATE FDT INTERFACES >> ipmp0 sc_ipmp0 ok -- e1000g0 >> >> The fix has been verified with OpenSolaris build 108. Regression test >> has been done on OpenSolaris 2008.11 (build 101a), which has no >> Clearview. >> >> The review will timeout at Friday, 6. March, COB MET. >> >> Greets >> Thorsten -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sitz der Gesellschaft: Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht Muenchen: HRB 161028 Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer Vorsitzender des Aufsichtsrates: Martin Haering ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~