author | Drew Fisher <drew.fisher@oracle.com> |
Fri, 29 Apr 2011 09:05:38 -0700 | |
changeset 1099 | 9685582c2e8a |
parent 1055 | 26f4df2e408e |
child 1161 | 5c1b6d445efc |
permissions | -rw-r--r-- |
1041
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
1 |
#!/usr/bin/python |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
2 |
# |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
3 |
# CDDL HEADER START |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
4 |
# |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
5 |
# The contents of this file are subject to the terms of the |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
6 |
# Common Development and Distribution License (the "License"). |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
7 |
# You may not use this file except in compliance with the License. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
8 |
# |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
9 |
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
10 |
# or http://www.opensolaris.org/os/licensing. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
11 |
# See the License for the specific language governing permissions |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
12 |
# and limitations under the License. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
13 |
# |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
14 |
# When distributing Covered Code, include this CDDL HEADER in each |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
15 |
# file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
16 |
# If applicable, add the following below this CDDL HEADER, with the |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
17 |
# fields enclosed by brackets "[]" replaced with your own identifying |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
18 |
# information: Portions Copyright [yyyy] [name of copyright owner] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
19 |
# |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
20 |
# CDDL HEADER END |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
21 |
# |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
22 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
23 |
# |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
24 |
# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
25 |
# |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
26 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
27 |
import os |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
28 |
import shutil |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
29 |
import sys |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
30 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
31 |
import pkg.client.api as api |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
32 |
import pkg.client.api_errors as api_errors |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
33 |
import pkg.client.progress as progress |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
34 |
import solaris_install.ict as ICT |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
35 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
36 |
from stat import S_IREAD, S_IRGRP, S_IROTH |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
37 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
38 |
from solaris_install.data_object import ObjectNotFoundError |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
39 |
from solaris_install.transfer.info import Args |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
40 |
from solaris_install.transfer.info import CPIOSpec |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
41 |
from solaris_install.transfer.info import IPSSpec |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
42 |
from solaris_install.transfer.ips import RedirectIPSTrans |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
43 |
from solaris_install.transfer.info import Software |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
44 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
45 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
46 |
class CleanupCPIOInstall(ICT.ICTBaseClass): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
47 |
''' |
1055
26f4df2e408e
6255 ICT - Use more flexible method, than install-finish to invoke ICT (fix pep8 )
Mary Ding <mary.ding@oracle.com>
parents:
1041
diff
changeset
|
48 |
The CleanupCPIOInstall checkpoint performs clean up on the system after |
26f4df2e408e
6255 ICT - Use more flexible method, than install-finish to invoke ICT (fix pep8 )
Mary Ding <mary.ding@oracle.com>
parents:
1041
diff
changeset
|
49 |
a live CD install. This checkpoint performs the following when the |
1041
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
50 |
the execute method is called: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
51 |
- Creates /etc/mnttab if it doesn't already exist and chmods it to the |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
52 |
correct values |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
53 |
- Removes files and directories that are not needed by the installed |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
54 |
system |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
55 |
- Remove miscellanous directory trees used as work areas during |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
56 |
installation |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
57 |
- Relocate configuration files from the save directory |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
58 |
- Remove install-specific packages that are not needed by the installed |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
59 |
system |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
60 |
- Reset pkg(1) image UUID for preferred publisher |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
61 |
''' |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
62 |
def __init__(self, name): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
63 |
'''Initializes the class |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
64 |
Parameters: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
65 |
-name - this arg is required by the AbstractCheckpoint |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
66 |
''' |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
67 |
super(CleanupCPIOInstall, self).__init__(name) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
68 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
69 |
self.cleanup_list = ['.livecd', '.volsetid', '.textinstall', |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
70 |
'etc/sysconfig/language', '.liveusb', |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
71 |
'a', 'bootcd_microroot'] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
72 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
73 |
def execute(self, dry_run=False): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
74 |
''' |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
75 |
The AbstractCheckpoint class requires this method |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
76 |
in sub-classes. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
77 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
78 |
Parameters: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
79 |
- the dry_run keyword paramater. The default value is False. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
80 |
If set to True, the log message describes the checkpoint tasks. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
81 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
82 |
Returns: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
83 |
- Nothing |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
84 |
On failure, errors raised are managed by the engine. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
85 |
''' |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
86 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
87 |
# Variable used to store the result of a pkg api plan_uninstall |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
88 |
pkg_rval = False |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
89 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
90 |
# List to hold requested packages to be removed |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
91 |
pkg_rm_node = [] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
92 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
93 |
# Dictionary and lists used to hold the results of package info check |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
94 |
# for packages in the list of packages requested for removal |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
95 |
pkg_ret_info = {} |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
96 |
pkgs_found = [] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
97 |
pkgs_notfound = [] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
98 |
pkgs_illegal = [] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
99 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
100 |
# Variables used to check for valid packages |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
101 |
info_local = True |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
102 |
info_needed = api.PackageInfo.ALL_OPTIONS |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
103 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
104 |
# The software node containing packages, directories and files that |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
105 |
# need removal |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
106 |
soft_list = None |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
107 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
108 |
self.logger.debug('ICT current task: cleanup install') |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
109 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
110 |
# parse_doc populates variables necessary to execute the checkpoint |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
111 |
self.parse_doc() |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
112 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
113 |
# Get the list of install specific items that need to be removed. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
114 |
# Check for both IPS packages and files and directories |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
115 |
# If no items are designated, an empty list is returned. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
116 |
soft_list = self.doc.get_descendants(name=self.name, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
117 |
class_type=Software) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
118 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
119 |
if soft_list: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
120 |
soft_node = soft_list[0] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
121 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
122 |
# Get the list of install specific packages that need to |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
123 |
# be removed. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
124 |
try: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
125 |
pkg_rm_node = soft_node.get_children(class_type=IPSSpec)[0] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
126 |
except IndexError, err: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
127 |
# No IPS packages have been specified |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
128 |
pass |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
129 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
130 |
# Get the list of install specific files that need to be removed. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
131 |
try: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
132 |
file_rm_node = soft_node.get_children(class_type=CPIOSpec)[0] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
133 |
self.cleanup_list.extend(file_rm_node.contents) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
134 |
except IndexError, err: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
135 |
# No additional CPIO contents have been specified |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
136 |
pass |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
137 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
138 |
# Create the mnttab file |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
139 |
self.logger.debug('Executing: Create /etc/mnttab file') |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
140 |
if not dry_run: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
141 |
mnttab = os.path.join(self.target_dir, ICT.MNTTAB) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
142 |
mnttab_dir = os.path.dirname(mnttab) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
143 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
144 |
# Create the directory that holds the mnttab file, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
145 |
# if it does not exist. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
146 |
if not os.access(mnttab_dir, os.F_OK): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
147 |
os.makedirs(mnttab_dir) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
148 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
149 |
# Create the mnttab file if it does not exist. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
150 |
if not os.access(mnttab, os.F_OK): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
151 |
open(mnttab, 'w').close() |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
152 |
os.chmod(mnttab, S_IREAD | S_IRGRP | S_IROTH) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
153 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
154 |
# Remove and miscellaneous directories used as work areas |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
155 |
self.logger.debug('Executing: Remove miscellaneous work directories ' |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
156 |
'from /var/tmp') |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
157 |
for root, dirs, files in os.walk(os.path.join(self.target_dir, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
158 |
'var/tmp'), topdown=False): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
159 |
for name in files: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
160 |
self.logger.debug('Removing %s', name) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
161 |
if not dry_run: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
162 |
os.unlink(os.path.join(root, name)) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
163 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
164 |
for work_dir in dirs: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
165 |
self.logger.debug('Removing %s', work_dir) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
166 |
if not dry_run: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
167 |
os.rmdir(os.path.join(root, work_dir)) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
168 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
169 |
self.logger.debug('Executing: Remove miscellaneous work directories ' |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
170 |
'from /mnt') |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
171 |
for root, dirs, files in os.walk(os.path.join(self.target_dir, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
172 |
'mnt'), topdown=False): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
173 |
for name in files: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
174 |
self.logger.debug('Removing %s', name) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
175 |
if not dry_run: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
176 |
os.unlink(os.path.join(root, name)) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
177 |
for work_dir in dirs: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
178 |
self.logger.debug('Removing %s', work_dir) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
179 |
if not dry_run: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
180 |
os.rmdir(os.path.join(root, work_dir)) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
181 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
182 |
# Relocate configuration files from the save directory |
1055
26f4df2e408e
6255 ICT - Use more flexible method, than install-finish to invoke ICT (fix pep8 )
Mary Ding <mary.ding@oracle.com>
parents:
1041
diff
changeset
|
183 |
savedir = os.path.join(self.target_dir, 'save') |
1041
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
184 |
if os.path.exists(savedir): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
185 |
self.logger.debug('Executing: Relocate configuration files') |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
186 |
for root, dirs, files in os.walk(savedir, topdown=False): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
187 |
if not files: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
188 |
continue |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
189 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
190 |
target = root.replace('/save', '') |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
191 |
if not dry_run: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
192 |
if not os.access(target, os.F_OK): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
193 |
os.makedirs(target, 0755) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
194 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
195 |
for name in files: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
196 |
move_file = os.path.join(root, name) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
197 |
self.logger.debug('Moving %s to %s', move_file, target) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
198 |
if not dry_run: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
199 |
if os.access(os.path.join(target, name), os.F_OK): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
200 |
self.logger.debug('%s exists at %s --skipping', |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
201 |
name, target) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
202 |
else: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
203 |
shutil.copy2(move_file, target) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
204 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
205 |
if not dry_run: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
206 |
try: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
207 |
api_inst = api.ImageInterface(self.target_dir, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
208 |
ICT.CLIENT_API_VERSION, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
209 |
progress.CommandLineProgressTracker(), |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
210 |
None, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
211 |
ICT.PKG_CLIENT_NAME) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
212 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
213 |
except api_errors.VersionException, ips_err: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
214 |
raise ValueError("The IPS API version specified, " |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
215 |
+ str(ips_err.received_version) + |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
216 |
" does not agree with " |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
217 |
"the expected version, " |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
218 |
+ str(ips_err.expected_version)) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
219 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
220 |
# Remove install-specific packages that are not needed |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
221 |
if pkg_rm_node and len(pkg_rm_node.contents) > 0: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
222 |
self.logger.debug("Executing: Remove unneeded install-specific " |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
223 |
"packages") |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
224 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
225 |
# Check that all of the packages are valid packages |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
226 |
# before trying to uninstall them |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
227 |
self.logger.debug('Validating the packages to be uninstalled ' |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
228 |
'%s', pkg_rm_node.contents) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
229 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
230 |
if not dry_run: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
231 |
try: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
232 |
pkg_ret_info = api_inst.info(pkg_rm_node.contents, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
233 |
info_local, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
234 |
info_needed) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
235 |
except api_errors.NoPackagesInstalledException: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
236 |
self.logger.debug("no packages from the uninstall list " |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
237 |
"are installed") |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
238 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
239 |
if pkg_ret_info: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
240 |
pkgs_found = pkg_ret_info[api.ImageInterface.INFO_FOUND] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
241 |
pkgs_notfound = pkg_ret_info[ |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
242 |
api.ImageInterface.INFO_MISSING] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
243 |
pkgs_illegal = pkg_ret_info[ |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
244 |
api.ImageInterface.INFO_ILLEGALS] |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
245 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
246 |
for notfound in pkgs_notfound: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
247 |
self.logger.debug("'%s' is not installed - skipping" |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
248 |
% notfound) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
249 |
pkg_rm_node.contents.remove(notfound) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
250 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
251 |
for illegal in pkgs_illegal: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
252 |
self.logger.debug("'%s' is not a legal package for " |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
253 |
"this install image - skipping" |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
254 |
% illegal) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
255 |
pkg_rm_node.contents.remove(illegal) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
256 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
257 |
# Uninstall the packages |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
258 |
if not pkgs_found: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
259 |
self.logger.debug('No packages to uninstall') |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
260 |
else: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
261 |
self.logger.debug('Uninstalling the packages...') |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
262 |
self.logger.debug('%s', pkg_rm_node.contents) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
263 |
if not dry_run: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
264 |
# Reset the value to false |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
265 |
pkg_rval = False |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
266 |
try: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
267 |
pkg_args = pkg_rm_node.get_first_child( |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
268 |
Args.ARGS_LABEL, Args) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
269 |
except ObjectNotFoundError, err: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
270 |
# No package arguments have been defined |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
271 |
pass |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
272 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
273 |
if pkg_args: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
274 |
if "recursive_removal" in pkg_args.arg_dict: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
275 |
pkg_rval = api_inst.plan_uninstall( |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
276 |
pkg_list=pkg_rm_node.contents, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
277 |
recursive_removal=pkg_args.arg_dict.pop( |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
278 |
"recursive_removal", **pkg_args.arg_dict)) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
279 |
else: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
280 |
pkg_rval = api_inst.plan_uninstall( |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
281 |
pkg_list=pkg_rm_node.contents, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
282 |
recursive_removal=False, **pkg_args.arg_dict) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
283 |
else: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
284 |
pkg_rval = api_inst.plan_uninstall( |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
285 |
pkg_list=pkg_rm_node.contents, |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
286 |
recursive_removal=False) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
287 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
288 |
# Redirect stdout and stderr from the pkg image in order |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
289 |
# to capture the command line output from the pkg |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
290 |
# progress tracker into the transfer logs. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
291 |
if pkg_rval: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
292 |
tmp_stdout = sys.stdout |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
293 |
tmp_stderr = sys.stderr |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
294 |
sys.stdout = sys.stderr = RedirectIPSTrans(self.logger) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
295 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
296 |
api_inst.prepare() |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
297 |
api_inst.execute_plan() |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
298 |
api_inst.reset() |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
299 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
300 |
# Release stdout and stderr |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
301 |
sys.stdout = tmp_stdout |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
302 |
sys.stderr = tmp_stderr |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
303 |
else: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
304 |
self.logger.debug('Unable to uninstall install specific ' |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
305 |
'packages') |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
306 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
307 |
# Reset the pkg(1) image UUID to the preferred publisher |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
308 |
self.logger.debug('Executing: Setting the UUID to the preferred ' |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
309 |
'publisher') |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
310 |
if not dry_run: |
1099
9685582c2e8a
7039499 Need to change slim_source for IPS API_VERSION change of 57 for snv_165
Drew Fisher <drew.fisher@oracle.com>
parents:
1055
diff
changeset
|
311 |
publisher = api_inst.get_highest_ranked_publisher() |
1041
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
312 |
publisher.reset_client_uuid() |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
313 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
314 |
# Remove the files and directories in the cleanup_list |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
315 |
self.logger.debug('Executing: Cleanup of %s', self.cleanup_list) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
316 |
for cleanup_name in self.cleanup_list: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
317 |
cleanup = os.path.join(self.target_dir, cleanup_name) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
318 |
self.logger.debug("Removing %s", cleanup) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
319 |
if not dry_run: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
320 |
if os.access(cleanup, os.F_OK): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
321 |
if os.path.isfile(cleanup): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
322 |
os.unlink(cleanup) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
323 |
else: |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
324 |
os.rmdir(cleanup) |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
325 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
326 |
def get_progress_estimate(self): |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
327 |
''' |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
328 |
The AbstractCheckpoint class requires this method |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
329 |
in sub-classes. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
330 |
|
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
331 |
This returns an estimate of how long the execute() method |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
332 |
will take to run. |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
333 |
''' |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
334 |
#XXXThis needs to be determined more accurately |
7e44b50b28cb
6255:ICT - Use more flexible method, than install-finish to invoke ICT
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff
changeset
|
335 |
return 60 |