Skip to content

Commit 3322048

Browse files
committed
Revert refactored channel validations for non dynamic cluster servers
1 parent 178d145 commit 3322048

File tree

1 file changed

+79
-37
lines changed

1 file changed

+79
-37
lines changed

operator/src/main/resources/scripts/introspectDomain.py

Lines changed: 79 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
import shutil
8787
import re
8888
from datetime import datetime
89-
from enum import Enum
89+
from string import Template
9090

9191
# Include this script's current directory in the import path (so we can import traceUtils, etc.)
9292
# sys.path.append('/weblogic-operator/scripts')
@@ -341,7 +341,8 @@ def validateCluster(self, cluster):
341341
def validateNonDynamicCluster(self, cluster):
342342
self.validateNonDynamicClusterReferencedByAtLeastOneServer(cluster)
343343
self.validateNonDynamicClusterNotReferencedByAnyServerTemplates(cluster)
344-
self.validateNonDynamicClusterServersHaveSameListenPortProperties(cluster)
344+
self.validateNonDynamicClusterServersHaveSameListenPort(cluster)
345+
self.validateNonDynamicClusterServerHaveSameCustomChannels(cluster)
345346

346347
def validateNonDynamicClusterReferencedByAtLeastOneServer(self, cluster):
347348
for server in self.env.getDomain().getServers():
@@ -354,32 +355,72 @@ def validateNonDynamicClusterNotReferencedByAnyServerTemplates(self, cluster):
354355
if template.getCluster() is cluster:
355356
self.addError("The non-dynamic cluster " + self.name(cluster) + " is referenced by the server template " + self.name(template) + ".")
356357

357-
class ClusterListenPortProperties(Enum):
358-
LISTEN_PORT = 'listen port'
359-
LISTEN_PORT_ENABLED = 'listen port enabled'
360-
SSL_LISTEN_PORT = 'ssl listen port'
361-
SSL_LISTEN_PORT_ENABLED= 'ssl listen port enabled'
362-
ADMIN_LISTEN_PORT = 'admin listen port'
363-
ADMIN_LISTEN_PORT_ENABLED = 'admin listen port enabled'
358+
LISTEN_PORT = 'listen port'
359+
LISTEN_PORT_ENABLED = 'listen port enabled'
360+
SSL_LISTEN_PORT = 'ssl listen port'
361+
SSL_LISTEN_PORT_ENABLED = 'ssl listen port enabled'
362+
ADMIN_LISTEN_PORT = 'admin listen port'
363+
ADMIN_LISTEN_PORT_ENABLED = 'admin listen port enabled'
364364

