author | Susan Sohn <susan.sohn@oracle.com> |
Wed, 01 Aug 2012 13:34:01 -0700 | |
changeset 1760 | 820b90ac476b |
parent 1675 | c225c357f3d2 |
permissions | -rw-r--r-- |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
1 |
#!/usr/bin/python2.6 |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
2 |
# |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
3 |
# CDDL HEADER START |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
4 |
# |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
5 |
# The contents of this file are subject to the terms of the |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
6 |
# Common Development and Distribution License (the "License"). |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
7 |
# You may not use this file except in compliance with the License. |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
8 |
# |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
9 |
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
10 |
# or http://www.opensolaris.org/os/licensing. |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
11 |
# See the License for the specific language governing permissions |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
12 |
# and limitations under the License. |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
13 |
# |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
14 |
# When distributing Covered Code, include this CDDL HEADER in each |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
15 |
# file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
16 |
# If applicable, add the following below this CDDL HEADER, with the |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
17 |
# fields enclosed by brackets "[]" replaced with your own identifying |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
18 |
# information: Portions Copyright [yyyy] [name of copyright owner] |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
19 |
# |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
20 |
# CDDL HEADER END |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
21 |
# |
1652
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
22 |
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
23 |
# |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
24 |
''' |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
25 |
installadm - administration of AI services, manifests, and clients |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
26 |
''' |
1760
820b90ac476b
7187126 Creating AI service from pkg(5) results in traceback
Susan Sohn <susan.sohn@oracle.com>
parents:
1675
diff
changeset
|
27 |
import gettext |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
28 |
import logging |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
29 |
import sys |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
30 |
import traceback |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
31 |
|
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
32 |
import osol_install.auto_install.ai_smf_service as aismf |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
33 |
import osol_install.auto_install.service_config as config |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
34 |
|
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
35 |
from optparse import OptionParser, SUPPRESS_HELP |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
36 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
37 |
from osol_install.auto_install import create_client |
1075
df96871c232d
16045 SC manifest should not be required to be in an XML comment when using embedded form
William Schumann <william.schumann@sun.com>
parents:
1060
diff
changeset
|
38 |
from osol_install.auto_install import create_profile |
1023
67ab1aaf8229
7020631 Convert create-service.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1008
diff
changeset
|
39 |
from osol_install.auto_install import create_service |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
40 |
from osol_install.auto_install import delete_client |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
41 |
from osol_install.auto_install import delete_manifest |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
42 |
from osol_install.auto_install import delete_profile |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
43 |
from osol_install.auto_install import delete_service |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
44 |
from osol_install.auto_install import export |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
45 |
from osol_install.auto_install import list as ai_list |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
46 |
from osol_install.auto_install import publish_manifest |
1309
a58fac510fb6
7047801 Derived Manifests Module should remove script restrictions of only ksh93 or python
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1285
diff
changeset
|
47 |
from osol_install.auto_install import rename_service |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
48 |
from osol_install.auto_install import set_criteria |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
49 |
from osol_install.auto_install import set_service |
1675
c225c357f3d2
PSARC/2012/142 installadm update-service
Susan Sohn <susan.sohn@oracle.com>
parents:
1652
diff
changeset
|
50 |
from osol_install.auto_install import update_service |
1075
df96871c232d
16045 SC manifest should not be required to be in an XML comment when using embedded form
William Schumann <william.schumann@sun.com>
parents:
1060
diff
changeset
|
51 |
from osol_install.auto_install import validate_profile |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
52 |
from osol_install.auto_install.installadm_common import _, \ |
1285
ad387de1635f
7059977 some installadm output needs better formatting
Jesse Butler <jesse.butler@oracle.com>
parents:
1221
diff
changeset
|
53 |
CHECK_SETUP_SCRIPT, validate_service_name, XDEBUG, setup_logging, \ |
ad387de1635f
7059977 some installadm output needs better formatting
Jesse Butler <jesse.butler@oracle.com>
parents:
1221
diff
changeset
|
54 |
cli_wrap as cw |
1358
6016d5e46a08
7066078 installadm should be able to create a service from a package
Susan Sohn <susan.sohn@oracle.com>
parents:
1309
diff
changeset
|
55 |
from osol_install.auto_install.image import ImageError |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
56 |
from osol_install.auto_install.service import AIService, MountError, \ |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
57 |
VersionError, InvalidServiceError |
1652
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
58 |
from solaris_install import Popen, CalledProcessError, check_auth_and_euid, \ |
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
59 |
SERVICE_AUTH, UnauthorizedUserError |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
60 |
|
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
61 |
|
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
62 |
DEFAULT_LOG_LEVEL = logging.WARN |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
63 |
DEBUG_LOG_LEVEL = logging.DEBUG |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
64 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
65 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
66 |
def get_enable_usage(): |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
67 |
''' get usage for enable''' |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
68 |
usage = _('enable\t<svcname>') |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
69 |
return(usage) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
70 |
|
1023
67ab1aaf8229
7020631 Convert create-service.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1008
diff
changeset
|
71 |
|
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
72 |
def get_disable_usage(): |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
73 |
''' get usage for disable''' |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
74 |
usage = _('disable\t<svcname>') |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
75 |
return(usage) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
76 |
|
1023
67ab1aaf8229
7020631 Convert create-service.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1008
diff
changeset
|
77 |
|
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
78 |
def get_help_usage(): |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
79 |
''' get usage for help''' |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
80 |
usage = _('help\t[<subcommand>]') |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
81 |
return(usage) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
82 |
|
1023
67ab1aaf8229
7020631 Convert create-service.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1008
diff
changeset
|
83 |
|
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
84 |
def do_enable_service(cmd_options=None): |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
85 |
''' Enable a service |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
86 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
87 |
Parse the supplied arguments then enable the specified service. |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
88 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
89 |
Input: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
90 |
List of command line options |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
91 |
Return: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
92 |
None |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
93 |
Raises: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
94 |
SystemExit if missing permissions, invalid service name, or |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
95 |
if attempt to enable the service or the smf service fails. |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
96 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
97 |
''' |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
98 |
logging.log(XDEBUG, '**** START do_enable_service ****') |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
99 |
|
1652
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
100 |
# check for authorization and euid |
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
101 |
try: |
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
102 |
check_auth_and_euid(SERVICE_AUTH) |
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
103 |
except UnauthorizedUserError as err: |
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
104 |
raise SystemExit(err) |
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
105 |
|
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
106 |
usage = '\n' + get_enable_usage() |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
107 |
parser = OptionParser(usage=usage) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
108 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
109 |
args = parser.parse_args(cmd_options)[1] |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
110 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
111 |
# Check for correct number of args |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
112 |
if len(args) != 1: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
113 |
if len(args) == 0: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
114 |
parser.error(_("Missing required argument, <svcname>")) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
115 |
else: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
116 |
parser.error(_("Too many arguments: %s") % args) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
117 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
118 |
svcname = args[0] |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
119 |
|
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
120 |
if not config.is_service(svcname): |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
121 |
err_msg = _("The service does not exist: %s\n") % svcname |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
122 |
parser.error(err_msg) |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
123 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
124 |
# Verify that the server settings are not obviously broken. |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
125 |
# These checks cannot be complete, but do check for things |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
126 |
# which will definitely cause failure. |
1008
adc3f01db0d7
7019438 Remove run_script from installadm
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1005
diff
changeset
|
127 |
ret = Popen([CHECK_SETUP_SCRIPT]).wait() |
adc3f01db0d7
7019438 Remove run_script from installadm
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1005
diff
changeset
|
128 |
if ret: |
adc3f01db0d7
7019438 Remove run_script from installadm
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1005
diff
changeset
|
129 |
return 1 |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
130 |
|
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
131 |
logging.log(XDEBUG, 'Enabling install service %s', svcname) |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
132 |
try: |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
133 |
service = AIService(svcname) |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
134 |
service.enable() |
1358
6016d5e46a08
7066078 installadm should be able to create a service from a package
Susan Sohn <susan.sohn@oracle.com>
parents:
1309
diff
changeset
|
135 |
except (aismf.ServicesError, config.ServiceCfgError, ImageError, |
6016d5e46a08
7066078 installadm should be able to create a service from a package
Susan Sohn <susan.sohn@oracle.com>
parents:
1309
diff
changeset
|
136 |
MountError) as err: |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
137 |
raise SystemExit(err) |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
138 |
except InvalidServiceError as err: |
1285
ad387de1635f
7059977 some installadm output needs better formatting
Jesse Butler <jesse.butler@oracle.com>
parents:
1221
diff
changeset
|
139 |
raise SystemExit(cw(_("\nThis service may not be enabled until all " |
ad387de1635f
7059977 some installadm output needs better formatting
Jesse Butler <jesse.butler@oracle.com>
parents:
1221
diff
changeset
|
140 |
"invalid manifests and profiles have been " |
ad387de1635f
7059977 some installadm output needs better formatting
Jesse Butler <jesse.butler@oracle.com>
parents:
1221
diff
changeset
|
141 |
"corrected or removed.\n"))) |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
142 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
143 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
144 |
def do_disable_service(cmd_options=None): |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
145 |
''' Disable a service |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
146 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
147 |
Disable the specified service and optionally update the service's |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
148 |
properties to reflect the new status. |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
149 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
150 |
Input: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
151 |
List of command line options |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
152 |
Return: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
153 |
None |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
154 |
Raises: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
155 |
SystemExit if missing permissions, invalid service name, or |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
156 |
if attempt to place smf service in maintenance fails. |
1309
a58fac510fb6
7047801 Derived Manifests Module should remove script restrictions of only ksh93 or python
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1285
diff
changeset
|
157 |
|
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
158 |
''' |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
159 |
logging.debug('**** START do_disable_service ****') |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
160 |
|
1652
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
161 |
# check for authorization and euid |
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
162 |
try: |
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
163 |
check_auth_and_euid(SERVICE_AUTH) |
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
164 |
except UnauthorizedUserError as err: |
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
165 |
raise SystemExit(err) |
15ba29ecb4ed
PSARC 2012/139 installadm Execution Profiles
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1554
diff
changeset
|
166 |
|
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
167 |
usage = '\n' + get_disable_usage() |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
168 |
parser = OptionParser(usage=usage) |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
169 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
170 |
(options, args) = parser.parse_args(cmd_options) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
171 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
172 |
# Check for correct number of args |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
173 |
if len(args) != 1: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
174 |
if len(args) == 0: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
175 |
parser.error(_("Missing required argument, <svcname>")) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
176 |
else: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
177 |
parser.error(_("Too many arguments: %s") % args) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
178 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
179 |
svcname = args[0] |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
180 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
181 |
# validate service name |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
182 |
try: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
183 |
validate_service_name(svcname) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
184 |
except ValueError as err: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
185 |
raise SystemExit(err) |
1309
a58fac510fb6
7047801 Derived Manifests Module should remove script restrictions of only ksh93 or python
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1285
diff
changeset
|
186 |
|
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
187 |
if not config.is_service(svcname): |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
188 |
err_msg = _("The service does not exist: %s\n") % svcname |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
189 |
parser.error(err_msg) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
190 |
|
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
191 |
prop_data = config.get_service_props(svcname) |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
192 |
|
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
193 |
if prop_data and config.PROP_STATUS not in prop_data: |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
194 |
err_msg = _("The property, status, is missing for %s.\n") % svcname |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
195 |
parser.error(err_msg) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
196 |
|
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
197 |
if prop_data[config.PROP_STATUS] == config.STATUS_OFF: |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
198 |
err_msg = _("The service is not running: %s\n") % svcname |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
199 |
parser.error(err_msg) |
1309
a58fac510fb6
7047801 Derived Manifests Module should remove script restrictions of only ksh93 or python
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1285
diff
changeset
|
200 |
|
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
201 |
try: |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
202 |
logging.debug("Disabling install service %s", svcname) |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
203 |
service = AIService(svcname) |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
204 |
service.disable(force=True) |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
205 |
except (config.ServiceCfgError, aismf.ServicesError, MountError) as err: |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
206 |
raise SystemExit(err) |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
207 |
except CalledProcessError: |
1008
adc3f01db0d7
7019438 Remove run_script from installadm
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1005
diff
changeset
|
208 |
return 1 |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
209 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
210 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
211 |
def main(): |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
212 |
''' installadm main |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
213 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
214 |
Parse the command line arguments and invoke sub-command. |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
215 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
216 |
Returns: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
217 |
The return from the invoked sub-command. |
1760
820b90ac476b
7187126 Creating AI service from pkg(5) results in traceback
Susan Sohn <susan.sohn@oracle.com>
parents:
1675
diff
changeset
|
218 |
3 if VersionError encountered |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
219 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
220 |
''' |
1760
820b90ac476b
7187126 Creating AI service from pkg(5) results in traceback
Susan Sohn <susan.sohn@oracle.com>
parents:
1675
diff
changeset
|
221 |
gettext.install('solaris_install_installadm', '/usr/share/locale') |
820b90ac476b
7187126 Creating AI service from pkg(5) results in traceback
Susan Sohn <susan.sohn@oracle.com>
parents:
1675
diff
changeset
|
222 |
|
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
223 |
# sub_cmds is a dictionary. The value for each subcommand key |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
224 |
# is a tuple consisting of the method to call to invoke the |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
225 |
# subcommand and the method to call to get usage for the subcommand. |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
226 |
sub_cmds = { |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
227 |
'create-service': (create_service.do_create_service, |
1023
67ab1aaf8229
7020631 Convert create-service.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1008
diff
changeset
|
228 |
create_service.get_usage()), |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
229 |
'delete-service': (delete_service.do_delete_service, |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
230 |
delete_service.get_usage()), |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
231 |
'rename-service': (rename_service.do_rename_service, |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
232 |
rename_service.get_usage()), |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
233 |
'set-service': (set_service.do_set_service, |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
234 |
set_service.get_usage()), |
1675
c225c357f3d2
PSARC/2012/142 installadm update-service
Susan Sohn <susan.sohn@oracle.com>
parents:
1652
diff
changeset
|
235 |
'update-service': (update_service.do_update_service, |
c225c357f3d2
PSARC/2012/142 installadm update-service
Susan Sohn <susan.sohn@oracle.com>
parents:
1652
diff
changeset
|
236 |
update_service.get_usage()), |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
237 |
'list': (ai_list.do_list, |
1023
67ab1aaf8229
7020631 Convert create-service.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1008
diff
changeset
|
238 |
ai_list.get_usage()), |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
239 |
'enable': (do_enable_service, |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
240 |
get_enable_usage()), |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
241 |
'disable': (do_disable_service, |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
242 |
get_disable_usage()), |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
243 |
'create-client': (create_client.do_create_client, |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
244 |
create_client.get_usage()), |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
245 |
'create-profile': (create_profile.do_create_profile, |
1551
118819d9b0f4
7041537 It will be nice to have an installadm update-profile command
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1358
diff
changeset
|
246 |
create_profile.get_create_usage()), |
118819d9b0f4
7041537 It will be nice to have an installadm update-profile command
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1358
diff
changeset
|
247 |
'update-profile': (create_profile.do_update_profile, |
118819d9b0f4
7041537 It will be nice to have an installadm update-profile command
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1358
diff
changeset
|
248 |
create_profile.get_update_usage()), |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
249 |
'delete-client': (delete_client.do_delete_client, |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
250 |
delete_client.get_usage()), |
1309
a58fac510fb6
7047801 Derived Manifests Module should remove script restrictions of only ksh93 or python
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1285
diff
changeset
|
251 |
'create-manifest': (publish_manifest.do_publish_manifest, |
a58fac510fb6
7047801 Derived Manifests Module should remove script restrictions of only ksh93 or python
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1285
diff
changeset
|
252 |
publish_manifest.get_create_usage()), |
a58fac510fb6
7047801 Derived Manifests Module should remove script restrictions of only ksh93 or python
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1285
diff
changeset
|
253 |
'add-manifest': (publish_manifest.do_publish_manifest, # alias |
a58fac510fb6
7047801 Derived Manifests Module should remove script restrictions of only ksh93 or python
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1285
diff
changeset
|
254 |
publish_manifest.get_create_usage()), |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
255 |
'update-manifest': (publish_manifest.do_update_manifest, |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
256 |
publish_manifest.get_update_usage()), |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
257 |
'delete-manifest': (delete_manifest.do_delete_manifest, |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
258 |
delete_manifest.get_usage()), |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
259 |
'delete-profile': (delete_profile.do_delete_profile, |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
260 |
delete_profile.get_usage()), |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
261 |
'export': (export.do_export, |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
262 |
export.get_usage()), |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
263 |
'remove': (delete_manifest.do_delete_manifest, # alias |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
264 |
delete_manifest.get_usage()), |
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
265 |
'set-criteria': (set_criteria.do_set_criteria, |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
266 |
set_criteria.get_usage()), |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
267 |
'validate': (validate_profile.do_validate_profile, |
1075
df96871c232d
16045 SC manifest should not be required to be in an XML comment when using embedded form
William Schumann <william.schumann@sun.com>
parents:
1060
diff
changeset
|
268 |
validate_profile.get_usage()), |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
269 |
'help': (None, get_help_usage()) |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
270 |
} |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
271 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
272 |
# cmds is a list of subcommands used to dictate the order of |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
273 |
# the commands listed in the usage output |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
274 |
cmds = ["create-service", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
275 |
"delete-service", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
276 |
"rename-service", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
277 |
"set-service", |
1675
c225c357f3d2
PSARC/2012/142 installadm update-service
Susan Sohn <susan.sohn@oracle.com>
parents:
1652
diff
changeset
|
278 |
"update-service", |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
279 |
"list", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
280 |
"enable", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
281 |
"disable", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
282 |
"create-client", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
283 |
"delete-client", |
1309
a58fac510fb6
7047801 Derived Manifests Module should remove script restrictions of only ksh93 or python
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1285
diff
changeset
|
284 |
"create-manifest", |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
285 |
"update-manifest", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
286 |
"delete-manifest", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
287 |
"create-profile", |
1551
118819d9b0f4
7041537 It will be nice to have an installadm update-profile command
nirmal27<Nirmal.Agarwal@oracle.com>
parents:
1358
diff
changeset
|
288 |
"update-profile", |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
289 |
"delete-profile", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
290 |
"export", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
291 |
"validate", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
292 |
"set-criteria", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
293 |
"help", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
294 |
] |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
295 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
296 |
usage_str = "Usage: installadm [options] <subcommand> <args> ..." |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
297 |
for entry in cmds: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
298 |
usage_str += '\n' + sub_cmds[entry][1] |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
299 |
parser = OptionParser(usage=usage_str) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
300 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
301 |
# add private debug option, which provides console output that might |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
302 |
# be useful during development or bug fixing. |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
303 |
parser.add_option("-d", "--debug", action="count", dest="debug", |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
304 |
default=0, help=SUPPRESS_HELP) |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
305 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
306 |
# Find subcommand in sys.argv and save index to know which |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
307 |
# options/args to pass to installadm and which options to |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
308 |
# pass to subcommand |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
309 |
sub_cmd = None |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
310 |
index = 0 |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
311 |
for index, arg in enumerate(sys.argv): |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
312 |
if arg in sub_cmds: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
313 |
sub_cmd = arg |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
314 |
break |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
315 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
316 |
# Exit if no subcommand was provided. |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
317 |
if not sub_cmd: |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
318 |
parser.print_help(file=sys.stderr) |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
319 |
sys.exit(2) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
320 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
321 |
# Pass arguments up to subcommand to installadm parser |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
322 |
# The rest of the arguments will be passed to the |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
323 |
# subcommand later. |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
324 |
# |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
325 |
(options, args) = parser.parse_args(sys.argv[1:index]) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
326 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
327 |
if args: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
328 |
parser.error(_("Unexpected argument(s): %s" % args)) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
329 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
330 |
# Set up logging to the specified level of detail |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
331 |
if options.debug == 0: |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
332 |
options.log_level = DEFAULT_LOG_LEVEL |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
333 |
elif options.debug == 1: |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
334 |
options.log_level = DEBUG_LOG_LEVEL |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
335 |
elif options.debug >= 2: |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
336 |
options.log_level = XDEBUG |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
337 |
try: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
338 |
setup_logging(options.log_level) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
339 |
except IOError, err: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
340 |
parser.error("%s '%s'" % (err.strerror, err.filename)) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
341 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
342 |
logging.debug("installadm options: verbosity = %s", options.log_level) |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
343 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
344 |
if sub_cmd == 'help': |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
345 |
if len(sys.argv[index:]) == 1: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
346 |
# print full usage |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
347 |
parser.print_help() |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
348 |
else: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
349 |
# print help for single subcommand |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
350 |
subcmd = sys.argv[index + 1] |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
351 |
if subcmd in sub_cmds: |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
352 |
print(sub_cmds.get(sys.argv[index + 1], None)[1]) |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
353 |
else: |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
354 |
parser.print_help() |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
355 |
sys.exit() |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
356 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
357 |
else: |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
358 |
# make sure we have the installadm smf service |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
359 |
try: |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
360 |
aismf.get_smf_instance() |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
361 |
except aismf.ServicesError as err: |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
362 |
raise SystemExit(err) |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
363 |
|
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
364 |
# Invoke the function which implements the specified subcommand |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
365 |
func = sub_cmds[sub_cmd][0] |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
366 |
|
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
367 |
logging.debug("Invoking subcommand: %s %s", |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
368 |
func.func_name, sys.argv[index + 1:]) |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
369 |
try: |
1087
96b6cc8130c5
6994260 Implement Auto-Installer Derived Manifests
Jack Schwartz <Jack.Schwartz@Oracle.COM>
parents:
1075
diff
changeset
|
370 |
return func(sys.argv[index + 1:]) |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
371 |
except VersionError as err: |
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
372 |
print >> sys.stderr, err |
1675
c225c357f3d2
PSARC/2012/142 installadm update-service
Susan Sohn <susan.sohn@oracle.com>
parents:
1652
diff
changeset
|
373 |
return 3 |
1221
31c6d2de5731
7042146 Implement ISIM project
Susan Sohn <susan.sohn@oracle.com>
parents:
1087
diff
changeset
|
374 |
except Exception: |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
375 |
sys.stderr.write(_("%s:\n" |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
376 |
"\tUnhandled error encountered:\n") % sub_cmd) |
1023
67ab1aaf8229
7020631 Convert create-service.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1008
diff
changeset
|
377 |
traceback.print_exc(file=sys.stderr) |
1060
d69c8ea4ed30
7034887 When installadm tracebacks, its return code is 0
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1023
diff
changeset
|
378 |
return 1 |
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
379 |
|
1023
67ab1aaf8229
7020631 Convert create-service.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
1008
diff
changeset
|
380 |
|
1005
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
381 |
if __name__ == '__main__': |
4a59a181decd
7015429 Convert installadm.c to python
Sue Sohn <Susan.Sohn@Oracle.COM>
parents:
diff
changeset
|
382 |
sys.exit(main()) |