sun microsystems Systems Architecture Committee _________________________________________________________________ Subject: Zones Upgrade (Ashanti and Zulu) Submitted by: James Carlson File: PSARC/2005/474/opinion.ms Date: September 21st, 2005 Committee: James D. Carlson, Ed Gould, Gary Winiger, Shudong Zhou. Product Approval Committee: Solaris PAC solaris-pac@sun.com 1. Summary The Zones Upgrade project provides a phased approach towards full support of upgrading Solaris systems with non-global zones. In the first phase, called "Ashanti," patches will be used to deliver the bits that would ordinarily be delivered by packages in a standard upgrade. The second phase, "Zulu," will deliver Live Upgrade and freshbitted package upgrade support. Only Ashanti is fully described by this case. 2. Decision & Precedence Information The project is approved as specified in references [1] through [6]. The project may be delivered in a patch/micro release of Solaris. 3. Interfaces The project exports the following interfaces. _________________________________________________________ | Interfaces Exported | |______________________|_________________|______________| |Interface | Classification | Comments | |______________________|_________________|______________| |nfs_global_client_only| Contracted Pro-| See [1], [5]| | | ject Private | | | | | | |______________________|_________________|______________| PSARC/2005/474 Copyright 2005 Sun Microsystems, Inc. - 2 - _________________________________________________________ | Interfaces Exported | |______________________|_________________|______________| |Interface | Classification | Comments | |______________________|_________________|______________| |zlogin -R | Contracted Pro-| See [1], [6]| | | ject Private | | |zoneadm -R {un,}mount | Contracted Pro-| See [1], [6]| | | ject Private | | |{pkg,patch}{add,rm} | Project Private| See [1], [2]| |scratch zone support | Project Private| See [1] | |libzonecfg | Contracted Pro-| See [1], [6]| | | ject Private | | |Jumpstart keywords | Unstable | See [3] | |patch script rules | Sun Private | See [4] | |______________________|_________________|______________| 4. Opinion In general, the ARC members understood that what was being approved in this case represented a time-pressured recovery plan for a bad situation. Thus, although there were clearly unresolved issues that stood out as longer term problems to be addressed, the committee agreed that this project represents one step on that road. 4.1. Case Boundary Several members felt that the case materials left the boun- dary for this case, and therefore what was being approved by the committee, unclear. The case describes the details of Ashanti (references [1] and [2]) and provides an outline of Zulu (reference [7]), but does not contain the full details of the latter. The project team responded that approval of this case would set the contents of Ashanti, and that the plan is to bring future cases to describe the detailed contents of Zulu. The reason for providing some of the Zulu overview in this case is to allow for a discussion of the roadmap, as best it is known now, and to set the expectation for future cases to come. 4.2. NFS And Zones The effect of "Clarification of Cross-Zone Descriptor Res- trictions" (PSARC 2004/357) has come home to roost. That other project effectively outlaws all cross-zone uses of NFS mount points. The miniroot itself (on SPARC systems) is mounted over NFS, PSARC/2005/474 Copyright 2005 Sun Microsystems, Inc. - 3 - which means that all of the binaries (including zlogin) are accessed via NFS, and thus cannot invoke zone_enter. In addition, the patch tools assume direct access to the patch and have no mechanism for dealing with file descriptor non- transportability into zones as described in 2004/357. The result is a serious problem for this project, and an /etc/system hack that gets around it in the short term. This issue led to the advice to the PAC, listed in section 6 below. 4.3. The Long Run The long term implications were discussed at some length. The project team indicated that there are many steps on this road, and that there's a project running now that will make this story clearer. However, some rough details are known now for the Solaris 10 Update series. In Update 1, only Standard Upgrade would be supported on all systems, including those that have non-global zones installed. Live Upgrade would work only for systems without non-global zones. This project provides that solution. In Update 2, both Standard and Live Upgrade will work, although it is likely that Standard Upgrade will still use the Ashanti (patch-based) mechanism. A future case will describe the LU (Zulu) changes. In Update 3 or some future update, both forms of upgrade will work, and the plan is to make Standard Upgrade rely on the same underlying mechanisms as Live Upgrade. This will be the end of the Ashanti solution. A future case will describe the Standard Upgrade changes required. Longer term, the plan is to steer customers towards solu- tions that reduce downtime and the pain of patching and upgrades. This means looking at Purple Haze, greater reli- ance on Live Upgrade, and a simplification of the existing code base. 5. Minority Opinion(s) None. 6. Advisory Information The Solaris PAC is advised to fund a project to remove the cross-zone restrictions from NFS. PSARC/2005/474 Copyright 2005 Sun Microsystems, Inc. - 4 - 7. Appendices 7.1. Appendix A: Technical Changes Required None. 7.2. Appendix B: Technical Changes Advised None. 7.3. Appendix C: Reference Material Unless stated otherwise, path names are relative to the case directory PSARC/2005/474 and are normative. 1. Scratch Zone design document. File: inception.materials/scratchzone-design.pdf 2. Interim (Ashanti) Update design document. File: inception.materials/interimUpdateDesign.txt 3. Jumpstart keyword disposition. File: inception.materials/jumpstart.txt 4. Patch script rules File: final.materials/patch-rules.txt 5. Contract for NFS temporary cross-zone work-around File: final.materials/contract-01.txt 6. Contract for Scratch Zone support File: final.materials/contract-02.txt 7. Zones Upgrade (Zulu) design document. (Non-normative) File: inception.materials/upgradezone-3.3.pdf PSARC/2005/474 Copyright 2005 Sun Microsystems, Inc.