1
- # Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
1
+ # Copyright 2018, 2019, Oracle Corporation and/or its affiliates. All rights reserved.
2
2
# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
3
3
#
4
4
# ------------
@@ -209,14 +209,14 @@ def printFile(self, path):
209
209
210
210
def getEnv (self , name ):
211
211
val = os .getenv (name )
212
- if val == None or val == "null" :
212
+ if val is None or val == "null" :
213
213
trace ("ERROR: Env var " + name + " not set." )
214
214
sys .exit (1 )
215
215
return val
216
216
217
217
def getEnvOrDef (self , name , deflt ):
218
218
val = os .getenv (name )
219
- if val == None or val == "null" :
219
+ if val is None or val == "null" :
220
220
return deflt
221
221
return val
222
222
@@ -303,18 +303,33 @@ def generate(self):
303
303
# at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
304
304
# at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
305
305
# at java.lang.reflect.Method.invoke(Method.java:498)
306
- def getDynamicServersWA (self ,cluster ):
306
+ def getDynamicServersOrNone (self ,cluster ):
307
307
try :
308
308
ret = cluster .getDynamicServers ()
309
309
except :
310
310
trace ("Ignoring getDynamicServers() exception, this is expected." )
311
311
ret = None
312
312
return ret
313
313
314
+ def getClusterOrNone (self ,server ):
315
+ try :
316
+ ret = server .getCluster ()
317
+ except :
318
+ trace ("Ignoring getCluster() exception, this is expected." )
319
+ ret = None
320
+ return ret
321
+
322
+ def getSSLOrNone (self ,server ):
323
+ try :
324
+ ret = server .getSSL ()
325
+ except :
326
+ trace ("Ignoring getSSL() exception, this is expected." )
327
+ ret = None
328
+ return ret
314
329
315
330
def validateAdminServer (self ):
316
331
adminServerName = self .env .getDomain ().getAdminServerName ()
317
- if adminServerName == None :
332
+ if adminServerName is None :
318
333
addError ("The admin server name is null." )
319
334
return
320
335
adminServer = None
@@ -324,16 +339,16 @@ def validateAdminServer(self):
324
339
if adminServer is None :
325
340
addError ("The admin server '" + adminServerName + "' does not exist." )
326
341
return
327
- cluster = adminServer . getCluster ( )
328
- if cluster != None :
342
+ cluster = self . getClusterOrNone ( adminServer )
343
+ if cluster is not None :
329
344
self .addError ("The admin server " + self .name (adminServer ) + " belongs to the cluster " + self .name (cluster ) + "." )
330
345
331
346
def validateClusters (self ):
332
347
for cluster in self .env .getDomain ().getClusters ():
333
348
self .validateCluster (cluster )
334
349
335
350
def validateCluster (self , cluster ):
336
- if self .getDynamicServersWA (cluster ) is None :
351
+ if self .getDynamicServersOrNone (cluster ) is None :
337
352
self .validateNonDynamicCluster (cluster )
338
353
else :
339
354
self .validateDynamicCluster (cluster )
@@ -346,7 +361,7 @@ def validateNonDynamicCluster(self, cluster):
346
361
347
362
def validateNonDynamicClusterReferencedByAtLeastOneServer (self , cluster ):
348
363
for server in self .env .getDomain ().getServers ():
349
- if server . getCluster ( ) is cluster :
364
+ if self . getClusterOrNone ( server ) is cluster :
350
365
return
351
366
self .addError ("The non-dynamic cluster " + self .name (cluster ) + " is not referenced by any servers." )
352
367
@@ -362,13 +377,14 @@ def validateNonDynamicClusterNotReferencedByAnyServerTemplates(self, cluster):
362
377
ADMIN_LISTEN_PORT = 'admin listen port'
363
378
ADMIN_LISTEN_PORT_ENABLED = 'admin listen port enabled'
364
379
365
- def getServerClusterPortPropertyValue (server , clusterListenPortProperty ):
380
+ def getServerClusterPortPropertyValue (self , server , clusterListenPortProperty ):
366
381
sslListenPort = None
367
- if server .getSSL () != None :
368
- sslListenPort = server .getSSL ().getListenPort ()
382
+ ssl = self .getSSLOrNone (server )
383
+ if ssl is not None :
384
+ sslListenPort = ssl .getListenPort ()
369
385
sslListenPortEnabled = None
370
- if server . getSSL () != None :
371
- sslListenPortEnabled = server . getSSL () .isListenPortEnabled ()
386
+ if ssl is not None :
387
+ sslListenPortEnabled = ssl .isListenPortEnabled ()
372
388
return {
373
389
LISTEN_PORT : server .getListenPort (),
374
390
LISTEN_PORT_ENABLED : server .isListenPortEnabled (),
@@ -387,10 +403,10 @@ def validateNonDynamicClusterServersHaveSameListenPort(self, cluster):
387
403
firstAdminPort = None
388
404
firstAdminPortEnabled = None
389
405
for server in self .env .getDomain ().getServers ():
390
- if cluster is server . getCluster ( ):
406
+ if cluster is self . getClusterOrNone ( server ):
391
407
listenPort = server .getListenPort ()
392
408
listenPortEnabled = server .isListenPortEnabled ()
393
- ssl = server . getSSL ( )
409
+ ssl = self . getSSLOrNone ( server )
394
410
sslListenPort = None
395
411
sslListenPortEnabled = None
396
412
if ssl is not None :
@@ -426,8 +442,8 @@ def validateClusterServersListenPortProperty(self, cluster, errorMsg, clusterLis
426
442
firstServer = None
427
443
firstListenPortProperty = None
428
444
for server in self .env .getDomain ().getServers ():
429
- if cluster is server . getCluster ( ):
430
- listenPortProperty = getServerClusterPortPropertyValue (server , clusterListenPortProperty )
445
+ if cluster is self . getClusterOrNone ( server ):
446
+ listenPortProperty = getServerClusterPortPropertyValue (self , server , clusterListenPortProperty )
431
447
if firstServer is None :
432
448
firstServer = server
433
449
firstListenPortProperty = listenPortProperty
@@ -440,7 +456,7 @@ def validateNonDynamicClusterServerHaveSameCustomChannels(self, cluster):
440
456
firstServer = None
441
457
serverNap = {}
442
458
for server in self .env .getDomain ().getServers ():
443
- if cluster is server . getCluster ( ):
459
+ if cluster is self . getClusterOrNone ( server ):
444
460
if firstServer is None :
445
461
for nap in server .getNetworkAccessPoints ():
446
462
serverNap [nap .getName ()] = nap .getProtocol () + "~" + str (nap .getListenPort ());
@@ -481,7 +497,7 @@ def validateDynamicClusterReferencedByOneServerTemplate(self, cluster):
481
497
482
498
def validateDynamicClusterNotReferencedByAnyServers (self , cluster ):
483
499
for server in self .env .getDomain ().getServers ():
484
- if server . getCluster ( ) is cluster :
500
+ if self . getClusterOrNone ( server ) is cluster :
485
501
self .addError ("The dynamic cluster " + self .name (cluster ) + " is referenced by the server " + self .name (server ) + "." )
486
502
487
503
def validateDynamicClusterDynamicServersDoNotUseCalculatedListenPorts (self , cluster ):
@@ -535,13 +551,13 @@ def addConfiguredClusters(self):
535
551
def getConfiguredClusters (self ):
536
552
rtn = []
537
553
for cluster in self .env .getDomain ().getClusters ():
538
- if self .getDynamicServersWA (cluster ) is None :
554
+ if self .getDynamicServersOrNone (cluster ) is None :
539
555
rtn .append (cluster )
540
556
return rtn
541
557
542
558
def addConfiguredCluster (self , cluster ):
543
559
self .writeln ("- name: " + self .name (cluster ))
544
- dynamicServers = self .getDynamicServersWA (cluster )
560
+ dynamicServers = self .getDynamicServersOrNone (cluster )
545
561
if dynamicServers is not None :
546
562
self .indent ();
547
563
self .writeln ("dynamicServersConfig:" )
@@ -571,7 +587,7 @@ def addDynamicServer(self, dynamicServer):
571
587
def getClusteredServers (self , cluster ):
572
588
rtn = []
573
589
for server in self .env .getDomain ().getServers ():
574
- if server . getCluster ( ) is cluster :
590
+ if self . getClusterOrNone ( server ) is cluster :
575
591
rtn .append (server )
576
592
return rtn
577
593
@@ -590,7 +606,7 @@ def addServer(self, server):
590
606
self .addNetworkAccessPoints (server )
591
607
592
608
def addSSL (self , server ):
593
- ssl = server . getSSL ( )
609
+ ssl = self . getSSLOrNone ( server )
594
610
if ssl is not None and ssl .isEnabled ():
595
611
self .indent ()
596
612
self .writeln ("sslListenPort: " + str (ssl .getListenPort ()))
@@ -623,7 +639,7 @@ def addDynamicClusters(self):
623
639
def getDynamicClusters (self ):
624
640
rtn = []
625
641
for cluster in self .env .getDomain ().getClusters ():
626
- if self .getDynamicServersWA (cluster ) is not None :
642
+ if self .getDynamicServersOrNone (cluster ) is not None :
627
643
rtn .append (cluster )
628
644
return rtn
629
645
@@ -651,7 +667,7 @@ def addNonClusteredServers(self):
651
667
self .writeln ("servers:" )
652
668
self .indent ()
653
669
for server in self .env .getDomain ().getServers ():
654
- if server . getCluster ( ) is None :
670
+ if self . getClusterOrNone ( server ) is None :
655
671
self .addServer (server )
656
672
self .undent ()
657
673
@@ -845,20 +861,29 @@ def customizeNetworkAccessPoint(self, nap, listen_address):
845
861
self .undent ()
846
862
self .writeln ("</d:network-access-point>" )
847
863
864
+ def getLogOrNone (self ,server ):
865
+ try :
866
+ ret = server .getLog ()
867
+ except :
868
+ trace ("Ignoring getLog() exception, this is expected." )
869
+ ret = None
870
+ return ret
871
+
848
872
def customizeLog (self , name , bean , isDomainBean ):
849
873
logs_dir = self .env .getDomainLogHome ()
850
874
if logs_dir is None or len (logs_dir ) == 0 :
851
875
return
852
876
853
877
logaction = ''
854
878
fileaction = ''
855
- if bean .getLog () is None :
879
+ log = self .getLogOrNone (bean )
880
+ if log is None :
856
881
if not isDomainBean :
857
882
# don't know why, but don't need to "add" a missing domain log bean, and adding it causes trouble
858
883
logaction = ' f:combine-mode="add"'
859
884
fileaction = ' f:combine-mode="add"'
860
885
else :
861
- if bean . getLog () .getFileName () is None :
886
+ if log .getFileName () is None :
862
887
fileaction = ' f:combine-mode="add"'
863
888
else :
864
889
fileaction = ' f:combine-mode="replace"'
@@ -1129,6 +1154,7 @@ def main(env):
1129
1154
traceback .print_exc ()
1130
1155
exit (exitcode = 1 )
1131
1156
except UndeclaredThrowableException , f :
1157
+ dumpStack ()
1132
1158
print f
1133
1159
trace ("Domain introspection failed with undeclared exception:" )
1134
1160
traceback .print_exc ()
0 commit comments