Skip to content

Commit acd7e45

Browse files
committed
Added validations for:
-- All defaultChannel in the same configured cluster are either enabled xor all are disabled -- All SSL Channel in the same configured cluster are either enabled xor all are disabled, and, if enabled, have the same port -- All admin port in the same configure cluster are either enabled xore all are disabled, and, if enabled, have the same port -- All nap with same name in configured cluster have same protocol
1 parent e79e158 commit acd7e45

File tree

1 file changed

+48
-6
lines changed

1 file changed

+48
-6
lines changed

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

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -355,17 +355,59 @@ def validateNonDynamicClusterNotReferencedByAnyServerTemplates(self, cluster):
355355

356356
def validateNonDynamicClusterServersHaveSameListenPort(self, cluster):
357357
firstServer = None
358-
firstPort = None
358+
firstListenPort = None
359+
firstListenPortEnabled = None
360+
firstSslListenPort = None
361+
firstSslListenPortEnabled = None
362+
firstAdminPort = None
363+
firstAdminPortEnabled = None
359364
for server in self.env.getDomain().getServers():
360365
if cluster is server.getCluster():
361-
port = server.getListenPort()
366+
listenPort = server.getListenPort()
367+
listenPortEnabled = server.isListenPortEnabled()
368+
ssl = server.getSSL()
369+
sslListenPort = None
370+
sslListenPortEnabled = None
371+
if ssl is not None:
372+
sslListenPort = ssl.getListenPort()
373+
sslListenPortEnabled = ssl.isEnabled()
374+
adminPort = server.getAdministrationPort()
375+
adminPortEnabled = server.isAdministrationPortEnabled()
362376
if firstServer is None:
363377
firstServer = server
364-
firstPort = port
378+
firstListenPort = defaultPort
379+
firstListenPortEnabled = listenPortEnabled
380+
firstSslListenPort = sslListenPort
381+
firstSslListenPortEnabled = sslListenPortEnabled
382+
firstAdminPort = adminPort
383+
firstAdminPortEnabled = adminPortEnabled
365384
else:
366-
if port != firstPort:
367-
self.addError("The non-dynamic cluster " + self.name(cluster) + "'s server " + self.name(firstServer) + "'s listen port is " + str(firstPort) + " but its server " + self.name(server) + "'s listen port is " + str(port) + ". All ports for the same channel in a cluster must be the same, including the default channel and the default SSL channel.")
368-
return
385+
if listenPort != firstListenPort:
386+
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.")
387+
if listenPortEnabled != firstListenPortEnabled:
388+
self.addError("The non-dynamic cluster " + self.name(cluster) + "'s server " + self.name(firstServer) + " has listen port enabled: " + str(firstListenPortEnabled) + " but its server " + self.name(server) + "'s listen port enabled: " + str(listenPortEnabled) + ". Channels in a cluster must be either all enabled or disabled.")
389+
if sslListenPort != firstSslListenPort:
390+
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.")
391+
if sslListenPortEnabled != firstSslListenPortEnabled:
392+
self.addError("The non-dynamic cluster " + self.name(cluster) + "'s server " + self.name(firstServer) + " has ssl listen port enabled: " + str(firstSslListenPortEnabled) + " but its server " + self.name(server) + "'s ssl listen port enabled: " + str(sslListenPortEnabled) + ". Channels in a cluster must be either all enabled or disabled.")
393+
if adminPort != firstAdminListenPort:
394+
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.")
395+
if adminPortEnabled != firstAdminPortEnabled:
396+
self.addError("The non-dynamic cluster " + self.name(cluster) + "'s server " + self.name(firstServer) + " has ssl listen port enabled: " + str(firstAdminPortEnabled) + " but its server " + self.name(server) + "'s ssl listen port enabled: " + str(adminPortEnabled) + ". Channels in a cluster must be either all enabled or disabled.")
397+
return
398+
399+
def NonDynamicClusterServerChannelsHaveSameProtocol(self, cluster):
400+
serverNap = {}
401+
for server in self.env.getDomain().getServers():
402+
if cluster is server.getCluster():
403+
for nap in server.getNetworkAccessPoints():
404+
if nap.getName() in serverNap
405+
if serverNap[nap.getName()] != nap.getProtocol()
406+
self.addError("The non-dynamic cluster " + self.name(cluster) + " has network access point " + self.name(nap.getName()) + " with conflicting protocols : " + self.name(nap.getProtocol()) + ", " +self.name(serverNap[nap.getName()]) + ". All protocols for the same network access point in a cluster must be the same.")
407+
return
408+
else:
409+
serverNap[nap.getName()] = nap.getProtocol()
410+
369411

370412
def validateDynamicCluster(self, cluster):
371413
self.validateDynamicClusterReferencedByOneServerTemplate(cluster)

0 commit comments

Comments
 (0)