|
Key
This line was removed.
This word was removed. This word was added.
This line was added.
|
Changes (3)
View page history... |
| Files: _auto_install.h auto_install.c auto_parse.c auto_parse_manifest.c auto_td.c_ |
| The SMF method _auto_installer_ will get the AI combined manifest from the install server (from AI web server using HTTP) and calls 'auto-install' with the manifest as an argument. 9(The SMF method code will be discussed later) |
| # The _main()_ of the _auto-install (file: auto_install.c)_ parses the command and get the profile name # The function _auto_split_manifests()_ called to separate the combined manifest in to AI and SC manifests. |
... |
| ## Even though AI engine has two code path one taking disk as the input and another taking manifest as the input. AI uses the code path with AI manifest as the input. The disk path is used for debugging and testing AI engine. ## _auto_perform_install()_ calls _install_from_manifest()_ to take the code path to install using the AI manifest |
| ## _install_from_manifest_ does the following: ### Calls _ai_get_manifest_disk_info() (auto_parse.c)_ |
| ## First it calls ai_get_manifest_disk_info() to get the target related XML parameters ## Next calls auto_select_install_target() which inturn calls auto_validate_target() (auto_td.c) to do the following: ### Initiate Target discovery (using Orchestrator interfaces) ### Get the list of available disks in the system ### If disk ame is provided in the AI manifest, then look for the disk in the system. If the disk doesn't exist on the system return error. ### If the disk name is not explicitly given but a set of disk parameters are provided, try to find the disk that matches the given disk parameters (by calling disk_criteria_match()). If cannot find a matching disk, return error. ### If the disk name is not given and was not asked to find a disk matching a set of disk parameters, then AI assumes that the user wanted to find a default disk for installation. So we call select_default_disk() to find a disk with Slice size is more than the recommended space. If such a disk not found, return error ### If there is a valid disk, check whether there are partitions already defined. If defined save the information about the partition to use it later by Orchestrator. If not defined, make a note that the whole disk will be used for Solaris. ### Do similar things for the Slice. ## Create data structures for the partitions to be created/deleted. If there are no existing partitions, create data structures and to initialize a partition table. Validate the created/modified data structure. All the partition related code is in liborchestrator/disk_parts.c ## Repeat the previous step for Slices. All the partition related code is in liborchestrator/disk_clices.c ## Create a NV_list using the values from AI manifest (disk target) and SC manifest (time zone, user name, password, and root password). The SC manifest should be parsed to get the values. Add the IPD information from AI manifest. ## If HTTP proxy is specified, set environment variable for the proxy to be used later. ## Add the list of packages to be installed ## Call om_perfoem_slim_install() to start the installation. If the Automated Installer failed before making this call, no changes are made on the system. This function modifies partitions and slices. It also creates ZFS root file systems on one of the slices. # Installation is complete. Tear down the XML tree and exit. # The SMF method auto-installer will exit successful and the system can be rebooted. |