@@ -177,6 +177,14 @@ def addError(self, error):
177
177
def getErrors (self ):
178
178
return self .errors
179
179
180
+ def getClusterOrNone (self ,serverOrTemplate ):
181
+ try :
182
+ ret = serverOrTemplate .getCluster ()
183
+ except :
184
+ trace ("Ignoring getCluster() exception, this is expected." )
185
+ ret = None
186
+ return ret
187
+
180
188
def addGeneratedFile (self , filePath ):
181
189
self .generatedFiles .append (filePath )
182
190
@@ -311,14 +319,6 @@ def getDynamicServersOrNone(self,cluster):
311
319
ret = None
312
320
return ret
313
321
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
322
def getSSLOrNone (self ,server ):
323
323
try :
324
324
ret = server .getSSL ()
@@ -339,7 +339,7 @@ def validateAdminServer(self):
339
339
if adminServer is None :
340
340
addError ("The admin server '" + adminServerName + "' does not exist." )
341
341
return
342
- cluster = self .getClusterOrNone (adminServer )
342
+ cluster = self .env . getClusterOrNone (adminServer )
343
343
if cluster is not None :
344
344
self .addError ("The admin server " + self .name (adminServer ) + " belongs to the cluster " + self .name (cluster ) + "." )
345
345
@@ -361,13 +361,13 @@ def validateNonDynamicCluster(self, cluster):
361
361
362
362
def validateNonDynamicClusterReferencedByAtLeastOneServer (self , cluster ):
363
363
for server in self .env .getDomain ().getServers ():
364
- if self .getClusterOrNone (server ) is cluster :
364
+ if self .env . getClusterOrNone (server ) is cluster :
365
365
return
366
366
self .addError ("The non-dynamic cluster " + self .name (cluster ) + " is not referenced by any servers." )
367
367
368
368
def validateNonDynamicClusterNotReferencedByAnyServerTemplates (self , cluster ):
369
369
for template in self .env .getDomain ().getServerTemplates ():
370
- if template . getCluster ( ) is cluster :
370
+ if self . env . getClusterOrNone ( template ) is cluster :
371
371
self .addError ("The non-dynamic cluster " + self .name (cluster ) + " is referenced by the server template " + self .name (template ) + "." )
372
372
373
373
LISTEN_PORT = 'listen port'
@@ -403,7 +403,7 @@ def validateNonDynamicClusterServersHaveSameListenPort(self, cluster):
403
403
firstAdminPort = None
404
404
firstAdminPortEnabled = None
405
405
for server in self .env .getDomain ().getServers ():
406
- if cluster is self .getClusterOrNone (server ):
406
+ if cluster is self .env . getClusterOrNone (server ):
407
407
listenPort = server .getListenPort ()
408
408
listenPortEnabled = server .isListenPortEnabled ()
409
409
ssl = self .getSSLOrNone (server )
@@ -442,7 +442,7 @@ def validateClusterServersListenPortProperty(self, cluster, errorMsg, clusterLis
442
442
firstServer = None
443
443
firstListenPortProperty = None
444
444
for server in self .env .getDomain ().getServers ():
445
- if cluster is self .getClusterOrNone (server ):
445
+ if cluster is self .env . getClusterOrNone (server ):
446
446
listenPortProperty = getServerClusterPortPropertyValue (self , server , clusterListenPortProperty )
447
447
if firstServer is None :
448
448
firstServer = server
@@ -456,7 +456,7 @@ def validateNonDynamicClusterServerHaveSameCustomChannels(self, cluster):
456
456
firstServer = None
457
457
serverNap = {}
458
458
for server in self .env .getDomain ().getServers ():
459
- if cluster is self .getClusterOrNone (server ):
459
+ if cluster is self .env . getClusterOrNone (server ):
460
460
if firstServer is None :
461
461
for nap in server .getNetworkAccessPoints ():
462
462
serverNap [nap .getName ()] = nap .getProtocol () + "~" + str (nap .getListenPort ());
@@ -485,7 +485,7 @@ def validateDynamicCluster(self, cluster):
485
485
def validateDynamicClusterReferencedByOneServerTemplate (self , cluster ):
486
486
server_template = None
487
487
for template in self .env .getDomain ().getServerTemplates ():
488
- if template . getCluster ( ) is cluster :
488
+ if self . env . getClusterOrNone ( template ) is cluster :
489
489
if server_template is None :
490
490
server_template = template
491
491
else :
@@ -497,7 +497,7 @@ def validateDynamicClusterReferencedByOneServerTemplate(self, cluster):
497
497
498
498
def validateDynamicClusterNotReferencedByAnyServers (self , cluster ):
499
499
for server in self .env .getDomain ().getServers ():
500
- if self .getClusterOrNone (server ) is cluster :
500
+ if self .env . getClusterOrNone (server ) is cluster :
501
501
self .addError ("The dynamic cluster " + self .name (cluster ) + " is referenced by the server " + self .name (server ) + "." )
502
502
503
503
def validateDynamicClusterDynamicServersDoNotUseCalculatedListenPorts (self , cluster ):
@@ -587,7 +587,7 @@ def addDynamicServer(self, dynamicServer):
587
587
def getClusteredServers (self , cluster ):
588
588
rtn = []
589
589
for server in self .env .getDomain ().getServers ():
590
- if self .getClusterOrNone (server ) is cluster :
590
+ if self .env . getClusterOrNone (server ) is cluster :
591
591
rtn .append (server )
592
592
return rtn
593
593
@@ -619,7 +619,8 @@ def addServerTemplates(self):
619
619
self .writeln ("serverTemplates:" )
620
620
self .indent ()
621
621
for serverTemplate in serverTemplates :
622
- self .addServerTemplate (serverTemplate )
622
+ if not (self .env .getClusterOrNone (serverTemplate ) is None ):
623
+ self .addServerTemplate (serverTemplate )
623
624
self .undent ()
624
625
625
626
def addServerTemplate (self , serverTemplate ):
@@ -655,7 +656,7 @@ def addDynamicCluster(self, cluster):
655
656
656
657
def findDynamicClusterServerTemplate (self , cluster ):
657
658
for template in cmo .getServerTemplates ():
658
- if template . getCluster ( ) is cluster :
659
+ if self . env . getClusterOrNone ( template ) is cluster :
659
660
return template
660
661
# should never get here - the domain validator already checked that
661
662
# one server template references the cluster
@@ -667,7 +668,7 @@ def addNonClusteredServers(self):
667
668
self .writeln ("servers:" )
668
669
self .indent ()
669
670
for server in self .env .getDomain ().getServers ():
670
- if self .getClusterOrNone (server ) is None :
671
+ if self .env . getClusterOrNone (server ) is None :
671
672
self .addServer (server )
672
673
self .undent ()
673
674
@@ -827,7 +828,8 @@ def customizeServer(self, server):
827
828
828
829
def customizeServerTemplates (self ):
829
830
for template in self .env .getDomain ().getServerTemplates ():
830
- self .customizeServerTemplate (template )
831
+ if not (self .env .getClusterOrNone (template ) is None ):
832
+ self .customizeServerTemplate (template )
831
833
832
834
def customizeServerTemplate (self , template ):
833
835
name = template .getName ()
@@ -1154,12 +1156,6 @@ def main(env):
1154
1156
traceback .print_exc ()
1155
1157
dumpStack ()
1156
1158
exit (exitcode = 1 )
1157
- except UndeclaredThrowableException , f :
1158
- trace ("SEVERE" ,"Domain introspection failed with undeclared exception: " + str (f ))
1159
- print f
1160
- traceback .print_exc ()
1161
- dumpStack ()
1162
- exit (exitcode = 1 )
1163
1159
except :
1164
1160
trace ("SEVERE" ,"Domain introspection unexpectedly failed:" )
1165
1161
traceback .print_exc ()
0 commit comments