365365
def getServerClusterPortPropertyValue(server, clusterListenPortProperty):
366-
return {
367-
ClusterListenPortProperties.LISTEN_PORT: server.getListenPort(),
368-
ClusterListenPortProperties.LISTEN_PORT_ENABLED: server.isListenPortEnabled(),
369-
ClusterListenPortProperties.SSL_LISTEN_PORT: None if server.getSSL()==None else server.getSSL().getListenPort(),
370-
ClusterListenPortProperties.SSL_LISTEN_PORT_ENABLED: None if server.getSSL()==None else server.getSSL().isListenPortEnabled(),
371-
ClusterListenPortProperties.ADMIN_LISTEN_PORT: server.getAdministrationPort(),
372-
ClusterListenPortProperties.ADMIN_LISTEN_PORT_ENABLED: server.isAdministrationPortEnabled()
373-
}[clusterListenPortProperty]
374-
375-
def validateNonDynamicClusterServersHaveSameListenPortProperties(self, cluster):
376-
errorMsg = "The non-dynamic cluster {0}'s server {1}'s {2} is {3} but its server {4}'s {2} is {5}. All {2} values for the same channel in a cluster must be the same."
377-
validateClusterServersListenPortProperty(self, cluster, errorMsg, ClusterListenPortProperties.LISTEN_PORT)
378-
validateClusterServersListenPortProperty(self, cluster, errorMsg, ClusterListenPortProperties.LISTEN_PORT_ENABLED)
379-
validateClusterServersListenPortProperty(self, cluster, errorMsg, ClusterListenPortProperties.SSL_LISTEN_PORT)
380-
validateClusterServersListenPortProperty(self, cluster, errorMsg, ClusterListenPortProperties.SSL_LISTEN_PORT_ENABLED)
381-
validateClusterServersListenPortProperty(self, cluster, errorMsg, ClusterListenPortProperties.ADMIN_LISTEN_PORT)
382-
validateClusterServersListenPortProperty(self, cluster, errorMsg, ClusterListenPortProperties.ADMIN_LISTEN_PORT_ENABLED)
366+
sslListenPort = None
367+
if server.getSSL() != None:
368+
sslListenPort = server.getSSL().getListenPort()
369+
sslListenPortEnabled = None
370+
if server.getSSL()!= None:
371+
sslListenPortEnabled = server.getSSL().isListenPortEnabled()
372+
return {
373+
LISTEN_PORT: server.getListenPort(),
374+
LISTEN_PORT_ENABLED: server.isListenPortEnabled(),
375+
SSL_LISTEN_PORT: sslListenPort,
376+
SSL_LISTEN_PORT_ENABLED: sslListenPortEnabled,
377+
ADMIN_LISTEN_PORT: server.getAdministrationPort(),
378+
ADMIN_LISTEN_PORT_ENABLED: server.isAdministrationPortEnabled()
379+
}[clusterListenPortProperty]
380+
381+
def validateNonDynamicClusterServersHaveSameListenPort(self, cluster):
382+
firstServer = None
383+
firstListenPort = None
384+
firstListenPortEnabled = None
385+
firstSslListenPort = None
386+
firstSslListenPortEnabled = None
387+
firstAdminPort = None
388+
firstAdminPortEnabled = None
389+
for server in self.env.getDomain().getServers():
390+
if cluster is server.getCluster():
391+
listenPort = server.getListenPort()
392+
listenPortEnabled = server.isListenPortEnabled()
393+
ssl = server.getSSL()
394+
sslListenPort = None
395+
sslListenPortEnabled = None
396+
if ssl is not None:
397+
sslListenPort = ssl.getListenPort()
398+
sslListenPortEnabled = ssl.isEnabled()
399+
adminPort = server.getAdministrationPort()
400+
adminPortEnabled = server.isAdministrationPortEnabled()
401+
if firstServer is None:
402+
firstServer = server
403+
firstListenPort = listenPort
404+
firstListenPortEnabled = listenPortEnabled
405+
firstSslListenPort = sslListenPort
406+
firstSslListenPortEnabled = sslListenPortEnabled
407+
firstAdminPort = adminPort
408+
firstAdminPortEnabled = adminPortEnabled
409+
else:
410+
if listenPort != firstListenPort:
411+
self.addError("The non-dynamic cluster " + self.name(cluster) + "'s server " + self.name(firstServer) + "'s listen port is " + str(firstListenPort) + " but its server " + self.name(server) + "'s listen port is " + str(listenPort) + ". All ports for the same channel in a cluster must be the same.")
412+
if listenPortEnabled != firstListenPortEnabled:
413+
self.addError("The non-dynamic cluster " + self.name(cluster) + "'s server " + self.name(firstServer) + " has listen port enabled: " + self.booleanToString(firstListenPortEnabled) + " but its server " + self.name(server) + "'s listen port enabled: " + self.booleanToString(listenPortEnabled) + ". Channels in a cluster must be either all enabled or disabled.")
414+
if sslListenPort != firstSslListenPort:
415+
self.addError("The non-dynamic cluster " + self.name(cluster) + "'s server " + self.name(firstServer) + "'s ssl listen port is " + str(firstSslListenPort) + " but its server " + self.name(server) + "'s ssl listen port is " + str(sslListenPort) + ". All ports for the same channel in a cluster must be the same.")
416+
if sslListenPortEnabled != firstSslListenPortEnabled:
417+
self.addError("The non-dynamic cluster " + self.name(cluster) + "'s server " + self.name(firstServer) + " has ssl listen port enabled: " + self.booleanToString(firstSslListenPortEnabled) + " but its server " + self.name(server) + "'s ssl listen port enabled: " + self.booleanToString(sslListenPortEnabled) + ". Channels in a cluster must be either all enabled or disabled.")
418+
if adminPort != firstAdminPort:
419+
self.addError("The non-dynamic cluster " + self.name(cluster) + "'s server " + self.name(firstServer) + "'s ssl listen port is " + str(firstAdminPort) + " but its server " + self.name(server) + "'s ssl listen port is " + str(adminPort) + ". All ports for the same channel in a cluster must be the same.")
420+
if adminPortEnabled != firstAdminPortEnabled:
421+
self.addError("The non-dynamic cluster " + self.name(cluster) + "'s server " + self.name(firstServer) + " has ssl listen port enabled: " + self.booleanToString(firstAdminPortEnabled) + " but its server " + self.name(server) + "'s ssl listen port enabled: " + self.booleanToString(adminPortEnabled) + ". Channels in a cluster must be either all enabled or disabled.")
422+
423+
383424

