Home | History | Annotate | Download | only in distro_constructor
      1 PSARC Questions Version 1.22
      2 Approved Oct. 2008 (PSARC/2008/625)
      3 
      4 The 20 questions outline serves several purposes. One is to present to
      5 the ARC in a uniform manner pertinent information about any case. Many
      6 of the answers to these questions can be direct and specific references
      7 to other case materials (although care must be taken to keep the
      8 references current). A second purpose is to allow an ARC member to get
      9 a concise overview of the case in an efficient manner. Another purpose
     10 is that the 20 questions should provoke thought and questions for
     11 project teams unfamiliar with the ARC process, by asking questions
     12 about aspects of the project that need be considered. Lastly, the 20
     13 questions serves as a vehicle between the case owner and the project
     14 team as an indicator of preparedness. The 20 questions, as do other ARC
     15 materials, remain as documentation of the case plan of record.
     16 
     17 
     18 1.  What is the proposal being presented for review?
     19 
     20     * Give an overview of the project and its phase(s).
     21 
     22 	The Distribution Constructor(DC) is a tool for building
     23         and customizing OpenSolaris installation images.
     24         Users specify the processing needed to create an image
     25         containing the desired content via a configuration file.
     26         DC also provides checkpointing and logging features to
     27         allow for rapid development and testing.
     28 
     29 	DC has been delivered by the Caiman project to OpenSolaris
     30 	since October 2008.
     31 
     32     * Describe the exposure (OpenSolaris), scope and type of review desired
     33       (overview, full case, etc.)
     34 
     35 	The Distribution Constructor is part of OpenSolaris.
     36 	The project was developed in the open since inception.
     37 
     38 	We are requesting an open full case review.
     39 
     40     * Indicate the release binding requested by the project team. See:
     41 	http://www.opensolaris.org/os/community/arc/policies/release-taxonomy/
     42 
     43 	Minor
     44 
     45     * What are the project's deliverables?
     46 
     47 	This project will deliver a new package, SUNWdistro-const, which
     48 	will include the following:
     49 	* distro_const(1M) command
     50 	* sample finalizer scripts which are used for building
     51 	  shipping OpenSolaris images
     52 	* Man pages
     53 	* User's Guide
     54 
     55 	Libraries added or modified by this project are delivered in
     56 	the SUNWinstall package.
     57 	
     58     * How does this project align with existing or proposed ARC cases?
     59 
     60 	The DC project is a subproject under the new Solaris installation
     61 	umbrella.
     62 	PSARC/2007/039 - Caiman: New Solaris Installation Experience
     63 
     64 	Some use cases of DC uses pkg(1) commands extensively.  Some images
     65 	DC builds today uses pkg(1).
     66         PSARC/2008/190 - Image Packaging System
     67 
     68 2.  Describe user interactions.
     69 
     70     * Are new user interfaces being proposed, or existing interfaces being
     71       changed?
     72 
     73 	new user interfaces: 
     74 	- distro_const(1M) is a new command.
     75 
     76     * Explain the similarities in proposed interfaces with existing OS user
     77       interfaces (Solaris, Linux, Windows, etc.).
     78 
     79 	N/A
     80 
     81     * Are there any install time changes?
     82 
     83 	No install time changes.
     84 
     85 3.  What are the exported (defined by your project) and imported (defined by
     86     another project that your project then references) interfaces or protocols
     87     and their respective stability levels?  See:
     88         http://www.opensolaris.org/os/community/arc/policies/interface-taxonomy/ 
     89        The Distribution Constructor will introduce the following interfaces:
     90 
     91 Table 1 Interfaces Exported
     92  ____________________________________________________________________________
     93 |    Interface          		|Commitment  |Comments               |
     94 |_______________________________________|____________|_______________________|
     95 |/usr/share/man/man1m/distro_const.1m   |committed   | man page              |
     96 |/usr/share/man/man4/dc_parameters.4    |uncommitted | man page              |
     97 |manifest schema                        |uncommitted |                       |
     98 |finalizer API                          |uncommitted |                       |
     99 |ManifestServ                           |uncommitted |                       |
    100 |ManifestRead                           |uncommitted |                       |
    101 |SUNWdistro-const                       |committed   | package               |
    102 |_______________________________________|____________|_______________________|
    103 
    104        The Distribution Constructor will import the following interfaces:
    105 
    106 Table 2 Interfaces Imported by Distribution Constructor 
    107 _____________________________________________________________________________
    108 |Interface              |  Classification       |  Comments                  |
    109 |_______________________|_______________________|____________________________|
    110 |zfs(1m)                | committed             | man page                   |
    111 |xmllint(1)             | committed             | PSARC/2001/175 	     |
    112 |libxml(3)              | committed             | PSARC/2001/175	     |
    113 |_______________________|_______________________|____________________________| 
    114 
    115 	The sample scripts delivered by the Distribution Constructor
    116 	project will import the following interfaces:
    117 
    118 Table 3 Interfaces Imported by Distribution Constructor sample scripts
    119 _____________________________________________________________________________
    120 |Interface              |  Classification       |  Comments                  |
    121 |_______________________|_______________________|____________________________|
    122 |pkg(1m)                | under development     | PSARC/2008/190             |
    123 |lofiadm(1m)            | committed             | PSARC/1999/463 	     |
    124 |_______________________|_______________________|____________________________| 
    125 
    126 
    127     * Is there a versioning scheme in place?
    128 
    129 	Not yet.
    130 
    131     * Has the team secured interface contracts where necessary?
    132 
    133 	N/A
    134 
    135     * Use an ARC prescribed interface table format.
    136 
    137 	See above
    138 
    139 4. Describe any dependencies on hardware (e.g. SPARC exclusive), and on other
    140    projects within Solaris.
    141 
    142 	N/A
    143 
    144 5.  Projects need to be aware of the overall security of the system and how
    145     their components affect it. Which parts of this project are critical to
    146     the security of the system to avoid such unintended consequences such
    147     as unauthorized system entry, unauthorized access to or modification of
    148     data, elevation of privilege, denial of service, violation of labeled
    149     security, ...? Does this project require elevated privilege?
    150 
    151     A number of specific policies and practices address various aspects of
    152     the security of the system. They are found in appendix 1. Which of
    153     these are applicable to this project, and how are they addressed?
    154 
    155 	The Distribution Constructor must usually be run as root since
    156 	the operations the finalizer scripts perform are often on
    157 	files and other objects that require administrative privileges
    158 	to modify.  At present the tool checks for, and requires,
    159 	root privileges to execute, but further development should
    160 	make this unnecessary. 
    161 
    162 6.  Describe means of observing project functionality and performance, by
    163     an end user or by a system administrator.
    164 
    165 	The Distribution Constructor logs all standard out and standard
    166 	error to log files.  Users can track the progress of a build
    167 	by observing the log files.
    168 
    169 7.  How does the project deal with faults and interruptions? Initialization
    170     and restarting?
    171 
    172 	The DC executes user specified finalizer scripts to do the work 
    173 	of image construction.  Users have the option to specify whether
    174 	to continue the build or not if one of the finalizer script fails.
    175 
    176 	Upon successful execution of each finalizer script, a checkpoint
    177 	is taken.  Users can choose to re-start from any checkpoint.
    178 	They can also re-run the build from the beginning.
    179 
    180 	If a user interrupts manually when one of the finalizer script
    181 	is executing, the DC application will exit.  Users can choose
    182 	to restart the build from the very beginning or restart from
    183 	one of the previous successful checkpoints.
    184 
    185 8.  How does the project interact with Solaris virtualization technologies
    186     (xVM, LDOMs, zones, Branded zones, SunCluster, etc.)? 
    187 
    188 	N/A
    189 
    190 9.  Does this project require administration (i.e., configuration or
    191     management)? If so,
    192 
    193 	No.  This project does not require administration.
    194 
    195     * How is the project administered, and what sort of review process has
    196       this user interface undergone?
    197     * Is there a means of aggregating management and/or configuration with
    198       other related projects?
    199     * Does this project deliver its own administration along with the other
    200       components, or is this project an administration interface for other
    201       projects?
    202     * Are there any external (to Solaris) management interfaces to
    203       consider, or being consumed?
    204 
    205     Projects that require or deliver administrative interfaces are often by
    206     their nature security components of the system and should likely
    207     address the security question (#5 above, with attention to RBAC and
    208     Audit). (See also appendix 2).
    209 
    210 10. Have you reviewed the Policies and Best Practices? Are there any
    211     exceptions this project needs? See
    212 
    213     http://www.opensolaris.org/os/community/arc/policies/
    214     http://www.opensolaris.org/os/community/arc/bestpractices/
    215 
    216 	Reviewed the Policies and Best Practices links.  This project
    217 	does not need any exceptions.
    218