author | Sue Sohn <Susan.Sohn@Oracle.COM> |
Fri, 20 Aug 2010 11:31:18 -0600 | |
changeset 862 | e9f31f2f2f2d |
parent 846 | 70dd9e819f25 |
child 867 | cfbbedf29419 |
permissions | -rw-r--r-- |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
2 |
* CDDL HEADER START |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
3 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
4 |
* The contents of this file are subject to the terms of the |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
5 |
* Common Development and Distribution License (the "License"). |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
6 |
* You may not use this file except in compliance with the License. |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
7 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
8 |
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
9 |
* or http://www.opensolaris.org/os/licensing. |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
10 |
* See the License for the specific language governing permissions |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
11 |
* and limitations under the License. |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
12 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
13 |
* When distributing Covered Code, include this CDDL HEADER in each |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
14 |
* file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
15 |
* If applicable, add the following below this CDDL HEADER, with the |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
16 |
* fields enclosed by brackets "[]" replaced with your own identifying |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
17 |
* information: Portions Copyright [yyyy] [name of copyright owner] |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
18 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
19 |
* CDDL HEADER END |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
20 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
21 |
/* |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
22 |
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
23 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
24 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
25 |
#include <alloca.h> |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
26 |
#include <fcntl.h> |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
27 |
#include <stdio.h> |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
28 |
#include <errno.h> |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
29 |
#include <stdarg.h> |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
30 |
#include <stdlib.h> |
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
31 |
#include <strings.h> |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
32 |
#include <unistd.h> |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
33 |
#include <libnvpair.h> |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
34 |
#include <locale.h> |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
35 |
#include <sys/param.h> |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
36 |
#include <sys/types.h> |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
37 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
38 |
#include "auto_install.h" |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
39 |
#include <ls_api.h> |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
40 |
#include <orchestrator_api.h> |
633
e631367ff83d
12459 AI hangs if "Disk doesn't contain valid Solaris partition"
William Schumann <william.schumann@sun.com>
parents:
539
diff
changeset
|
41 |
|
658
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
42 |
/* |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
43 |
* use presence of hidden file to indicate iSCSI boot installation |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
44 |
* pending code refactoring to make less kludgy |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
45 |
* see also ict.py |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
46 |
*/ |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
47 |
#define ISCSI_BOOT_INDICATOR_FILE "/.iscsi_boot" |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
48 |
|
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
49 |
static boolean_t install_done = B_FALSE; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
50 |
static boolean_t install_failed = B_FALSE; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
51 |
|
514
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
52 |
/* debug mode - disabled by default */ |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
53 |
static boolean_t debug_mode_enabled = B_FALSE; |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
54 |
|
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
55 |
int install_error = 0; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
56 |
install_params params; |
409
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
57 |
|
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
58 |
static boolean_t convert_to_sectors(auto_size_units_t, |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
59 |
uint64_t, uint64_t *); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
60 |
|
658
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
61 |
void auto_update_progress(om_callback_info_t *, uintptr_t); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
62 |
|
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
63 |
static void |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
64 |
usage() |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
65 |
{ |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
66 |
(void) fprintf(stderr, |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
67 |
"usage: auto-install -d <diskname> | -p <profile>\n" |
514
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
68 |
"\t-i - end installation before Target Instantiation\n" |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
69 |
"\t-I - end installation after Target Instantiation\n" |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
70 |
"\t-v - run the installer in verbose mode\n"); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
71 |
} |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
72 |
|
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
73 |
/* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
74 |
* enable_debug_mode() |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
75 |
* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
76 |
* Description: Enable/disable debug mode |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
77 |
* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
78 |
* Scope: private |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
79 |
* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
80 |
* Parameters: |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
81 |
* enable: B_TRUE - enable debug mode |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
82 |
* B_FALSE - disable debug mode |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
83 |
* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
84 |
* Returns: none |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
85 |
*/ |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
86 |
static void |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
87 |
enable_debug_mode(boolean_t enable) |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
88 |
{ |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
89 |
debug_mode_enabled = enable; |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
90 |
} |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
91 |
|
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
92 |
/* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
93 |
* is_debug_mode_enabled() |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
94 |
* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
95 |
* Description: Checks, if we run in debug mode |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
96 |
* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
97 |
* Scope: private |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
98 |
* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
99 |
* Parameters: none |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
100 |
* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
101 |
* Returns: |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
102 |
* B_TRUE - debug mode enabled |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
103 |
* B_FALSE - debug mode disabled |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
104 |
*/ |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
105 |
static boolean_t |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
106 |
is_debug_mode_enabled(void) |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
107 |
{ |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
108 |
return (debug_mode_enabled); |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
109 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
110 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
111 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
112 |
* auto_debug_print() |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
113 |
* Description: Posts debug message |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
114 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
115 |
void |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
116 |
auto_debug_print(ls_dbglvl_t dbg_lvl, char *fmt, ...) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
117 |
{ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
118 |
va_list ap; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
119 |
char buf[MAXPATHLEN + 1] = ""; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
120 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
121 |
va_start(ap, fmt); |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
122 |
(void) vsnprintf(buf, MAXPATHLEN+1, fmt, ap); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
123 |
(void) ls_write_dbg_message("AI", dbg_lvl, buf); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
124 |
va_end(ap); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
125 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
126 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
127 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
128 |
* auto_log_print() |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
129 |
* Description: Posts log message |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
130 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
131 |
void |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
132 |
auto_log_print(char *fmt, ...) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
133 |
{ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
134 |
va_list ap; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
135 |
char buf[MAXPATHLEN + 1] = ""; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
136 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
137 |
va_start(ap, fmt); |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
138 |
(void) vsnprintf(buf, MAXPATHLEN+1, fmt, ap); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
139 |
(void) ls_write_log_message("AI", buf); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
140 |
va_end(ap); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
141 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
142 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
143 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
144 |
* Callback that gets passed to om_perform_install. |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
145 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
146 |
* Sets the install_done variable when an install is |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
147 |
* finished. If an install fails, it sets the install_failed |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
148 |
* variable and also sets the install_error variable to |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
149 |
* indicate the specific reason for the failure. |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
150 |
*/ |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
151 |
void |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
152 |
auto_update_progress(om_callback_info_t *cb_data, uintptr_t app_data) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
153 |
{ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
154 |
if (cb_data->curr_milestone == -1) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
155 |
install_error = cb_data->percentage_done; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
156 |
install_failed = B_TRUE; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
157 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
158 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
159 |
if (cb_data->curr_milestone == OM_SOFTWARE_UPDATE && |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
160 |
cb_data->percentage_done == 100) |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
161 |
auto_debug_print(AUTO_DBGLVL_INFO, |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
162 |
"Transfer completed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
163 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
164 |
if (cb_data->curr_milestone == OM_POSTINSTAL_TASKS && |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
165 |
cb_data->percentage_done == 100) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
166 |
install_done = B_TRUE; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
167 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
168 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
169 |
/* |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
170 |
* auto_debug_dump_file() |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
171 |
* Description: dumps a file using auto_debug_print() |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
172 |
*/ |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
173 |
void |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
174 |
auto_debug_dump_file(ls_dbglvl_t level, char *filename) |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
175 |
{ |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
176 |
FILE *file_ptr; |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
177 |
char buffer[MAXPATHLEN]; |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
178 |
|
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
179 |
/* Logfile does not exist. Nothing to print. */ |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
180 |
if (access(filename, F_OK) < 0) { |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
181 |
return; |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
182 |
} |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
183 |
|
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
184 |
if (access(filename, R_OK) < 0) { |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
185 |
auto_debug_print(AUTO_DBGLVL_ERR, |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
186 |
"ddu errlog %s does not have read permissions.\n"); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
187 |
return; |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
188 |
} |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
189 |
|
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
190 |
/* Use buffer to set up the command. */ |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
191 |
snprintf(buffer, MAXPATHLEN, "/usr/bin/cat %s", filename); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
192 |
if ((file_ptr = popen(buffer, "r")) == NULL) { |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
193 |
auto_debug_print(AUTO_DBGLVL_ERR, |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
194 |
"Error opening ddu errlog %s to dump errors: %s\n", |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
195 |
filename, strerror(errno)); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
196 |
return; |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
197 |
} |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
198 |
|
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
199 |
/* Reuse buffer to get the file data. */ |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
200 |
while (fgets(buffer, MAXPATHLEN, file_ptr) != NULL) { |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
201 |
auto_debug_print(level, "%s", buffer); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
202 |
} |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
203 |
(void) pclose(file_ptr); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
204 |
} |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
205 |
|
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
206 |
/* |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
207 |
* This function splits the passed in file into AI manifest and SC manifest |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
208 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
209 |
* Input: |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
210 |
* char *input_file - AI manifest file with embedded SC manifest |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
211 |
* |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
212 |
* Output: |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
213 |
* char *ai_manifest - Writes the AI manifest portion of the input to this |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
214 |
* file name |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
215 |
* char *sc_manifest - Writes the SC manifest portion of the input to this |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
216 |
* file name |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
217 |
* Returns: |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
218 |
* AUTO_VALID_MANIFEST (0) - If the operation is successful |
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
219 |
* AUTO_INVALID_MANIFEST (-1) - If the operation fails |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
220 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
221 |
static int |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
222 |
auto_split_manifests(char *input_file, char *ai_manifest, char *sc_manifest) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
223 |
{ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
224 |
FILE *ifp; /* Input file */ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
225 |
FILE *aifp; /* AI manifest */ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
226 |
FILE *scfp; /* SC manifest */ |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
227 |
boolean_t writing_ai_manifest = B_TRUE; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
228 |
boolean_t writing_sc_manifest = B_FALSE; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
229 |
char buf[BUFSIZ]; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
230 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
231 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
232 |
if (input_file == NULL || ai_manifest == NULL || sc_manifest == NULL) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
233 |
return (AUTO_INVALID_MANIFEST); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
234 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
235 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
236 |
if (access(input_file, F_OK) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
237 |
return (AUTO_INVALID_MANIFEST); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
238 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
239 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
240 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
241 |
* Open the input file in read-only mode |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
242 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
243 |
ifp = fopen(input_file, "r"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
244 |
if (ifp == NULL) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
245 |
auto_log_print(gettext("Cannot open AI manifest %s\n"), |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
246 |
input_file); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
247 |
return (AUTO_INVALID_MANIFEST); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
248 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
249 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
250 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
251 |
* Open the output files in write mode |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
252 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
253 |
aifp = fopen(ai_manifest, "w"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
254 |
if (aifp == NULL) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
255 |
auto_log_print(gettext("Cannot open AI manifest %s\n"), |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
256 |
ai_manifest); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
257 |
return (AUTO_INVALID_MANIFEST); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
258 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
259 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
260 |
scfp = fopen(sc_manifest, "w"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
261 |
if (scfp == NULL) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
262 |
auto_log_print(gettext("Cannot open SC manifest %s\n"), |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
263 |
sc_manifest); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
264 |
return (AUTO_INVALID_MANIFEST); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
265 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
266 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
267 |
while (fgets(buf, sizeof (buf), ifp) != NULL) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
268 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
269 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
270 |
* The SC manifest begins with <?xml version='1.0'?> and |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
271 |
* ends with the line "</service_bundle>". It is embedded |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
272 |
* in the input file between <sc_embedded_manifest ...> |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
273 |
* and </sc_embedded_manifest>. |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
274 |
*/ |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
275 |
if (strstr(buf, SC_EMBEDDED_BEGIN_MARKER) != NULL) { |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
276 |
writing_ai_manifest = B_FALSE; |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
277 |
continue; |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
278 |
} |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
279 |
if (strstr(buf, SC_EMBEDDED_END_MARKER) != NULL) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
280 |
writing_ai_manifest = B_TRUE; |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
281 |
continue; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
282 |
} |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
283 |
if ((strstr(buf, SC_MANIFEST_BEGIN_MARKER) != NULL) && |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
284 |
(! writing_ai_manifest)) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
285 |
writing_sc_manifest = B_TRUE; |
846
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
286 |
|
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
287 |
/* |
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
288 |
* XML is pretty strict about format of XML prolog. |
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
289 |
* It is optional, but if present, no leading comments |
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
290 |
* or whitespace characters are allowed. |
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
291 |
* Assure this by replacing the whole first line |
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
292 |
* of SC manifest with following string: |
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
293 |
* "<?xml version='1.0'?>\n" |
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
294 |
*/ |
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
295 |
fputs(SC_MANIFEST_BEGIN_MARKER, scfp); |
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
296 |
fputs("\n", scfp); |
70dd9e819f25
15723 - Teach AI to use new SMF based System Configuration framework for configuring user and root accounts
Jan Damborsky <jan.damborsky@sun.com>
parents:
834
diff
changeset
|
297 |
continue; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
298 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
299 |
if (writing_ai_manifest) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
300 |
fputs(buf, aifp); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
301 |
continue; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
302 |
} else if (writing_sc_manifest) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
303 |
if (strstr(buf, SC_MANIFEST_END_MARKER) != NULL) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
304 |
writing_sc_manifest = B_FALSE; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
305 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
306 |
fputs(buf, scfp); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
307 |
continue; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
308 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
309 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
310 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
311 |
fclose(ifp); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
312 |
fclose(aifp); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
313 |
fclose(scfp); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
314 |
return (AUTO_VALID_MANIFEST); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
315 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
316 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
317 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
318 |
* Create a file that contains the list |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
319 |
* of packages to be installed or removed. |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
320 |
* |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
321 |
* Parameters: |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
322 |
* hardcode - if set to B_TRUE, hardcode the list of packages. This is for |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
323 |
* testing purposes only, when AI engine is not provided with |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
324 |
* AI manifest. |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
325 |
* |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
326 |
* pkg_list_type - specify list of packages to be obtained - |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
327 |
* install or remove. |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
328 |
* |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
329 |
* pkg_list_file - output file where the package list will be saved |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
330 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
331 |
* Returns: |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
332 |
* AUTO_INSTALL_SUCCESS for success |
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
333 |
* AUTO_INSTALL_FAILURE for failure |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
334 |
* AUTO_INSTALL_EMPTY_LIST - 'remove' list is empty |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
335 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
336 |
static int |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
337 |
create_package_list_file(boolean_t hardcode, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
338 |
auto_package_list_type_t pkg_list_type, char *pkg_list_file) |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
339 |
{ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
340 |
FILE *fp; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
341 |
char **package_list; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
342 |
int i, num_packages = 0; |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
343 |
int ret = AUTO_INSTALL_SUCCESS; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
344 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
345 |
if ((fp = fopen(pkg_list_file, "wb")) == NULL) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
346 |
auto_debug_print(AUTO_DBGLVL_ERR, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
347 |
"Couldn't open file %s for storing list of packages\n", |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
348 |
pkg_list_file); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
349 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
350 |
return (AUTO_INSTALL_FAILURE); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
351 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
352 |
|
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
353 |
auto_debug_print(AUTO_DBGLVL_INFO, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
354 |
"File %s successfully opened - list of packages to be %s " |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
355 |
"will be saved there\n", pkg_list_file, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
356 |
pkg_list_type == AI_PACKAGE_LIST_INSTALL ? "installed" : "removed"); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
357 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
358 |
/* |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
359 |
* When invoked in test mode (without AI manifest), lists of packages |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
360 |
* are hardcoded |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
361 |
*/ |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
362 |
|
311
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
363 |
if (hardcode) { |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
364 |
auto_debug_print(AUTO_DBGLVL_INFO, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
365 |
"Hardcoded list of packages will be generated\n"); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
366 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
367 |
if (pkg_list_type == AI_PACKAGE_LIST_INSTALL) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
368 |
if (fputs(AI_TEST_PACKAGE_LIST_INSTALL, fp) == EOF) |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
369 |
ret = AUTO_INSTALL_FAILURE; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
370 |
} else { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
371 |
if (fputs(AI_TEST_PACKAGE_LIST_REMOVE, fp) == EOF) |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
372 |
ret = AUTO_INSTALL_FAILURE; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
373 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
374 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
375 |
(void) fclose(fp); |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
376 |
return (ret); |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
377 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
378 |
|
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
379 |
/* |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
380 |
* Obtain list of packages to be installed or removed from AI manifest. |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
381 |
* |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
382 |
* With respect to install list, there are two tags supported for |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
383 |
* specifying list of packages in order to keep backward compatibility. |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
384 |
* Try new tag first. If it is not specified, then try the old one. |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
385 |
*/ |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
386 |
if (pkg_list_type == AI_PACKAGE_LIST_INSTALL) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
387 |
package_list = ai_get_manifest_packages(&num_packages, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
388 |
AIM_PACKAGE_INSTALL_NAME); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
389 |
|
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
390 |
if (package_list == NULL) { |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
391 |
/* If no package list given, use default */ |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
392 |
auto_debug_print(AUTO_DBGLVL_ERR, |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
393 |
"No install package list given, using default\n"); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
394 |
|
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
395 |
num_packages = 4; |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
396 |
package_list = malloc((num_packages + 1) * sizeof (char *)); |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
397 |
package_list[0] = strdup("pkg:/SUNWcsd"); |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
398 |
package_list[1] = strdup("pkg:/SUNWcs"); |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
399 |
package_list[2] = strdup("pkg:/babel_install"); |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
400 |
package_list[3] = strdup("pkg:/entire"); |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
401 |
package_list[4] = NULL; |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
402 |
} |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
403 |
|
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
404 |
auto_log_print(gettext( |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
405 |
"list of packages to be installed is:\n")); |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
406 |
} else { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
407 |
package_list = ai_get_manifest_packages(&num_packages, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
408 |
AIM_PACKAGE_REMOVE_NAME); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
409 |
if (package_list == NULL) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
410 |
auto_debug_print(AUTO_DBGLVL_INFO, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
411 |
"List of packages to be removed is empty\n"); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
412 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
413 |
(void) fclose(fp); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
414 |
return (AUTO_INSTALL_EMPTY_LIST); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
415 |
} |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
416 |
|
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
417 |
auto_log_print(gettext( |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
418 |
"list of packages to be removed is:\n")); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
419 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
420 |
|
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
421 |
/* |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
422 |
* Save list of packages to the file |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
423 |
*/ |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
424 |
for (i = 0; i < num_packages; i++) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
425 |
auto_log_print("%s\n", package_list[i]); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
426 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
427 |
if (fputs(package_list[i], fp) == EOF) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
428 |
auto_debug_print(AUTO_DBGLVL_ERR, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
429 |
"Write to %s file failed\n", pkg_list_file); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
430 |
|
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
431 |
ret = AUTO_INSTALL_FAILURE; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
432 |
break; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
433 |
} |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
434 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
435 |
if (fputs("\n", fp) == EOF) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
436 |
auto_debug_print(AUTO_DBGLVL_ERR, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
437 |
"Write to %s file failed\n", pkg_list_file); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
438 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
439 |
ret = AUTO_INSTALL_FAILURE; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
440 |
break; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
441 |
} |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
442 |
} |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
443 |
|
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
444 |
(void) fclose(fp); |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
445 |
return (ret); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
446 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
447 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
448 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
449 |
* Create/delete/preserve vtoc slices as specified |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
450 |
* in the manifest |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
451 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
452 |
static int |
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
453 |
auto_modify_target_slices(auto_slice_info *asi, uint8_t install_slice_id) |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
454 |
{ |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
455 |
for (; asi->slice_action[0] != '\0'; asi++) { |
409
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
456 |
uint64_t slice_size_sec; |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
457 |
|
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
458 |
auto_debug_print(AUTO_DBGLVL_INFO, |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
459 |
"slice action %s, size=%lld units=%s\n", |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
460 |
asi->slice_action, asi->slice_size, |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
461 |
CONVERT_UNITS_TO_TEXT(asi->slice_size_units)); |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
462 |
|
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
463 |
if (!convert_to_sectors(asi->slice_size_units, |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
464 |
asi->slice_size, &slice_size_sec)) { |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
465 |
auto_debug_print(AUTO_DBGLVL_ERR, |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
466 |
"conversion failure from %lld %s to sectors\n", |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
467 |
asi->slice_size, |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
468 |
CONVERT_UNITS_TO_TEXT(asi->slice_size_units)); |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
469 |
return (AUTO_INSTALL_FAILURE); |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
470 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
471 |
if (strcmp(asi->slice_action, "create") == 0) { |
539
2d996f9b841a
7758 AI install always fails after swap slice is created
William Schumann <william.schumann@sun.com>
parents:
528
diff
changeset
|
472 |
om_slice_tag_type_t slice_tag; |
2d996f9b841a
7758 AI install always fails after swap slice is created
William Schumann <william.schumann@sun.com>
parents:
528
diff
changeset
|
473 |
|
2d996f9b841a
7758 AI install always fails after swap slice is created
William Schumann <william.schumann@sun.com>
parents:
528
diff
changeset
|
474 |
if (asi->slice_number == install_slice_id) |
2d996f9b841a
7758 AI install always fails after swap slice is created
William Schumann <william.schumann@sun.com>
parents:
528
diff
changeset
|
475 |
slice_tag = OM_ROOT; |
2d996f9b841a
7758 AI install always fails after swap slice is created
William Schumann <william.schumann@sun.com>
parents:
528
diff
changeset
|
476 |
else |
2d996f9b841a
7758 AI install always fails after swap slice is created
William Schumann <william.schumann@sun.com>
parents:
528
diff
changeset
|
477 |
slice_tag = OM_UNASSIGNED; |
2d996f9b841a
7758 AI install always fails after swap slice is created
William Schumann <william.schumann@sun.com>
parents:
528
diff
changeset
|
478 |
if (!om_create_slice(asi->slice_number, slice_size_sec, |
810
8f09387744e3
8661 AI fails to continue installation if slices exist from previous configuration
William Schumann <william.schumann@sun.com>
parents:
789
diff
changeset
|
479 |
slice_tag, asi->on_existing)) |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
480 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
481 |
} else if (strcmp(asi->slice_action, "delete") == 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
482 |
if (!om_delete_slice(asi->slice_number)) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
483 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
484 |
} else if (strcmp(asi->slice_action, "preserve") == 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
485 |
if (!om_preserve_slice(asi->slice_number)) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
486 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
487 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
488 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
489 |
return (AUTO_INSTALL_SUCCESS); |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
490 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
491 |
|
409
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
492 |
/* |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
493 |
* convert value to sectors given basic unit size |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
494 |
* TODO uint64_t overflow check |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
495 |
*/ |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
496 |
|
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
497 |
static boolean_t |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
498 |
convert_to_sectors(auto_size_units_t units, uint64_t src, |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
499 |
uint64_t *psecs) |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
500 |
{ |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
501 |
if (psecs == NULL) |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
502 |
return (B_FALSE); |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
503 |
switch (units) { |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
504 |
case AI_SIZE_UNITS_SECTORS: |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
505 |
*psecs = src; |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
506 |
break; |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
507 |
case AI_SIZE_UNITS_MEGABYTES: |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
508 |
*psecs = src*2048; |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
509 |
break; |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
510 |
case AI_SIZE_UNITS_GIGABYTES: |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
511 |
*psecs = src*2048*1024; /* sec=>MB=>GB */ |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
512 |
break; |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
513 |
case AI_SIZE_UNITS_TERABYTES: |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
514 |
*psecs = src*2048*1024*1024; /* sec=>MB=>GB=>TB */ |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
515 |
break; |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
516 |
default: |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
517 |
return (B_FALSE); |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
518 |
} |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
519 |
if (units != AI_SIZE_UNITS_SECTORS) |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
520 |
auto_debug_print(AUTO_DBGLVL_INFO, |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
521 |
"converting from %lld %s to %lld sectors\n", |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
522 |
src, CONVERT_UNITS_TO_TEXT(units), *psecs); |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
523 |
return (B_TRUE); |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
524 |
} |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
525 |
|
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
526 |
#ifndef __sparc |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
527 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
528 |
* Create/delete/preserve fdisk partitions as specifed |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
529 |
* in the manifest |
457
c7530e1b1ad2
5654 AI could allow deletion of existing fdisk partition by number
William Schumann <william.schumann@sun.com>
parents:
450
diff
changeset
|
530 |
* Note that the partition size is converted using the units specified |
c7530e1b1ad2
5654 AI could allow deletion of existing fdisk partition by number
William Schumann <william.schumann@sun.com>
parents:
450
diff
changeset
|
531 |
* for both create and delete actions |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
532 |
*/ |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
533 |
static int |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
534 |
auto_modify_target_partitions(auto_partition_info *api) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
535 |
{ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
536 |
for (; api->partition_action[0] != '\0'; api++) { |
409
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
537 |
uint64_t partition_size_sec; |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
538 |
|
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
539 |
auto_debug_print(AUTO_DBGLVL_INFO, |
667
808a042e4938
1777 Installer doesn't recognize logical volumes defined within extended partition
William Schumann <william.schumann@sun.com>
parents:
664
diff
changeset
|
540 |
"partition action %s, size=%lld units=%s logical? %s\n", |
409
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
541 |
api->partition_action, api->partition_size, |
667
808a042e4938
1777 Installer doesn't recognize logical volumes defined within extended partition
William Schumann <william.schumann@sun.com>
parents:
664
diff
changeset
|
542 |
CONVERT_UNITS_TO_TEXT(api->partition_size_units), |
808a042e4938
1777 Installer doesn't recognize logical volumes defined within extended partition
William Schumann <william.schumann@sun.com>
parents:
664
diff
changeset
|
543 |
api->partition_is_logical ? "yes" : "no"); |
409
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
544 |
|
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
545 |
if (!convert_to_sectors(api->partition_size_units, |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
546 |
api->partition_size, &partition_size_sec)) { |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
547 |
auto_debug_print(AUTO_DBGLVL_ERR, |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
548 |
"conversion failure from %lld %s to sectors\n", |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
549 |
api->partition_size, |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
550 |
CONVERT_UNITS_TO_TEXT(api->partition_size_units)); |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
551 |
return (AUTO_INSTALL_FAILURE); |
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
552 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
553 |
if (strcmp(api->partition_action, "create") == 0) { |
449
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
554 |
if (!om_create_partition(api->partition_type, |
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
555 |
api->partition_start_sector, |
667
808a042e4938
1777 Installer doesn't recognize logical volumes defined within extended partition
William Schumann <william.schumann@sun.com>
parents:
664
diff
changeset
|
556 |
partition_size_sec, B_FALSE, |
808a042e4938
1777 Installer doesn't recognize logical volumes defined within extended partition
William Schumann <william.schumann@sun.com>
parents:
664
diff
changeset
|
557 |
api->partition_is_logical)) |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
558 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
559 |
} else if (strcmp(api->partition_action, "delete") == 0) { |
457
c7530e1b1ad2
5654 AI could allow deletion of existing fdisk partition by number
William Schumann <william.schumann@sun.com>
parents:
450
diff
changeset
|
560 |
if (!om_delete_partition(api->partition_number, |
c7530e1b1ad2
5654 AI could allow deletion of existing fdisk partition by number
William Schumann <william.schumann@sun.com>
parents:
450
diff
changeset
|
561 |
api->partition_start_sector, partition_size_sec)) |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
562 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
563 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
564 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
565 |
return (AUTO_INSTALL_SUCCESS); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
566 |
} |
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
567 |
#endif |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
568 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
569 |
/* |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
570 |
* Initialize the image area with default publisher |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
571 |
* Set the nv-list for configuring default publisher to be used |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
572 |
* with the installation. This passes the publisher name and url along |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
573 |
* mount point (/a) and action (initilaize pkg image area). The transfer module |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
574 |
* will use these parameters and calls the appropriate pkg commands to |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
575 |
* initialize the pkg imag area and setup the default publisher |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
576 |
*/ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
577 |
static int |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
578 |
configure_ips_init_nv_list(nvlist_t **attr, auto_repo_info_t *repo) |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
579 |
{ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
580 |
if (nvlist_add_uint32(*attr, TM_ATTR_MECHANISM, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
581 |
TM_PERFORM_IPS) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
582 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
583 |
"Setting of TM_ATTR_MECHANISM failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
584 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
585 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
586 |
if (nvlist_add_uint32(*attr, TM_IPS_ACTION, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
587 |
TM_IPS_INIT) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
588 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
589 |
"Setting of TMP_IPS_ACTION failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
590 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
591 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
592 |
if (nvlist_add_string(*attr, TM_IPS_INIT_MNTPT, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
593 |
INSTALLED_ROOT_DIR) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
594 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
595 |
"Setting of TM_IPS_INIT_MNTPT failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
596 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
597 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
598 |
if (nvlist_add_string(*attr, TM_IPS_PKG_URL, repo->url) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
599 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
600 |
"Setting of TM_IPS_PKG_URL failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
601 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
602 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
603 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
604 |
auto_log_print(gettext("installation will be performed " |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
605 |
"from %s (%s)\n"), repo->url, repo->publisher); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
606 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
607 |
if (nvlist_add_string(*attr, TM_IPS_PKG_AUTH, repo->publisher) |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
608 |
!= 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
609 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
610 |
"Setting of TM_IPS_PKG_AUTH failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
611 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
612 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
613 |
|
695
68b0dc3a8806
13537 transfer module keeps trying to contact an unreachable IPS server indefinitely
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
679
diff
changeset
|
614 |
if (nvlist_add_string(*attr, TM_IPS_INIT_RETRY_TIMEOUT, |
68b0dc3a8806
13537 transfer module keeps trying to contact an unreachable IPS server indefinitely
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
679
diff
changeset
|
615 |
TM_IPS_INIT_TIMEOUT_DEFAULT) != 0) { |
68b0dc3a8806
13537 transfer module keeps trying to contact an unreachable IPS server indefinitely
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
679
diff
changeset
|
616 |
auto_debug_print(AUTO_DBGLVL_INFO, |
68b0dc3a8806
13537 transfer module keeps trying to contact an unreachable IPS server indefinitely
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
679
diff
changeset
|
617 |
"Setting of TM_IPS_INIT_RETRY_TIMEOUT failed\n"); |
68b0dc3a8806
13537 transfer module keeps trying to contact an unreachable IPS server indefinitely
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
679
diff
changeset
|
618 |
return (-1); |
68b0dc3a8806
13537 transfer module keeps trying to contact an unreachable IPS server indefinitely
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
679
diff
changeset
|
619 |
} |
68b0dc3a8806
13537 transfer module keeps trying to contact an unreachable IPS server indefinitely
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
679
diff
changeset
|
620 |
|
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
621 |
/* |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
622 |
* We need to ask IPS to force creating IPS image, since when |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
623 |
* default path is chosen, IPS refuses to create the image. |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
624 |
* The reason is that even if we created empty BE to be |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
625 |
* populated by IPS, it contains ZFS shared and non-shared |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
626 |
* datasets mounted on appropriate mount points. And |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
627 |
* IPS complains in the case the target mount point contains |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
628 |
* subdirectories. |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
629 |
*/ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
630 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
631 |
if (nvlist_add_boolean_value(*attr, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
632 |
TM_IPS_IMAGE_CREATE_FORCE, B_TRUE) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
633 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
634 |
"Setting of TM_IPS_IMAGE_CREATE_FORCE failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
635 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
636 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
637 |
return (0); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
638 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
639 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
640 |
/* |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
641 |
* configure_ips_addl_publisher_nv_list |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
642 |
* Set the nv-list for configuring additional publisher(s) to be used |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
643 |
* with the installation. The nv_list contains the publisher name and url along |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
644 |
* with mount point (/a) and action (set-publisher). The transfer module |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
645 |
* will use these parameters and calls the appropriate pkg commands to |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
646 |
* setup additional publisher. |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
647 |
*/ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
648 |
static int |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
649 |
configure_ips_addl_publisher_nv_list( |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
650 |
nvlist_t **attr, auto_repo_info_t *repo) |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
651 |
{ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
652 |
if (nvlist_add_uint32(*attr, TM_ATTR_MECHANISM, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
653 |
TM_PERFORM_IPS) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
654 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
655 |
"Setting of TM_ATTR_MECHANISM failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
656 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
657 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
658 |
if (nvlist_add_uint32(*attr, TM_IPS_ACTION, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
659 |
TM_IPS_SET_AUTH) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
660 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
661 |
"Setting of TMP_IPS_ACTION failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
662 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
663 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
664 |
if (nvlist_add_string(*attr, TM_IPS_INIT_MNTPT, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
665 |
INSTALLED_ROOT_DIR) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
666 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
667 |
"Setting of TM_IPS_INIT_MNTPT failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
668 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
669 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
670 |
if (nvlist_add_string(*attr, TM_IPS_ALT_URL, repo->url) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
671 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
672 |
"Setting of TM_IPS_PKG_URL failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
673 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
674 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
675 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
676 |
auto_log_print(gettext("Using addditional repository " |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
677 |
"from %s (%s)\n"), repo->url, repo->publisher); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
678 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
679 |
if (nvlist_add_string(*attr, TM_IPS_ALT_AUTH, repo->publisher) |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
680 |
!= 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
681 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
682 |
"Setting of TM_IPS_PKG_AUTH failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
683 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
684 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
685 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
686 |
return (0); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
687 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
688 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
689 |
/* |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
690 |
* configure_ips_mirror_nv_list |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
691 |
* Set the nv-list for configuring a mirror to either the default repository |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
692 |
* or any additional repository to be used with the installation. The nv_list |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
693 |
* contains the publisher name and url along with mount point (/a) and action |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
694 |
* (set-publisher). The transfer module will use these parameters and calls |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
695 |
* appropriate pkg commands to setup the mirror. |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
696 |
*/ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
697 |
static int |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
698 |
configure_ips_mirror_nv_list(nvlist_t **attr, char *publisher, char *mirror_url) |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
699 |
{ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
700 |
if (publisher == NULL || mirror_url == NULL) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
701 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
702 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
703 |
auto_log_print(gettext("using mirror at %s for publisher %s\n"), |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
704 |
mirror_url, publisher); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
705 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
706 |
if (nvlist_add_uint32(*attr, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
707 |
TM_ATTR_MECHANISM, TM_PERFORM_IPS) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
708 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
709 |
"Setting of TM_ATTR_MECHANISM failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
710 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
711 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
712 |
if (nvlist_add_string(*attr, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
713 |
TM_IPS_INIT_MNTPT, INSTALLED_ROOT_DIR) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
714 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
715 |
"Setting of TM_IPS_INIT_MNTPT failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
716 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
717 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
718 |
if (nvlist_add_uint32(*attr, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
719 |
TM_IPS_ACTION, TM_IPS_SET_AUTH) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
720 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
721 |
"Setting of TMP_IPS_ACTION failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
722 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
723 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
724 |
if (nvlist_add_string(*attr, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
725 |
TM_IPS_ALT_URL, mirror_url) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
726 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
727 |
"Setting of TM_IPS_ALT_URL failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
728 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
729 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
730 |
if (nvlist_add_string(*attr, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
731 |
TM_IPS_ALT_AUTH, publisher) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
732 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
733 |
"Setting of TM_IPS_ALT_AUTH failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
734 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
735 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
736 |
if (nvlist_add_string(*attr, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
737 |
TM_IPS_MIRROR_FLAG, TM_IPS_SET_MIRROR) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
738 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
739 |
"Setting of TM_IPS_MIRROR_FLAG failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
740 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
741 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
742 |
auto_log_print(gettext("Using the mirror %s for the publisher %s\n"), |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
743 |
mirror_url, publisher); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
744 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
745 |
return (0); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
746 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
747 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
748 |
/* |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
749 |
* Install the target based on the criteria specified in |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
750 |
* ai.xml. |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
751 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
752 |
* NOTE: ai_validate_manifest() MUST have been called prior |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
753 |
* to calling this function. |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
754 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
755 |
* RETURNS: |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
756 |
* AUTO_INSTALL_SUCCESS on success |
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
757 |
* AUTO_INSTALL_FAILURE on failure |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
758 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
759 |
static int |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
760 |
install_from_manifest() |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
761 |
{ |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
762 |
char *p = NULL; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
763 |
auto_disk_info adi; |
789
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
764 |
auto_swap_device_info adsi; |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
765 |
auto_dump_device_info addi; |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
766 |
auto_sc_params asp; |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
767 |
int status; |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
768 |
int return_status = AUTO_INSTALL_FAILURE; |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
769 |
uint8_t install_slice_id; |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
770 |
int ita = 0; |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
771 |
int number = 0; |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
772 |
/* |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
773 |
* pointers to heap - free later if not NULL |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
774 |
*/ |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
775 |
auto_slice_info *asi = NULL; |
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
776 |
#ifndef __sparc |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
777 |
auto_partition_info *api = NULL; |
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
778 |
#endif |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
779 |
char *diskname = NULL; |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
780 |
nvlist_t *install_attr = NULL, **transfer_attr = NULL; |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
781 |
char *proxy = NULL; |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
782 |
auto_repo_info_t *default_ips_repo = NULL; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
783 |
auto_repo_info_t *addl_ips_repo = NULL; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
784 |
auto_repo_info_t *rptr; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
785 |
auto_mirror_repo_t *mptr; |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
786 |
int ret = AUTO_INSTALL_SUCCESS; |
658
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
787 |
char iscsi_devnam[MAXNAMELEN] = ""; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
788 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
789 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
790 |
* Start out by getting the install target and |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
791 |
* validating that target |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
792 |
*/ |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
793 |
bzero(&adi, sizeof (auto_disk_info)); |
658
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
794 |
ret = ai_get_manifest_disk_info(&adi); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
795 |
if (ret == AUTO_INSTALL_FAILURE) { |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
796 |
auto_log_print(gettext("disk info manifest error\n")); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
797 |
return (AUTO_INSTALL_FAILURE); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
798 |
} |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
799 |
|
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
800 |
/* |
789
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
801 |
* Retrieve device swap information if specified |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
802 |
*/ |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
803 |
bzero(&adsi, sizeof (auto_swap_device_info)); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
804 |
ret = ai_get_manifest_swap_device_info(&adsi); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
805 |
if (ret == AUTO_INSTALL_FAILURE) { |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
806 |
auto_log_print(gettext("device swap manifest error\n")); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
807 |
return (AUTO_INSTALL_FAILURE); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
808 |
} |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
809 |
|
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
810 |
/* |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
811 |
* Retrieve device dump information if specified |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
812 |
*/ |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
813 |
bzero(&addi, sizeof (auto_dump_device_info)); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
814 |
ret = ai_get_manifest_dump_device_info(&addi); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
815 |
if (ret == AUTO_INSTALL_FAILURE) { |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
816 |
auto_log_print(gettext("device dump manifest error\n")); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
817 |
return (AUTO_INSTALL_FAILURE); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
818 |
} |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
819 |
|
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
820 |
/* |
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
821 |
* grab target slice number |
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
822 |
*/ |
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
823 |
install_slice_id = adi.install_slice_number; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
824 |
|
658
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
825 |
/* |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
826 |
* if iSCSI target requested, mount it through iSCSI initiator |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
827 |
*/ |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
828 |
ret = mount_iscsi_target_if_requested(&adi, |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
829 |
iscsi_devnam, sizeof (iscsi_devnam)); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
830 |
if (ret == -1) { |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
831 |
auto_log_print(gettext("iSCSI boot target device error\n")); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
832 |
return (AUTO_INSTALL_FAILURE); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
833 |
} |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
834 |
/* |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
835 |
* if iSCSI device was discovered and mounted, |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
836 |
* write iSCSI boot marker file for ICT reference |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
837 |
*/ |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
838 |
if (iscsi_devnam[0] == '\0') { /* no iSCSI target mounted */ |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
839 |
/* |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
840 |
* make sure indicator file not there from previous run |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
841 |
*/ |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
842 |
errno = 0; |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
843 |
if (unlink(ISCSI_BOOT_INDICATOR_FILE) != 0 && |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
844 |
errno != ENOENT) { |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
845 |
auto_log_print(gettext( |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
846 |
"Could not delete " ISCSI_BOOT_INDICATOR_FILE |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
847 |
" to indicate no iSCSI boot target\n")); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
848 |
return (AUTO_INSTALL_FAILURE); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
849 |
} |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
850 |
} else { /* iSCSI target mounted - indicate for ICT */ |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
851 |
FILE *fd; |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
852 |
/* |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
853 |
* take device name from iSCSI target as selected |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
854 |
* install device |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
855 |
*/ |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
856 |
(void) strncpy(adi.diskname, iscsi_devnam, |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
857 |
sizeof (adi.diskname)); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
858 |
/* |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
859 |
* create marker to signal ICT to enable nwam |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
860 |
* in service repository |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
861 |
*/ |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
862 |
fd = fopen(ISCSI_BOOT_INDICATOR_FILE, "w"); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
863 |
if (fd == NULL) { |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
864 |
auto_log_print(gettext( |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
865 |
"Could not create " ISCSI_BOOT_INDICATOR_FILE |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
866 |
" to indicate iSCSI boot target\n")); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
867 |
return (AUTO_INSTALL_FAILURE); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
868 |
} |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
869 |
/* |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
870 |
* write device name - used for debugging only |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
871 |
*/ |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
872 |
(void) fputs(iscsi_devnam, fd); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
873 |
(void) fclose(fd); |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
874 |
} |
698
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
875 |
|
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
876 |
/* |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
877 |
* Initiate target discovery and wait until it is finished |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
878 |
*/ |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
879 |
|
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
880 |
if (auto_target_discovery() != AUTO_TD_SUCCESS) { |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
881 |
auto_log_print(gettext("Automated installation failed in " |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
882 |
"Target Discovery module\n")); |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
883 |
|
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
884 |
auto_log_print(gettext("Please see previous messages for more " |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
885 |
"details\n")); |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
886 |
|
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
887 |
return (AUTO_INSTALL_FAILURE); |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
888 |
} |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
889 |
|
658
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
890 |
/* |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
891 |
* given manifest input and discovery information, |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
892 |
* select a target disk for the installation |
831357e2155d
6590 Need support for iSCSI boot installations in Caiman
William Schumann <william.schumann@sun.com>
parents:
635
diff
changeset
|
893 |
*/ |
679
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
894 |
if (auto_select_install_target(&diskname, &adi) != AUTO_TD_SUCCESS) { |
311
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
895 |
auto_log_print(gettext("ai target device not found\n")); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
896 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
897 |
} |
679
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
898 |
|
414
ad63b7c430bb
5739 AutomatedInstaller cannot find disks when default manifest is used
William Schumann <william.schumann@sun.com>
parents:
409
diff
changeset
|
899 |
auto_log_print(gettext("Disk name selected for installation is %s\n"), |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
900 |
diskname); |
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
901 |
#ifndef __sparc |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
902 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
903 |
* Configure the partitions as specified in the |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
904 |
* manifest |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
905 |
*/ |
449
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
906 |
api = ai_get_manifest_partition_info(&status); |
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
907 |
if (status != 0) { |
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
908 |
auto_debug_print(AUTO_DBGLVL_ERR, |
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
909 |
"failed to process manifest due to illegal value\n"); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
910 |
goto error_ret; |
449
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
911 |
} |
311
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
912 |
if (api == NULL) |
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
913 |
auto_log_print(gettext("no manifest partition " |
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
914 |
"information found\n")); |
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
915 |
else { |
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
916 |
if (auto_modify_target_partitions(api) != |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
917 |
AUTO_INSTALL_SUCCESS) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
918 |
auto_log_print(gettext("failed to modify partition(s) " |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
919 |
"specified in the manifest\n")); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
920 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
921 |
} |
311
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
922 |
|
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
923 |
/* we're done with futzing with partitions, free the memory */ |
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
924 |
free(api); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
925 |
api = NULL; /* don't release later */ |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
926 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
927 |
|
363
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
928 |
/* |
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
929 |
* if no partition exists and no partitions were specified in manifest, |
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
930 |
* there is no info about partitions for TI, |
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
931 |
* so create info table from scratch |
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
932 |
*/ |
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
933 |
om_create_target_partition_info_if_absent(); |
311
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
934 |
|
363
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
935 |
/* finalize modified partition table for TI to apply to target disk */ |
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
936 |
if (!om_finalize_fdisk_info_for_TI()) { |
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
937 |
auto_log_print(gettext("failed to finalize fdisk info\n")); |
311
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
938 |
return (AUTO_INSTALL_FAILURE); |
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
939 |
} |
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
940 |
#endif |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
941 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
942 |
* Configure the vtoc slices as specified in the |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
943 |
* manifest |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
944 |
*/ |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
945 |
asi = ai_get_manifest_slice_info(&status); |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
946 |
if (status != 0) { |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
947 |
auto_debug_print(AUTO_DBGLVL_ERR, |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
948 |
"failed to process manifest due to illegal value\n"); |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
949 |
goto error_ret; |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
950 |
} |
311
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
951 |
if (asi == NULL) |
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
952 |
auto_log_print(gettext( |
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
953 |
"no manifest slice information found\n")); |
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
954 |
else { |
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
955 |
if (auto_modify_target_slices(asi, install_slice_id) != |
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
956 |
AUTO_INSTALL_SUCCESS) { |
311
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
957 |
auto_log_print(gettext( |
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
958 |
"failed to modify slice(s) specified " |
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
959 |
"in the manifest\n")); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
960 |
goto error_ret; |
363
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
961 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
962 |
|
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
963 |
/* we're done with futzing with slices, free the memory */ |
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
964 |
free(asi); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
965 |
asi = NULL; /* already freed */ |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
966 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
967 |
|
363
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
968 |
/* finalize modified vtoc for TI to apply to target disk partition */ |
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
969 |
if (!om_finalize_vtoc_for_TI(install_slice_id)) { |
363
130c19a9f4de
4233 target instantiation gets called multiple times which results in installation failure
William Schumann <william.schumann@sun.com>
parents:
315
diff
changeset
|
970 |
auto_log_print(gettext("failed to finalize vtoc info\n")); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
971 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
972 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
973 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
974 |
if (nvlist_alloc(&install_attr, NV_UNIQUE_NAME, 0) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
975 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
976 |
"nvlist allocation failed\n"); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
977 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
978 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
979 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
980 |
if (nvlist_add_uint8(install_attr, OM_ATTR_INSTALL_TYPE, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
981 |
OM_INITIAL_INSTALL) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
982 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
983 |
"Setting of OM_ATTR_INSTALL_TYPE failed\n"); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
984 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
985 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
986 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
987 |
if (nvlist_add_string(install_attr, OM_ATTR_DISK_NAME, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
988 |
diskname) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
989 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
990 |
"Setting of OM_ATTR_DISK_NAME failed\n"); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
991 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
992 |
} |
311
7ec66097ab2e
4074 AI preserve slice will not work if install slice is not specified
William Schumann <william.schumann@sun.com>
parents:
301
diff
changeset
|
993 |
free(diskname); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
994 |
diskname = NULL; /* already freed */ |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
995 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
996 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
997 |
* Parse the SC (system configuration manifest) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
998 |
*/ |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
999 |
auto_log_print(gettext("Parsing system configuration manifest\n")); |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1000 |
|
503
2b8b124acb94
7799 Missing SC manifest information can cause hostname, other failures
William Schumann <william.schumann@sun.com>
parents:
495
diff
changeset
|
1001 |
bzero(&asp, sizeof (auto_sc_params)); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1002 |
if (auto_parse_sc_manifest(SC_MANIFEST_FILE, &asp) != |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1003 |
AUTO_INSTALL_SUCCESS) { |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1004 |
auto_log_print(gettext("Automated Installation failed in" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1005 |
" parser module\n")); |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1006 |
auto_log_print(gettext("Invalid System Configuration manifest" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1007 |
" provided\n")); |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1008 |
|
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1009 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1010 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1011 |
|
477
04c667d64a87
4629 Cannot set timezone in automated installation
William Schumann <william.schumann@sun.com>
parents:
471
diff
changeset
|
1012 |
/* |
04c667d64a87
4629 Cannot set timezone in automated installation
William Schumann <william.schumann@sun.com>
parents:
471
diff
changeset
|
1013 |
* if no hostname provided in SC manifest, use "opensolaris" |
04c667d64a87
4629 Cannot set timezone in automated installation
William Schumann <william.schumann@sun.com>
parents:
471
diff
changeset
|
1014 |
*/ |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1015 |
if (nvlist_add_string(install_attr, OM_ATTR_HOST_NAME, |
477
04c667d64a87
4629 Cannot set timezone in automated installation
William Schumann <william.schumann@sun.com>
parents:
471
diff
changeset
|
1016 |
asp.hostname == NULL ? "opensolaris" : asp.hostname) != 0) { |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1017 |
auto_log_print(gettext("Setting of OM_ATTR_HOST_NAME" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1018 |
" failed\n")); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1019 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1020 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1021 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1022 |
if (nvlist_add_string(install_attr, OM_ATTR_TIMEZONE_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1023 |
asp.timezone) != 0) { |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1024 |
auto_log_print(gettext("Setting of OM_ATTR_TIMEZONE_INFO" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1025 |
" failed\n")); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1026 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1027 |
} |
477
04c667d64a87
4629 Cannot set timezone in automated installation
William Schumann <william.schumann@sun.com>
parents:
471
diff
changeset
|
1028 |
if (asp.timezone != NULL && *asp.timezone != '\0' && |
04c667d64a87
4629 Cannot set timezone in automated installation
William Schumann <william.schumann@sun.com>
parents:
471
diff
changeset
|
1029 |
om_set_time_zone(asp.timezone) != OM_SUCCESS) { |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1030 |
auto_log_print(gettext("The time zone in the installed system" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1031 |
" will not be the timezone specified in the SC manifest" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1032 |
" (%s)\n"), asp.timezone); |
477
04c667d64a87
4629 Cannot set timezone in automated installation
William Schumann <william.schumann@sun.com>
parents:
471
diff
changeset
|
1033 |
om_set_error(OM_SUCCESS); /* reset Orchestrator errno */ |
04c667d64a87
4629 Cannot set timezone in automated installation
William Schumann <william.schumann@sun.com>
parents:
471
diff
changeset
|
1034 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1035 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1036 |
if (nvlist_add_string(install_attr, OM_ATTR_DEFAULT_LOCALE, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1037 |
"C") != 0) { |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1038 |
auto_log_print(gettext("Setting of OM_ATTR_DEFAULT_LOCALE" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1039 |
" failed\n")); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1040 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1041 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1042 |
|
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1043 |
/* |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1044 |
* If proxy is specified, set the http_proxy environemnet variable for |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1045 |
* IPS to use |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1046 |
*/ |
369 | 1047 |
p = ai_get_manifest_http_proxy(); |
1048 |
if (p != NULL) { |
|
1049 |
int proxy_len; |
|
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1050 |
|
369 | 1051 |
proxy_len = strlen("http_proxy=") + strlen(p) + 1; |
1052 |
proxy = malloc(proxy_len); |
|
1053 |
snprintf(proxy, proxy_len, "%s%s", "http_proxy=", p); |
|
1054 |
auto_debug_print(AUTO_DBGLVL_INFO, |
|
1055 |
"Setting http_proxy environment variable to %s\n", p); |
|
1056 |
if (putenv(proxy)) { |
|
1057 |
auto_debug_print(AUTO_DBGLVL_INFO, |
|
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
1058 |
"Setting of http_proxy environment variable failed:" |
409
141e3dc11d9f
4460 "partition_size" tag in ai_manifest.xml template should mention sectors
William Schumann <william.schumann@sun.com>
parents:
405
diff
changeset
|
1059 |
" %s\n", strerror(errno)); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1060 |
goto error_ret; |
405
785221d05f6b
4195 need to make changes to AI Engine for SPARC
William Schumann <william.schumann@sun.com>
parents:
369
diff
changeset
|
1061 |
} |
369 | 1062 |
} |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1063 |
/* |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1064 |
* Get the IPS default publisher, mirrors for the default publisher, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1065 |
* additional publishers and mirrors for each additinal publishers. |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1066 |
* Based on the data, the space for nv list allocated to perform |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1067 |
* Transfer initialization |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1068 |
*/ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1069 |
default_ips_repo = ai_get_default_repo_info(); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1070 |
if (default_ips_repo == NULL) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1071 |
auto_log_print(gettext("IPS default publisher is not " |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1072 |
"specified\n")); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1073 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1074 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1075 |
|
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1076 |
number = 1; /* For the default publisher */ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1077 |
/* |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1078 |
* Count the mirrors |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1079 |
*/ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1080 |
for (mptr = default_ips_repo ->mirror_repo; mptr != NULL; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1081 |
mptr = mptr->next_mirror) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1082 |
number++; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1083 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1084 |
addl_ips_repo = ai_get_additional_repo_info(); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1085 |
if (addl_ips_repo == NULL) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1086 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1087 |
"No additional IPS publishers specified\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1088 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1089 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1090 |
/* |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1091 |
* Count the number of additional repos and its mirrors |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1092 |
*/ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1093 |
for (rptr = addl_ips_repo; rptr != NULL; rptr = rptr->next_repo) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1094 |
number++; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1095 |
for (mptr = rptr->mirror_repo; mptr != NULL; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1096 |
mptr = mptr->next_mirror) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1097 |
number++; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1098 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1099 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1100 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1101 |
/* |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1102 |
* Allocate enough pointer space for any possible TM initialization |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1103 |
* number of publishers and their mirrors |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1104 |
* + Packages to be installed |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1105 |
* + Packages to be removed |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1106 |
*/ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1107 |
transfer_attr = calloc(number+2, sizeof (nvlist_t *)); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1108 |
if (transfer_attr == NULL) { |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1109 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1110 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1111 |
|
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1112 |
ita = 0; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1113 |
if (nvlist_alloc(&transfer_attr[ita], NV_UNIQUE_NAME, 0) != 0) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1114 |
auto_debug_print(AUTO_DBGLVL_INFO, |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1115 |
"nvlist allocation failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1116 |
goto error_ret; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1117 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1118 |
/* |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1119 |
* Initialize the image pkg area and setup default publisher |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1120 |
*/ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1121 |
status = configure_ips_init_nv_list( |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1122 |
&transfer_attr[ita], default_ips_repo); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1123 |
if (status != SUCCESS) { |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1124 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1125 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1126 |
|
301
34c427843a2c
4088 Transfer module fails in 'pkg image-create' in build 100
Jan Damborsky <jan.damborsky@sun.com>
parents:
272
diff
changeset
|
1127 |
/* |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1128 |
* Setup the mirrors for the default publisher one at a time |
301
34c427843a2c
4088 Transfer module fails in 'pkg image-create' in build 100
Jan Damborsky <jan.damborsky@sun.com>
parents:
272
diff
changeset
|
1129 |
*/ |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1130 |
for (mptr = default_ips_repo->mirror_repo; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1131 |
mptr != NULL; mptr = mptr->next_mirror) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1132 |
char *publisher; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1133 |
char *mirror_url; |
301
34c427843a2c
4088 Transfer module fails in 'pkg image-create' in build 100
Jan Damborsky <jan.damborsky@sun.com>
parents:
272
diff
changeset
|
1134 |
|
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1135 |
ita++; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1136 |
publisher = default_ips_repo->publisher; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1137 |
mirror_url = mptr->mirror_url; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1138 |
if (nvlist_alloc(&transfer_attr[ita], NV_UNIQUE_NAME, 0) != 0) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1139 |
auto_debug_print(AUTO_DBGLVL_INFO, |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1140 |
"nvlist allocation failed\n"); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1141 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1142 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1143 |
status = configure_ips_mirror_nv_list(&transfer_attr[ita], |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1144 |
publisher, mirror_url); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1145 |
if (status != SUCCESS) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1146 |
goto error_ret; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1147 |
} |
301
34c427843a2c
4088 Transfer module fails in 'pkg image-create' in build 100
Jan Damborsky <jan.damborsky@sun.com>
parents:
272
diff
changeset
|
1148 |
} |
34c427843a2c
4088 Transfer module fails in 'pkg image-create' in build 100
Jan Damborsky <jan.damborsky@sun.com>
parents:
272
diff
changeset
|
1149 |
|
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1150 |
/* |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1151 |
* Configure the additional publisher(s) |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1152 |
*/ |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1153 |
for (rptr = addl_ips_repo; rptr != NULL; rptr = rptr->next_repo) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1154 |
ita++; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1155 |
if (nvlist_alloc(&transfer_attr[ita], |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1156 |
NV_UNIQUE_NAME, 0) != 0) { |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1157 |
auto_debug_print(AUTO_DBGLVL_INFO, |
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1158 |
"nvlist allocation failed\n"); |
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1159 |
goto error_ret; |
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1160 |
} |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1161 |
status = configure_ips_addl_publisher_nv_list |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1162 |
(&transfer_attr[ita], rptr); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1163 |
if (status != SUCCESS) { |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1164 |
goto error_ret; |
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1165 |
} |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1166 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1167 |
/* |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1168 |
* Setup mirrors (if any) for each additional publisher |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1169 |
*/ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1170 |
for (mptr = rptr->mirror_repo; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1171 |
mptr != NULL; mptr = mptr->next_mirror) { |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1172 |
char *publisher; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1173 |
char *mirror_url; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1174 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1175 |
ita++; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1176 |
publisher = rptr->publisher; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1177 |
mirror_url = mptr->mirror_url; |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1178 |
if (nvlist_alloc(&transfer_attr[ita], |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1179 |
NV_UNIQUE_NAME, 0) != 0) { |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1180 |
auto_debug_print(AUTO_DBGLVL_INFO, |
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1181 |
"nvlist allocation failed\n"); |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1182 |
return (-1); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1183 |
} |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1184 |
status = configure_ips_mirror_nv_list( |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1185 |
&transfer_attr[ita], publisher, mirror_url); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1186 |
if (status != SUCCESS) { |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1187 |
goto error_ret; |
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1188 |
} |
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1189 |
} |
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1190 |
} |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1191 |
|
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1192 |
/* |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1193 |
* Get the list of packages and add it to the nv_list |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1194 |
*/ |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1195 |
ita++; |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1196 |
if (nvlist_alloc(&transfer_attr[ita], NV_UNIQUE_NAME, 0) != 0) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1197 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1198 |
"nvlist allocation failed\n"); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1199 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1200 |
} |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1201 |
if (nvlist_add_uint32(transfer_attr[ita], TM_ATTR_MECHANISM, |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1202 |
TM_PERFORM_IPS) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1203 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1204 |
"Setting of TM_ATTR_MECHANISM failed\n"); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1205 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1206 |
} |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1207 |
if (nvlist_add_uint32(transfer_attr[ita], TM_IPS_ACTION, |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1208 |
TM_IPS_RETRIEVE) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1209 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1210 |
"Setting of TMP_IPS_ACTION failed\n"); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1211 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1212 |
} |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1213 |
if (nvlist_add_string(transfer_attr[ita], TM_IPS_INIT_MNTPT, |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
1214 |
INSTALLED_ROOT_DIR) != 0) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1215 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1216 |
"Setting of TM_IPS_INIT_MNTPT failed\n"); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1217 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1218 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1219 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1220 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1221 |
* list out the list of packages to be installed |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1222 |
* from the manifest and add it into a file |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1223 |
*/ |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1224 |
if (create_package_list_file(B_FALSE, AI_PACKAGE_LIST_INSTALL, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1225 |
AUTO_INSTALL_PKG_LIST_FILE) != AUTO_INSTALL_SUCCESS) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1226 |
auto_log_print(gettext("Failed to create a file with list " |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1227 |
"of packages to be installed\n")); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1228 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1229 |
} |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1230 |
if (nvlist_add_string(transfer_attr[ita], TM_IPS_PKGS, |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1231 |
AUTO_INSTALL_PKG_LIST_FILE) != 0) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1232 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1233 |
"Setting of TM_IPS_PKGS failed\n"); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1234 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1235 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1236 |
|
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1237 |
/* |
514
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1238 |
* if debug mode enabled, run 'pkg install' in verbose mode |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1239 |
*/ |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1240 |
if (is_debug_mode_enabled()) { |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1241 |
if (nvlist_add_boolean_value(transfer_attr[ita], |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1242 |
TM_IPS_VERBOSE_MODE, B_TRUE) != 0) { |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1243 |
auto_debug_print(AUTO_DBGLVL_ERR, |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1244 |
"Setting of TM_IPS_VERBOSE_MODE failed\n"); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1245 |
goto error_ret; |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1246 |
} |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1247 |
} |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1248 |
|
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1249 |
/* |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1250 |
* Since this operation is optional (list of packages |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1251 |
* to be removed might be empty), before we start to |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1252 |
* populate nv list with attributes, determine if there |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1253 |
* is anything to do. |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1254 |
*/ |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1255 |
ret = create_package_list_file(B_FALSE, AI_PACKAGE_LIST_REMOVE, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1256 |
AUTO_REMOVE_PKG_LIST_FILE); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1257 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1258 |
if (ret == AUTO_INSTALL_FAILURE) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1259 |
auto_log_print(gettext("Failed to create a file with list " |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1260 |
"of packages to be removed\n")); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1261 |
goto error_ret; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1262 |
} else if (ret == AUTO_INSTALL_EMPTY_LIST) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1263 |
auto_log_print(gettext("No packages specified to be removed " |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1264 |
"from installed system\n")); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1265 |
} else { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1266 |
/* |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1267 |
* allocate nv list |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1268 |
*/ |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1269 |
ita++; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1270 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1271 |
if (nvlist_alloc(&transfer_attr[ita], NV_UNIQUE_NAME, 0) != 0) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1272 |
auto_debug_print(AUTO_DBGLVL_ERR, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1273 |
"nvlist allocation failed\n"); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1274 |
goto error_ret; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1275 |
} |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1276 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1277 |
/* select IPS transfer mechanism */ |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1278 |
if (nvlist_add_uint32(transfer_attr[ita], TM_ATTR_MECHANISM, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1279 |
TM_PERFORM_IPS) != 0) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1280 |
auto_debug_print(AUTO_DBGLVL_ERR, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1281 |
"Setting of TM_ATTR_MECHANISM failed\n"); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1282 |
goto error_ret; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1283 |
} |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1284 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1285 |
/* specify 'uninstall' action */ |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1286 |
if (nvlist_add_uint32(transfer_attr[ita], TM_IPS_ACTION, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1287 |
TM_IPS_UNINSTALL) != 0) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1288 |
auto_debug_print(AUTO_DBGLVL_ERR, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1289 |
"Setting of TMP_IPS_ACTION failed\n"); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1290 |
goto error_ret; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1291 |
} |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1292 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1293 |
/* set target mountpoint */ |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1294 |
if (nvlist_add_string(transfer_attr[ita], TM_IPS_INIT_MNTPT, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1295 |
INSTALLED_ROOT_DIR) != 0) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1296 |
auto_debug_print(AUTO_DBGLVL_ERR, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1297 |
"Setting of TM_IPS_INIT_MNTPT failed\n"); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1298 |
goto error_ret; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1299 |
} |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1300 |
|
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1301 |
/* provide list of packages to be removed */ |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1302 |
if (nvlist_add_string(transfer_attr[ita], TM_IPS_PKGS, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1303 |
AUTO_REMOVE_PKG_LIST_FILE) != 0) { |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1304 |
auto_debug_print(AUTO_DBGLVL_ERR, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1305 |
"Setting of TM_IPS_PKGS failed\n"); |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1306 |
goto error_ret; |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1307 |
} |
514
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1308 |
|
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1309 |
/* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1310 |
* if debug mode enabled, run 'pkg uninstall' in verbose mode |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1311 |
*/ |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1312 |
if (is_debug_mode_enabled()) { |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1313 |
if (nvlist_add_boolean_value(transfer_attr[ita], |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1314 |
TM_IPS_VERBOSE_MODE, B_TRUE) != 0) { |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1315 |
auto_debug_print(AUTO_DBGLVL_ERR, |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1316 |
"Setting of TM_IPS_VERBOSE_MODE failed\n"); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1317 |
goto error_ret; |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1318 |
} |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1319 |
} |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1320 |
} |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1321 |
|
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1322 |
if (nvlist_add_nvlist_array(install_attr, OM_ATTR_TRANSFER, |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1323 |
transfer_attr, ita + 1) != 0) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1324 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1325 |
"Setting of OM_ATTR_TRANSFER failed\n"); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1326 |
goto error_ret; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1327 |
} |
789
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1328 |
|
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1329 |
/* Add requested swap size */ |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1330 |
if (adsi.swap_size >= 0) { |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1331 |
if (nvlist_add_int32(install_attr, OM_ATTR_SWAP_SIZE, |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1332 |
adsi.swap_size) != 0) { |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1333 |
nvlist_free(install_attr); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1334 |
auto_debug_print(AUTO_DBGLVL_INFO, |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1335 |
"Setting of OM_ATTR_SWAP_SIZE failed\n"); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1336 |
return (AUTO_INSTALL_FAILURE); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1337 |
} |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1338 |
} |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1339 |
|
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1340 |
/* Add requested dump device size */ |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1341 |
if (addi.dump_size >= 0) { |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1342 |
if (nvlist_add_int32(install_attr, OM_ATTR_DUMP_SIZE, |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1343 |
addi.dump_size) != 0) { |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1344 |
nvlist_free(install_attr); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1345 |
auto_debug_print(AUTO_DBGLVL_INFO, |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1346 |
"Setting of OM_ATTR_DUMP_SIZE failed\n"); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1347 |
return (AUTO_INSTALL_FAILURE); |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1348 |
} |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1349 |
} |
282f473d34ee
10115 AI ignores desired swap listed in ai manifest
Matt Keenan <matt.keenan@sun.com>
parents:
698
diff
changeset
|
1350 |
|
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1351 |
status = om_perform_install(install_attr, auto_update_progress); |
449
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
1352 |
if (status == OM_FAILURE) { /* synchronous failure before threading */ |
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
1353 |
install_error = om_errno; |
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
1354 |
install_failed = B_TRUE; |
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
1355 |
} |
30ec6432d941
6584 Automated Installer should allow creating non-Solaris partitions
William Schumann <william.schumann@sun.com>
parents:
447
diff
changeset
|
1356 |
/* wait for thread to report final status */ |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1357 |
while (!install_done && !install_failed) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1358 |
sleep(10); |
447
749da9554f27
backout 4629 Cannot set timezone in automated installation
William Schumann <william.schumann@sun.com>
parents:
446
diff
changeset
|
1359 |
|
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1360 |
/* |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1361 |
* If the installation failed, report where or/and why the failure |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1362 |
* happened |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1363 |
*/ |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1364 |
|
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1365 |
if (install_failed) { |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1366 |
/* |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1367 |
* Check if valid failure code was returned - if not, log only |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1368 |
* error code itself instead of descriptive strings |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1369 |
*/ |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1370 |
|
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1371 |
if (!om_is_valid_failure_code(install_error)) { |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1372 |
auto_log_print(gettext("Automated Installation failed" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1373 |
" with unknown error code %d\n"), install_error); |
633
e631367ff83d
12459 AI hangs if "Disk doesn't contain valid Solaris partition"
William Schumann <william.schumann@sun.com>
parents:
539
diff
changeset
|
1374 |
} else { |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1375 |
char *err_str; |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1376 |
|
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1377 |
/* Where the failure happened */ |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1378 |
if ((err_str = |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1379 |
om_get_failure_source(install_error)) != NULL) |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1380 |
auto_log_print(gettext("Automated Installation" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1381 |
" failed in %s module\n"), err_str); |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1382 |
|
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1383 |
/* Why the failure happened */ |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1384 |
if ((err_str = |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1385 |
om_get_failure_reason(install_error)) != NULL) |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1386 |
auto_log_print(gettext("%s\n"), err_str); |
633
e631367ff83d
12459 AI hangs if "Disk doesn't contain valid Solaris partition"
William Schumann <william.schumann@sun.com>
parents:
539
diff
changeset
|
1387 |
} |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1388 |
} else { |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1389 |
return_status = AUTO_INSTALL_SUCCESS; |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1390 |
} |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1391 |
|
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1392 |
error_ret: /* free all memory - may have jumped here upon error */ |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1393 |
if (proxy != NULL) |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1394 |
free(proxy); |
463
a5836655a011
7209 build of slim_install fails on Sparc due to undefined symbol
William Schumann <william.schumann@sun.com>
parents:
461
diff
changeset
|
1395 |
#ifndef __sparc |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1396 |
if (api != NULL) |
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1397 |
free(api); |
463
a5836655a011
7209 build of slim_install fails on Sparc due to undefined symbol
William Schumann <william.schumann@sun.com>
parents:
461
diff
changeset
|
1398 |
#endif |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1399 |
if (asi != NULL) |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1400 |
free(asi); |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1401 |
if (diskname != NULL) |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1402 |
free(diskname); |
664
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1403 |
free_repo_info_list(default_ips_repo); |
9a2107fc86ac
12659 AI only allows one "additional authority"
sundar.yamunachari@sun.com
parents:
660
diff
changeset
|
1404 |
free_repo_info_list(addl_ips_repo); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1405 |
if (install_attr != NULL) |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1406 |
nvlist_free(install_attr); |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1407 |
if (transfer_attr != NULL) { |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1408 |
int i; |
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1409 |
|
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1410 |
for (i = 0; i <= ita; i++) |
460
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1411 |
if (transfer_attr[i] != NULL) |
22e95ec02b00
6610 AI does not recognize additional IPS repository
William Schumann <william.schumann@sun.com>
parents:
459
diff
changeset
|
1412 |
nvlist_free(transfer_attr[i]); |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1413 |
free(transfer_attr); |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
1414 |
} |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1415 |
return (return_status); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1416 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1417 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1418 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1419 |
* Install the target based on the specified diskname |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1420 |
* or if no diskname is specified, install it based on |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1421 |
* the criteria specified in ai.xml. |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1422 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1423 |
* Returns |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1424 |
* AUTO_INSTALL_SUCCESS on a successful install |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1425 |
* AUTO_INSTALL_FAILURE on a failed install |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1426 |
*/ |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
1427 |
static int |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1428 |
auto_perform_install(char *diskname) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1429 |
{ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1430 |
nvlist_t *install_attr, *transfer_attr[2]; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1431 |
int status; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1432 |
|
679
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1433 |
/* |
698
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
1434 |
* No disk specified on command line |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
1435 |
* - perform installation based on manifest information instead |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
1436 |
*/ |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
1437 |
|
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
1438 |
if (*diskname == '\0') |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
1439 |
return (install_from_manifest()); |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
1440 |
|
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
1441 |
/* |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
1442 |
* Install to disk specified on command line |
9097fcc36b3f
13954 iSCSI boot parameters in AI manifest are ignored
William Schumann <william.schumann@sun.com>
parents:
695
diff
changeset
|
1443 |
* |
679
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1444 |
* Initiate target discovery and wait until it is finished |
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1445 |
*/ |
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1446 |
|
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1447 |
if (auto_target_discovery() != AUTO_TD_SUCCESS) { |
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1448 |
auto_log_print(gettext("Automated installation failed in " |
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1449 |
"Target Discovery module\n")); |
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1450 |
|
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1451 |
auto_log_print(gettext("Please see previous messages for more " |
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1452 |
"details\n")); |
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1453 |
|
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1454 |
return (AUTO_INSTALL_FAILURE); |
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1455 |
} |
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1456 |
|
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1457 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1458 |
* We're installing on the specified diskname |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1459 |
* Since this is usually called from a test |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1460 |
* program, we hardcode the various system |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1461 |
* configuration parameters |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1462 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1463 |
|
679
2f04e6d1a235
5451 No way to permanently target specific disk in AI engine manifest
Jan Damborsky <jan.damborsky@sun.com>
parents:
667
diff
changeset
|
1464 |
if (auto_select_install_target(&diskname, NULL) != 0) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1465 |
auto_log_print(gettext("Error: Target disk name %s is " |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1466 |
"not valid\n"), diskname); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1467 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1468 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1469 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1470 |
if (nvlist_alloc(&install_attr, NV_UNIQUE_NAME, 0) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1471 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1472 |
"nvlist allocation failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1473 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1474 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1475 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1476 |
if (nvlist_add_uint8(install_attr, OM_ATTR_INSTALL_TYPE, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1477 |
OM_INITIAL_INSTALL) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1478 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1479 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1480 |
"Setting of OM_ATTR_INSTALL_TYPE failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1481 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1482 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1483 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1484 |
if (nvlist_add_string(install_attr, OM_ATTR_DISK_NAME, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1485 |
diskname) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1486 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1487 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1488 |
"Setting of OM_ATTR_DISK_NAME failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1489 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1490 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1491 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1492 |
if (nvlist_add_string(install_attr, OM_ATTR_ROOT_PASSWORD, |
436
86bc65bc6cb6
4246 The user and root password are not encrypted in SC manifest
William Schumann <william.schumann@sun.com>
parents:
414
diff
changeset
|
1493 |
om_encrypt_passwd("opensolaris", "root")) != 0) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1494 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1495 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1496 |
"Setting of OM_ATTR_ROOT_PASSWORD failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1497 |
return (AUTO_INSTALL_FAILURE); |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
1498 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1499 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1500 |
if (nvlist_add_string(install_attr, OM_ATTR_USER_NAME, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1501 |
"fool") != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1502 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1503 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1504 |
"Setting of OM_ATTR_USER_NAME failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1505 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1506 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1507 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1508 |
if (nvlist_add_string(install_attr, OM_ATTR_USER_PASSWORD, |
436
86bc65bc6cb6
4246 The user and root password are not encrypted in SC manifest
William Schumann <william.schumann@sun.com>
parents:
414
diff
changeset
|
1509 |
om_encrypt_passwd("ass", "fool")) != 0) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1510 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1511 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1512 |
"Setting of OM_ATTR_USER_PASSWORD failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1513 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1514 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1515 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1516 |
if (nvlist_add_string(install_attr, OM_ATTR_LOGIN_NAME, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1517 |
"fool") != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1518 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1519 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1520 |
"Setting of OM_ATTR_LOGIN_NAME failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1521 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1522 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1523 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1524 |
if (nvlist_add_string(install_attr, OM_ATTR_HOST_NAME, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1525 |
"opensolaris") != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1526 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1527 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1528 |
"Setting of OM_ATTR_HOST_NAME failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1529 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1530 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1531 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1532 |
if (nvlist_add_string(install_attr, OM_ATTR_DEFAULT_LOCALE, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1533 |
"C") != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1534 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1535 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1536 |
"Setting of OM_ATTR_DEFAULT_LOCALE failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1537 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1538 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1539 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1540 |
if (nvlist_alloc(&transfer_attr[0], NV_UNIQUE_NAME, 0) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1541 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1542 |
"nvlist allocation failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1543 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1544 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1545 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1546 |
if (nvlist_add_uint32(transfer_attr[0], TM_ATTR_MECHANISM, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1547 |
TM_PERFORM_IPS) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1548 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1549 |
nvlist_free(transfer_attr[0]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1550 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1551 |
"Setting of TM_ATTR_MECHANISM failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1552 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1553 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1554 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1555 |
if (nvlist_add_uint32(transfer_attr[0], TM_IPS_ACTION, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1556 |
TM_IPS_INIT) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1557 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1558 |
nvlist_free(transfer_attr[0]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1559 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1560 |
"Setting of TMP_IPS_ACTION failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1561 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1562 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1563 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1564 |
if (nvlist_add_string(transfer_attr[0], TM_IPS_INIT_MNTPT, |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
1565 |
INSTALLED_ROOT_DIR) != 0) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1566 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1567 |
nvlist_free(transfer_attr[0]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1568 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1569 |
"Setting of TM_IPS_INIT_MNTPT failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1570 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1571 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1572 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1573 |
if (nvlist_add_string(transfer_attr[0], TM_IPS_PKG_URL, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1574 |
"http://ipkg.sfbay:10004") != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1575 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1576 |
nvlist_free(transfer_attr[0]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1577 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1578 |
"Setting of TM_IPS_PKG_URL failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1579 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1580 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1581 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1582 |
if (nvlist_add_string(transfer_attr[0], TM_IPS_PKG_AUTH, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1583 |
"ipkg.sfbay") != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1584 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1585 |
nvlist_free(transfer_attr[0]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1586 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1587 |
"Setting of TM_IPS_PKG_AUTH failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1588 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1589 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1590 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1591 |
if (nvlist_alloc(&transfer_attr[1], NV_UNIQUE_NAME, 0) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1592 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1593 |
"nvlist allocation failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1594 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1595 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1596 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1597 |
if (nvlist_add_uint32(transfer_attr[1], TM_ATTR_MECHANISM, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1598 |
TM_PERFORM_IPS) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1599 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1600 |
nvlist_free(transfer_attr[0]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1601 |
nvlist_free(transfer_attr[1]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1602 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1603 |
"Setting of TM_ATTR_MECHANISM failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1604 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1605 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1606 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1607 |
if (nvlist_add_uint32(transfer_attr[1], TM_IPS_ACTION, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1608 |
TM_IPS_RETRIEVE) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1609 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1610 |
nvlist_free(transfer_attr[0]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1611 |
nvlist_free(transfer_attr[1]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1612 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1613 |
"Setting of TMP_IPS_ACTION failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1614 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1615 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1616 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1617 |
if (nvlist_add_string(transfer_attr[1], TM_IPS_INIT_MNTPT, |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
1618 |
INSTALLED_ROOT_DIR) != 0) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1619 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1620 |
nvlist_free(transfer_attr[0]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1621 |
nvlist_free(transfer_attr[1]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1622 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1623 |
"Setting of TM_IPS_INIT_MNTPT failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1624 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1625 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1626 |
|
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1627 |
if (create_package_list_file(B_TRUE, AI_PACKAGE_LIST_INSTALL, |
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1628 |
AUTO_INSTALL_PKG_LIST_FILE) != AUTO_INSTALL_SUCCESS) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1629 |
auto_log_print(gettext("Failed to create a file with list " |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1630 |
"of packages to be installed\n")); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1631 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1632 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1633 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1634 |
if (nvlist_add_string(transfer_attr[1], TM_IPS_PKGS, |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1635 |
AUTO_INSTALL_PKG_LIST_FILE) != 0) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1636 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1637 |
nvlist_free(transfer_attr[0]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1638 |
nvlist_free(transfer_attr[1]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1639 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1640 |
"Setting of TM_IPS_PKG_URL failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1641 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1642 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1643 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1644 |
if (nvlist_add_nvlist_array(install_attr, OM_ATTR_TRANSFER, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1645 |
transfer_attr, 2) != 0) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1646 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1647 |
nvlist_free(transfer_attr[0]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1648 |
nvlist_free(transfer_attr[1]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1649 |
auto_debug_print(AUTO_DBGLVL_INFO, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1650 |
"Setting of OM_ATTR_TRANSFER failed\n"); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1651 |
return (AUTO_INSTALL_FAILURE); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1652 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1653 |
status = om_perform_install(install_attr, auto_update_progress); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1654 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1655 |
while (!install_done && !install_failed) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1656 |
sleep(10); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1657 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1658 |
nvlist_free(install_attr); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1659 |
nvlist_free(transfer_attr[0]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1660 |
nvlist_free(transfer_attr[1]); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1661 |
|
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1662 |
if (install_failed || status != OM_SUCCESS) |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1663 |
return (AUTO_INSTALL_FAILURE); |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1664 |
else |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1665 |
return (AUTO_INSTALL_SUCCESS); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1666 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1667 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1668 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1669 |
* Function: auto_get_disk_name_from_slice |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1670 |
* Description: Convert a conventional disk name into the internal canonical |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1671 |
* form. Remove the trailing index reference. The return status |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1672 |
* reflects whether or not the 'src' name is valid. |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1673 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1674 |
* src dst |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1675 |
* --------------------------------------- |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1676 |
* [/dev/rdsk/]c0t0d0s0 -> c0t0d0 |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1677 |
* [/dev/rdsk/]c0t0d0p0 -> c0t0d0 |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1678 |
* [/dev/rdsk/]c0d0s0 -> c0d0 |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1679 |
* [/dev/rdsk/]c0d0p0 -> c0d0 |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1680 |
* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1681 |
* Scope: public |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1682 |
* Parameters: dst - used to retrieve cannonical form of drive name |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1683 |
* ("" if not valid) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1684 |
* src - name of drive to be processed (see table above) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1685 |
* Return: 0 - valid disk name |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1686 |
* -1 - invalid disk name |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1687 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1688 |
static void |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1689 |
auto_get_disk_name_from_slice(char *dst, char *src) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1690 |
{ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1691 |
char name[MAXPATHLEN]; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1692 |
char *cp; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1693 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1694 |
*dst = '\0'; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1695 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1696 |
(void) strcpy(name, src); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1697 |
/* |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1698 |
* The slice could be like s2 or s10 |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1699 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1700 |
cp = name + strlen(name) - 3; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1701 |
if (*cp) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1702 |
if (*cp == 'p' || *cp == 's') { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1703 |
*cp = '\0'; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1704 |
} else { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1705 |
cp++; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1706 |
if (*cp == 'p' || *cp == 's') { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1707 |
*cp = '\0'; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1708 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1709 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1710 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1711 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1712 |
/* It could be full pathname like /dev/dsk/disk_name */ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1713 |
if ((cp = strrchr(name, '/')) != NULL) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1714 |
cp++; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1715 |
(void) strcpy(dst, cp); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1716 |
} else { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1717 |
/* Just the disk name is provided, so return the name */ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1718 |
(void) strcpy(dst, name); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1719 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1720 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1721 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1722 |
int |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1723 |
main(int argc, char **argv) |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1724 |
{ |
461
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1725 |
int opt; |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1726 |
extern char *optarg; |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1727 |
char profile[MAXNAMELEN]; |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1728 |
char diskname[MAXNAMELEN]; |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1729 |
char slicename[MAXNAMELEN]; |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1730 |
int num_du_pkgs_installed; |
461
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1731 |
boolean_t auto_reboot_enabled = B_FALSE; |
514
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1732 |
nvlist_t *ls_init_attr = NULL; |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1733 |
boolean_t auto_install_failed = B_FALSE; |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1734 |
int retries; |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1735 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1736 |
(void) setlocale(LC_ALL, ""); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1737 |
(void) textdomain(TEXT_DOMAIN); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1738 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1739 |
profile[0] = '\0'; |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1740 |
slicename[0] = '\0'; |
514
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1741 |
while ((opt = getopt(argc, argv, "vd:Iip:")) != -1) { |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1742 |
switch (opt) { |
459
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1743 |
case 'd': /* target disk name for testing only */ |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1744 |
(void) strlcpy(slicename, optarg, sizeof (slicename)); |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1745 |
break; |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1746 |
case 'I': /* break after Target Instantiation for testing */ |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1747 |
om_set_breakpoint(OM_breakpoint_after_TI); |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1748 |
break; |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1749 |
case 'i': /* break before Target Instantiation for testing */ |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1750 |
om_set_breakpoint(OM_breakpoint_before_TI); |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1751 |
break; |
56b6b042a167
5653 AI manifest should offer keyword to use max available space for partition/slice
William Schumann <william.schumann@sun.com>
parents:
457
diff
changeset
|
1752 |
case 'p': /* profile is provided */ |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1753 |
(void) strlcpy(profile, optarg, sizeof (profile)); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1754 |
break; |
514
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1755 |
case 'v': /* debug verbose mode enabled */ |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1756 |
enable_debug_mode(B_TRUE); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1757 |
break; |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1758 |
default: |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1759 |
usage(); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1760 |
exit(AI_EXIT_FAILURE); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1761 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1762 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1763 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1764 |
if (profile[0] == '\0' && slicename[0] == '\0') { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1765 |
usage(); |
461
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1766 |
exit(AI_EXIT_FAILURE); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1767 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1768 |
|
514
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1769 |
/* |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1770 |
* initialize logging service - increase verbosity level |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1771 |
* if installer was invoked in debug mode |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1772 |
* print error messages to stderr, since we don't have |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1773 |
* logging service available at this point |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1774 |
*/ |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1775 |
if (is_debug_mode_enabled()) { |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1776 |
if (nvlist_alloc(&ls_init_attr, NV_UNIQUE_NAME, 0) != 0) { |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1777 |
(void) fprintf(stderr, |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1778 |
"nvlist allocation failed for ls_init_attrs\n"); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1779 |
|
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1780 |
exit(AI_EXIT_FAILURE); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1781 |
} |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1782 |
|
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1783 |
if (nvlist_add_int16(ls_init_attr, LS_ATTR_DBG_LVL, |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1784 |
LS_DBGLVL_INFO) != 0) { |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1785 |
(void) fprintf(stderr, |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1786 |
"Setting LS_ATTR_DBG_LVL failed\n"); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1787 |
|
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1788 |
nvlist_free(ls_init_attr); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1789 |
exit(AI_EXIT_FAILURE); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1790 |
} |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1791 |
} |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1792 |
|
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1793 |
if (ls_init(ls_init_attr) != LS_E_SUCCESS) { |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1794 |
(void) fprintf(stderr, |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1795 |
"Couldn't initialize logging service\n"); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1796 |
|
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1797 |
nvlist_free(ls_init_attr); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1798 |
exit(AI_EXIT_FAILURE); |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1799 |
} |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1800 |
|
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1801 |
/* release nvlist, since it is no longer needed */ |
517a34f61a54
4443 Automated Installer needs support for better observability
Jan Damborsky <jan.damborsky@sun.com>
parents:
503
diff
changeset
|
1802 |
nvlist_free(ls_init_attr); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1803 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1804 |
if (profile[0] != '\0') { |
461
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1805 |
char *ai_auto_reboot; |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1806 |
|
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1807 |
/* |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1808 |
* We are passed in an AI manifest with an embedded |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1809 |
* SC manifest, both in DTD format. We want to |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1810 |
* separate them. |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1811 |
*/ |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1812 |
if (auto_split_manifests(profile, AI_MANIFEST_FILE, |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1813 |
SC_MANIFEST_FILE) != AUTO_VALID_MANIFEST) { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1814 |
auto_log_print(gettext("Auto install failed. Invalid " |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1815 |
"manifest file %s specified\n"), profile); |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1816 |
exit(AI_EXIT_FAILURE_AIM); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1817 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1818 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1819 |
/* |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
1820 |
* Validate the AI manifest. If it validates, set |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1821 |
* it up in an in-memory tree so searches can be |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1822 |
* done on it in the future to retrieve the values |
315
78d36732cf38
4030 auto-install should select a default target if a user defined target is
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
311
diff
changeset
|
1823 |
*/ |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1824 |
if (ai_create_manifest_image(AI_MANIFEST_FILE) == |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1825 |
AUTO_VALID_MANIFEST) { |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1826 |
auto_log_print(gettext("%s manifest created\n"), |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1827 |
profile); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1828 |
} else { |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1829 |
auto_log_print(gettext("Auto install failed. Error " |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1830 |
"creating manifest %s\n"), profile); |
495
a0961490f883
7415 'slim_install' is left on system when Automated Installer is used for the installation
Jan Damborsky <jan.damborsky@sun.com>
parents:
477
diff
changeset
|
1831 |
exit(AI_EXIT_FAILURE_AIM); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1832 |
} |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1833 |
|
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1834 |
if (ai_setup_manifest_image() == AUTO_VALID_MANIFEST) { |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1835 |
auto_log_print(gettext( |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1836 |
"%s manifest setup and validated\n"), profile); |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1837 |
} else { |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1838 |
char *setup_err = gettext("Auto install failed. Error " |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1839 |
"setting up and validating manifest %s\n"); |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1840 |
auto_log_print(setup_err, profile); |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1841 |
(void) fprintf(stderr, setup_err, profile); |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1842 |
exit(AI_EXIT_FAILURE_AIM); |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1843 |
} |
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1844 |
|
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1845 |
/* |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1846 |
* Install any drivers required for installation, in the |
862
e9f31f2f2f2d
16423 Updates to AI schema should be made
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
846
diff
changeset
|
1847 |
* booted environment. |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1848 |
*/ |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1849 |
|
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1850 |
/* |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1851 |
* First boolean: do not honor noinstall flag. |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1852 |
* Second boolean: do not update the boot archive. |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1853 |
*/ |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1854 |
num_du_pkgs_installed = |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1855 |
ai_du_get_and_install("/", B_FALSE, B_FALSE); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1856 |
|
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1857 |
/* |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1858 |
* Note: Print no messages if num_du_pkgs_installed = 0 |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1859 |
* This means no packages and no errors, or no-op. |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1860 |
*/ |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1861 |
if (num_du_pkgs_installed > 0) { |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1862 |
auto_log_print(gettext("All additional " |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1863 |
"driver packages successfully installed " |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1864 |
"to booted installation environment.\n")); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1865 |
} else if (num_du_pkgs_installed < 0) { |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1866 |
char *du_warning = gettext("Warning: some additional " |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1867 |
"driver packages could not be installed\n" |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1868 |
" to booted installation environment.\n" |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1869 |
" These drivers may or may not be required for " |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1870 |
"the installation to proceed.\n" |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1871 |
" Will continue anyway...\n"); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1872 |
auto_log_print(du_warning); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1873 |
(void) fprintf(stderr, du_warning); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1874 |
} |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1875 |
|
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1876 |
diskname[0] = '\0'; |
461
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1877 |
|
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1878 |
/* |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1879 |
* Since valid manifest was provided, check if automated reboot |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1880 |
* feature is enabled. |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1881 |
*/ |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1882 |
|
471
5a23ff9e7f8c
7219 Automated Installer reports slice customization in manifest where none exist
William Schumann <william.schumann@sun.com>
parents:
464
diff
changeset
|
1883 |
ai_auto_reboot = ai_get_manifest_element_value(AIM_AUTO_REBOOT); |
461
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1884 |
|
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1885 |
if (ai_auto_reboot != NULL) { |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1886 |
if (strcasecmp(ai_auto_reboot, "true") == 0) { |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1887 |
auto_log_print( |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1888 |
gettext("Auto reboot enabled\n")); |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1889 |
|
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1890 |
auto_reboot_enabled = B_TRUE; |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1891 |
} else { |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1892 |
auto_log_print( |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1893 |
gettext("Auto reboot disabled\n")); |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1894 |
} |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1895 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1896 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1897 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1898 |
if (slicename[0] != '\0') { |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1899 |
auto_get_disk_name_from_slice(diskname, slicename); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1900 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1901 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1902 |
if (auto_perform_install(diskname) != AUTO_INSTALL_SUCCESS) { |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1903 |
(void) fprintf(stderr, "Automated Installation failed\n"); |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1904 |
|
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1905 |
auto_install_failed = B_TRUE; |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1906 |
} else { |
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1907 |
/* |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1908 |
* Install additional drivers on target. |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1909 |
* First boolean: honor noinstall flag. |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1910 |
* Second boolean: update boot archive. |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1911 |
*/ |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1912 |
num_du_pkgs_installed = |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1913 |
ai_du_install(INSTALLED_ROOT_DIR, B_TRUE, B_TRUE); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1914 |
if (num_du_pkgs_installed < 0) { |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1915 |
char *tgt_inst_err = gettext("Basic installation was " |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1916 |
"successful. However, there was an error\n"); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1917 |
auto_log_print(tgt_inst_err, profile); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1918 |
(void) fprintf(stderr, tgt_inst_err); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1919 |
tgt_inst_err = gettext("installing at least one " |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1920 |
"additional driver package on target.\n"); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1921 |
auto_log_print(tgt_inst_err, profile); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1922 |
(void) fprintf(stderr, tgt_inst_err); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1923 |
tgt_inst_err = gettext("Please verify that all driver " |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1924 |
"packages required for reboot are installed " |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1925 |
"before rebooting.\n"); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1926 |
auto_log_print(tgt_inst_err, profile); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1927 |
(void) fprintf(stderr, tgt_inst_err); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1928 |
auto_install_failed = B_TRUE; |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1929 |
} |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1930 |
} |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1931 |
|
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1932 |
if (! auto_install_failed) { |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1933 |
|
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1934 |
if (auto_reboot_enabled) { |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1935 |
printf(gettext("Automated Installation succeeded." |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1936 |
" System will be rebooted now\n")); |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1937 |
|
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1938 |
auto_log_print(gettext("Automated Installation" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1939 |
" succeeded. System will be rebooted now\n")); |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1940 |
} else { |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1941 |
printf(gettext("Automated Installation succeeded. You" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1942 |
" may wish to reboot the system at this time\n")); |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1943 |
|
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1944 |
auto_log_print(gettext("Automated Installation" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1945 |
" succeeded. You may wish to reboot the system" |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1946 |
" at this time\n")); |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1947 |
} |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1948 |
} |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1949 |
|
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1950 |
(void) ai_teardown_manifest_state(); |
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1951 |
|
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1952 |
/* |
834
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1953 |
* Transfer /tmp/install_log file now that it is complete. |
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1954 |
* Subsequent messages are not captured in copy of log file |
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1955 |
* tranfered to destination. |
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1956 |
*/ |
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1957 |
|
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1958 |
if (access(INSTALLED_ROOT_DIR, F_OK) == 0) { |
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1959 |
if (ls_transfer("/", INSTALLED_ROOT_DIR) != LS_E_SUCCESS) { |
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1960 |
auto_log_print(gettext( |
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1961 |
"Could not transfer log file to the target\n")); |
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1962 |
} |
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1963 |
} |
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1964 |
|
ebc61df501b2
16088 DDU AI install did not copy install_log to system if DDU install fails.
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
822
diff
changeset
|
1965 |
/* |
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1966 |
* If the installation failed, abort now and let the user inspect |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1967 |
* the system |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1968 |
*/ |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1969 |
|
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1970 |
if (auto_install_failed) |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1971 |
exit(AI_EXIT_FAILURE); |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1972 |
|
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1973 |
/* |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1974 |
* Unmount installed boot environment |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1975 |
*/ |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1976 |
if (om_unmount_target_be() != OM_SUCCESS) { |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1977 |
auto_log_print(gettext( |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1978 |
"Could not unmount target boot environment.\n")); |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1979 |
|
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1980 |
auto_install_failed = B_TRUE; |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1981 |
} |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1982 |
|
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1983 |
/* |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1984 |
* Exit with return codes reflecting the result of the installation: |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1985 |
* AI_EXIT_SUCCESS - installation succeeded, don't reboot automatically |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1986 |
* AI_EXIT_AUTO_REBOOT - installation succeeded, reboot automatically |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1987 |
*/ |
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1988 |
|
822
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1989 |
if (auto_install_failed) |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1990 |
exit(AI_EXIT_FAILURE); |
2ba2b98f055e
10129 Blocker bug for Driver Update project
Jack Schwartz <Jack.A.Schwartz@Sun.COM>
parents:
810
diff
changeset
|
1991 |
|
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1992 |
if (auto_reboot_enabled) |
461
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1993 |
exit(AI_EXIT_AUTO_REBOOT); |
c51e3b699738
6556 AI should provide an option for automatic reboot after an install
Jan Damborsky <jan.damborsky@sun.com>
parents:
460
diff
changeset
|
1994 |
|
635
74823d433dc4
6651 autoinstall needs more useful error messages from Orchestrator module
Jan Damborsky <jan.damborsky@sun.com>
parents:
633
diff
changeset
|
1995 |
exit(AI_EXIT_SUCCESS); |
272
6ffbbcf6242a
3611 liborchestrator needs to be enhanced to support IPS based installs
Alok Aggarwal <Alok.Aggarwal@Sun.COM>
parents:
diff
changeset
|
1996 |
} |