384425
def validateClusterServersListenPortProperty(self, cluster, errorMsg, clusterListenPortProperty):
385426
firstServer = None
@@ -392,31 +433,32 @@ def validateClusterServersListenPortProperty(self, cluster, errorMsg, clusterLis
392433
firstListenPortProperty = listenPortProperty
393434
else:
394435
if listenPortProperty != firstListenPortProperty:
395-
self.addError(errorMsg.format(self.name(cluster), self.name(firstServer), clusterListenPortProperty.value, str(firstListenPortProperty), self.name(server), str(firstListenPortProperty))
436+
self.addError(errorMsg.substitute(cluster=self.name(cluster), server1=self.name(firstServer), property=clusterListenPortProperty, value1=str(firstListenPortProperty), server2=self.name(server), value2=str(firstListenPortProperty)))
396437
return
397438

398-
def NonDynamicClusterServerChannelsHaveSameProtocol(self, cluster):
439+
def validateNonDynamicClusterServerHaveSameCustomChannels(self, cluster):
399440
firstServer = None
400441
serverNap = {}
401442
for server in self.env.getDomain().getServers():
402443
if cluster is server.getCluster():
403444
if firstServer is None:
404445
for nap in server.getNetworkAccessPoints():
405-
serverNap[nap.getName()] = nap.getProtocol() + "~" + nap.getListenPort();
446+
serverNap[nap.getName()] = nap.getProtocol() + "~" + str(nap.getListenPort());
406447
firstServer = server
407448
else:
408449
naps = server.getNetworkAccessPoints()
409-
if len(naps) != len(serverNap)
410-
self.addError("The non-dynamic cluster " + self.name(cluster) + " has mismatched number of network access points in servers " + self.name(firstServer) + " and " + self.name(server) + ". All network access points in a cluster must be the same."
450+
if len(naps) != len(serverNap):
451+
self.addError("The non-dynamic cluster " + self.name(cluster) + " has mismatched number of network access points in servers " + self.name(firstServer) + " and " + self.name(server) + ". All network access points in a cluster must be the same.")
411452
return
412453
else:
413-
if nap.getName() in serverNap
414-
if serverNap[nap.getName()] != nap.getProtocol() + "~" + nap.getListenPort()
415-
self.addError("The non-dynamic cluster " + self.name(cluster) + " has mismatched network access point " + self.name(nap) + " in server " + self.name(firstServer) + " and " + self.name(server) + ". All network access points in a cluster must be the same.")
454+
for nap in naps:
455+
if nap.getName() in serverNap:
456+
if serverNap[nap.getName()] != nap.getProtocol() + "~" + str(nap.getListenPort()):
457+
self.addError("The non-dynamic cluster " + self.name(cluster) + " has mismatched network access point " + self.name(nap) + " in servers " + self.name(firstServer) + " and " + self.name(server) + ". All network access points in a cluster must be the same.")
458+
return
459+
else:
460+
self.addError("The non-dynamic cluster " + self.name(cluster) + " has mismatched network access point " + self.name(nap) + " in servers " + self.name(firstServer) + " and " + self.name(server) + ". All network access points in a cluster must be the same.")
416461
return
417-
else:
418-
self.addError("The non-dynamic cluster " + self.name(cluster) + " has mismatched network access point " + self.name(nap) + " in server " + self.name(firstServer) + " and " + self.name(server) + ". All network access points in a cluster must be the same.")
419-
return
420462

421463

422464
def validateDynamicCluster(self, cluster):

0 commit comments

Comments
 (0)