usr/src/cmd/zmgr/ztest.py
author devjani.ray@oracle.com <devjani.ray@oracle.com>
Thu, 02 Feb 2012 11:25:01 -0500
changeset 798 a7deccd6492f
parent 691 d880d1c2a97d
child 811 c65c58b7a1f0
permissions -rw-r--r--
CR 7121230 Rad unix transport paths should be created under /system/volatile/rad/
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
     1
#
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
     2
# CDDL HEADER START
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
     3
#
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
     7
#
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    11
# and limitations under the License.
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    12
#
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    18
#
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    19
# CDDL HEADER END
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    20
#
798
a7deccd6492f CR 7121230 Rad unix transport paths should be created under /system/volatile/rad/
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents: 691
diff changeset
    21
# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    22
#
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    23
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    24
import socket
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    25
import rad.client as rad
561
7a7ba30dffb5 16932 separate python-like object wrapper from main client code
David Powell <david.e.powell@oracle.com>
parents: 502
diff changeset
    26
import rad.adaptor as adapt
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    27
import sys
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    28
798
a7deccd6492f CR 7121230 Rad unix transport paths should be created under /system/volatile/rad/
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents: 691
diff changeset
    29
#
a7deccd6492f CR 7121230 Rad unix transport paths should be created under /system/volatile/rad/
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents: 691
diff changeset
    30
# Path for authenticated AF_UNIX socket
a7deccd6492f CR 7121230 Rad unix transport paths should be created under /system/volatile/rad/
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents: 691
diff changeset
    31
#
a7deccd6492f CR 7121230 Rad unix transport paths should be created under /system/volatile/rad/
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents: 691
diff changeset
    32
_RAD_PATH_AFUNIX_AUTH = "/system/volatile/rad/radsocket"
a7deccd6492f CR 7121230 Rad unix transport paths should be created under /system/volatile/rad/
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents: 691
diff changeset
    33
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    34
# Make connection (AF_UNIX socket lets us bypass authentication)
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    35
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM);
798
a7deccd6492f CR 7121230 Rad unix transport paths should be created under /system/volatile/rad/
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents: 691
diff changeset
    36
s.connect(_RAD_PATH_AFUNIX_AUTH);
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    37
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    38
#s = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    39
#s.connect(("localhost", 1234))
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    40
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    41
rc = rad.RadConnection(s)
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    42
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    43
# Get an authorization token from authenticated session
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    44
#auth = rc.get_object_s("org.opensolaris.os.rad", [("type", "authentication")])
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    45
#block = auth.login("C", "root");
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    46
#print block.type
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    47
#for m in block.messages:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    48
#	print m.style
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    49
#	print m.message
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    50
#block = auth.submit(["l1admin"])
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    51
#print block.type
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    52
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    53
# Continue using newly authenticated session
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    54
# Obtain service object for application/pkg/server:default
573
f0add9469f92 17058 support removing objects
David Powell <david.e.powell@oracle.com>
parents: 561
diff changeset
    55
obj = adapt.Adaptor(rc.get_object_s("com.oracle.solaris.zonesManagement",
561
7a7ba30dffb5 16932 separate python-like object wrapper from main client code
David Powell <david.e.powell@oracle.com>
parents: 502
diff changeset
    56
    [("type", "zonesManager")]))
691
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
    57
IpType = obj._object.types.IpType
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
    58
ZoneConfig = obj._object.types.ZoneConfig
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    59
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    60
print ""
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    61
print "Test getSystemState"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    62
try:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    63
	systemState = obj.getSystemState(0, 0, 0, 0, None)
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    64
	print "\tPASS"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    65
except:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    66
	print "\tFAIL"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    67
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    68
print ""
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    69
print "Test zone name lists"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    70
try:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    71
	
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    72
	print "\tzones     :", systemState.zoneNames
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    73
	print "\tconfigured:", systemState.zonesConfigured
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    74
	print "\tinstalled :", systemState.zonesInstalled
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    75
	print "\trunning   :", systemState.zonesRunning
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    76
	print "\tPASS"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    77
except:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    78
	print "\tFAIL"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    79
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    80
print ""
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    81
print "Test print zone states"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    82
try:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    83
	for state in systemState.zones:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    84
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    85
		cfg = obj.getZoneConfig(state.name)
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    86
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    87
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    88
		print ""
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    89
		print "\t", state.name
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    90
		print "\tstate: ", state.state
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    91
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    92
		print "\tconfigured:"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    93
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    94
		print "\tzonepath: ", cfg.zonePath
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    95
		print "\tiptype  : ", cfg.iptype
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    96
		print "\tscheduler: ", cfg.scheduler
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    97
		for network in cfg.networks:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    98
			print "\tnetwork : ", network.physical
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
    99
			if network.address:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   100
				print "\t          ", network.address
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   101
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   102
		print "    installed:"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   103
		if state.name in systemState.zonesInstalled:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   104
			print "\tzonepath: ", state.installedState.zonepath
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   105
			print "\tuuid    : ", state.installedState.uuid
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   106
		print "    running:"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   107
		if state.name in systemState.zonesRunning:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   108
			print "\tiptype  : ", state.runningState.iptype
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   109
			for network in state.runningState.networks:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   110
				print "\tnetwork : ", network.physical
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   111
				if network.address:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   112
					print "\t          ", network.address
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   113
except:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   114
	print "\tFAIL"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   115
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   116
print ""
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   117
print "Test configure and unconfigure zone"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   118
try:
691
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   119
	cfg = ZoneConfig("test-unconfig", "/export/test-unconfig",
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   120
	    "FSS", "1", IpType.SHARED, None, None, None, None)
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   121
	obj.zoneConfigure(cfg);
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   122
	cfg = obj.getZoneConfig("test-unconfig");
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   123
	obj.zoneUnconfigure("test-unconfig");
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   124
	try:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   125
		obj.getZoneConfig("test-unconfig");
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   126
		print "\tFAIL"
561
7a7ba30dffb5 16932 separate python-like object wrapper from main client code
David Powell <david.e.powell@oracle.com>
parents: 502
diff changeset
   127
	except rad.ObjectError, ex:
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   128
		print "\tPASS"
561
7a7ba30dffb5 16932 separate python-like object wrapper from main client code
David Powell <david.e.powell@oracle.com>
parents: 502
diff changeset
   129
except rad.ObjectError, ex:
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   130
	print "\tFAIL"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   131
	print ex.get_payload()
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   132
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   133
print ""
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   134
print "Test configure, install, boot, reboot, halt, uninstall, unconfigure"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   135
try:
691
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   136
	cfg = ZoneConfig("test-install", "/export/test-install",
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   137
	    "FSS", "1", IpTypes.SHARED, None, None, None, None)
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   138
	obj.zoneConfigure(cfg);
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   139
	obj.zoneInstall("test-install", []);
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   140
	obj.zoneBoot("test-install")
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   141
	obj.zoneReboot("test-install")
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   142
	obj.zoneHalt("test-install")
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   143
	obj.zoneUninstall("test-install");
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   144
	obj.zoneUnconfigure("test-install");
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   145
	print "\tPASS"
561
7a7ba30dffb5 16932 separate python-like object wrapper from main client code
David Powell <david.e.powell@oracle.com>
parents: 502
diff changeset
   146
except rad.ObjectError, ex:
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   147
	print "\tFAIL"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   148
	err = ex.get_payload()
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   149
	print err;
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   150
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   151
print ""
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   152
print "Test boot non-existent zone:"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   153
try:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   154
	res = obj.zoneBoot("nosuchzone")
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   155
	print "\tFAILED"
561
7a7ba30dffb5 16932 separate python-like object wrapper from main client code
David Powell <david.e.powell@oracle.com>
parents: 502
diff changeset
   156
except rad.ObjectError, ex:
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   157
	error = ex.get_payload();
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   158
	print "\t", error.message
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   159
	print "\tPASS"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   160
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   161
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   162
print ""
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   163
print "Test setZoneConfig"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   164
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   165
try:
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   166
	# Configure zone
691
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   167
	zoneConfig = ZoneConfig("test", "/export/oldpath", "", "",
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   168
	    IpType.SHARED, None, None, None, None)
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   169
	obj.zoneConfigure(zoneConfig);
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   170
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   171
	# Change zonepath
691
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   172
	newConfig = ZoneConfig("test", "/export/newpath", "", "",
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   173
	    IpType.SHARED, None, None, None, None)
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   174
	obj.setZoneConfig("test", newConfig);
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   175
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   176
	# Change zonename
691
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   177
	newConfig = ZoneConfig("test-new", "/export/newpath", "", "",
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   178
	    IpType.SHARED, None, None, None, None)
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   179
	obj.setZoneConfig("test", newConfig);
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   180
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   181
	# Change scheduler and cpu shares
691
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   182
	newConfig = ZoneConfig("test-new", "/export/newpath", "FSS", "10",
d880d1c2a97d 18184 document and normalize base types test coverage
David Powell <david.e.powell@oracle.com>
parents: 573
diff changeset
   183
	    IpType.SHARED, None, None, None, None)
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   184
	obj.setZoneConfig("test-new", newConfig);
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   185
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   186
	# Unconfigure zones
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   187
	obj.zoneUnconfigure("test-new");
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   188
	print "\tPASS"
561
7a7ba30dffb5 16932 separate python-like object wrapper from main client code
David Powell <david.e.powell@oracle.com>
parents: 502
diff changeset
   189
except rad.ObjectError, ex:
502
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   190
	error = ex.get_payload();
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   191
	print error.message
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   192
	print "\tFAILED"
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   193
c25750fb55a6 15928 integrate sample zones management module
Steve Lawrence <Stephen.Lawrence@Sun.COM>
parents:
diff changeset
   194
s.close()