@@ -255,6 +255,7 @@ func (r *ReconcileWebSphereLiberty) deleteCompletedSemeruInstances(wlva *wlv1.We
255255}
256256
257257func (r * ReconcileWebSphereLiberty ) reconcileSemeruDeployment (wlva * wlv1.WebSphereLibertyApplication , deploy * appsv1.Deployment ) {
258+ var port int32 = 38400
258259 deploy .Labels = getLabels (wlva )
259260 deploy .Spec .Strategy .Type = appsv1 .RecreateDeploymentStrategyType
260261
@@ -276,11 +277,18 @@ func (r *ReconcileWebSphereLiberty) reconcileSemeruDeployment(wlva *wlv1.WebSphe
276277 limitsMemory := getQuantityFromLimitsOrDefault (instanceResources , corev1 .ResourceMemory , "1200Mi" )
277278 limitsCPU := getQuantityFromLimitsOrDefault (instanceResources , corev1 .ResourceCPU , "2000m" )
278279
280+ portNumber := * semeruCloudCompiler .GetPort ()
281+ var portIntOrStr intstr.IntOrString
282+ if portNumber == port {
283+ portIntOrStr = intstr .FromInt32 (port )
284+ } else {
285+ portIntOrStr = intstr .FromString (fmt .Sprintf ("%d-tcp" , port ))
286+ }
279287 // Liveness probe
280288 livenessProbe := corev1.Probe {
281289 ProbeHandler : corev1.ProbeHandler {
282290 TCPSocket : & corev1.TCPSocketAction {
283- Port : intstr . FromInt ( 38400 ) ,
291+ Port : portIntOrStr ,
284292 },
285293 },
286294 InitialDelaySeconds : 10 ,
@@ -291,7 +299,7 @@ func (r *ReconcileWebSphereLiberty) reconcileSemeruDeployment(wlva *wlv1.WebSphe
291299 readinessProbe := corev1.Probe {
292300 ProbeHandler : corev1.ProbeHandler {
293301 TCPSocket : & corev1.TCPSocketAction {
294- Port : intstr . FromInt ( 38400 ) ,
302+ Port : portIntOrStr ,
295303 },
296304 },
297305 InitialDelaySeconds : 5 ,
@@ -301,6 +309,22 @@ func (r *ReconcileWebSphereLiberty) reconcileSemeruDeployment(wlva *wlv1.WebSphe
301309 semeruPodMatchLabels := map [string ]string {
302310 "app.kubernetes.io/instance" : getSemeruCompilerNameWithGeneration (wlva ),
303311 }
312+ containerPorts := make ([]corev1.ContainerPort , 0 )
313+ containerPorts = append (containerPorts , corev1.ContainerPort {
314+ ContainerPort : port ,
315+ Protocol : corev1 .ProtocolTCP ,
316+ })
317+
318+ healthProbesFlag := ""
319+ if portNumber != port {
320+ healthProbesFlag = " -XX:+JITServerHealthProbes" + fmt .Sprintf (" -XX:JITServerHealthProbePort=%d" , portNumber )
321+ containerPorts [0 ].Name = fmt .Sprintf ("%d-tcp" , port )
322+ containerPorts = append (containerPorts , corev1.ContainerPort {
323+ Name : fmt .Sprintf ("%d-tcp" , portNumber ),
324+ ContainerPort : portNumber ,
325+ Protocol : corev1 .ProtocolTCP ,
326+ })
327+ }
304328 deploy .Spec .Template = corev1.PodTemplateSpec {
305329 ObjectMeta : metav1.ObjectMeta {
306330 Labels : getLabels (wlva ),
@@ -337,12 +361,7 @@ func (r *ReconcileWebSphereLiberty) reconcileSemeruDeployment(wlva *wlv1.WebSphe
337361 Image : wlva .Status .GetImageReference (),
338362 ImagePullPolicy : * wlva .GetPullPolicy (),
339363 Command : []string {"jitserver" },
340- Ports : []corev1.ContainerPort {
341- {
342- ContainerPort : 38400 ,
343- Protocol : corev1 .ProtocolTCP ,
344- },
345- },
364+ Ports : containerPorts ,
346365 Resources : corev1.ResourceRequirements {
347366 Requests : corev1.ResourceList {
348367 corev1 .ResourceMemory : requestsMemory ,
@@ -356,6 +375,7 @@ func (r *ReconcileWebSphereLiberty) reconcileSemeruDeployment(wlva *wlv1.WebSphe
356375 Env : []corev1.EnvVar {
357376 {Name : "OPENJ9_JAVA_OPTIONS" , Value : "-XX:+JITServerLogConnections" +
358377 " -XX:+JITServerShareROMClasses" +
378+ healthProbesFlag +
359379 " -XX:JITServerSSLKey=/etc/x509/certs/tls.key" +
360380 " -XX:JITServerSSLCert=/etc/x509/certs/tls.crt" },
361381 },
@@ -417,12 +437,26 @@ func reconcileSemeruService(svc *corev1.Service, wlva *wlv1.WebSphereLibertyAppl
417437 svc .Labels = getLabels (wlva )
418438 svc .Spec .Selector = getSelectors (wlva )
419439 utils .CustomizeServiceAnnotations (svc )
420- if len (svc .Spec .Ports ) == 0 {
440+ numPorts := len (svc .Spec .Ports )
441+ if numPorts == 0 {
421442 svc .Spec .Ports = append (svc .Spec .Ports , corev1.ServicePort {})
422443 }
423444 svc .Spec .Ports [0 ].Protocol = corev1 .ProtocolTCP
424445 svc .Spec .Ports [0 ].Port = port
425446 svc .Spec .Ports [0 ].TargetPort = intstr .FromInt (int (port ))
447+ portNumber := * wlva .GetSemeruCloudCompiler ().GetPort ()
448+ if portNumber != port {
449+ numPorts = len (svc .Spec .Ports )
450+ if numPorts == 1 {
451+ svc .Spec .Ports = append (svc .Spec .Ports , corev1.ServicePort {})
452+ }
453+ svc .Spec .Ports [0 ].Name = fmt .Sprintf ("%d-tcp" , port )
454+ svc .Spec .Ports [0 ].TargetPort = intstr .FromString (fmt .Sprintf ("%d-tcp" , port ))
455+ svc .Spec .Ports [1 ].Name = fmt .Sprintf ("%d-tcp" , portNumber )
456+ svc .Spec .Ports [1 ].Protocol = corev1 .ProtocolTCP
457+ svc .Spec .Ports [1 ].Port = portNumber
458+ svc .Spec .Ports [1 ].TargetPort = intstr .FromString (fmt .Sprintf ("%d-tcp" , portNumber ))
459+ }
426460 svc .Spec .SessionAffinity = corev1 .ServiceAffinityClientIP
427461 svc .Spec .SessionAffinityConfig = & corev1.SessionAffinityConfig {
428462 ClientIP : & corev1.ClientIPConfig {
@@ -585,14 +619,13 @@ func (r *ReconcileWebSphereLiberty) getSemeruJavaOptions(instance *wlv1.WebSpher
585619 certificateLocation = "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt"
586620 }
587621 jitServerAddress := instance .Status .SemeruCompiler .ServiceHostname
588- jitSeverOptions := fmt .Sprintf ("-XX:+UseJITServer -XX:+JITServerLogConnections -XX:JITServerAddress=%v -XX:JITServerSSLRootCerts=%v" ,
589- jitServerAddress , certificateLocation )
622+ jitServerOptions := fmt .Sprintf ("-XX:+UseJITServer -XX:+JITServerLogConnections -XX:JITServerAddress=%v -XX:JITServerSSLRootCerts=%v" , jitServerAddress , certificateLocation )
590623
591624 args := []string {
592625 "/bin/bash" ,
593626 "-c" ,
594- "export OPENJ9_JAVA_OPTIONS=\" $OPENJ9_JAVA_OPTIONS " + jitSeverOptions +
595- "\" && export OPENJ9_RESTORE_JAVA_OPTIONS=\" $OPENJ9_RESTORE_JAVA_OPTIONS " + jitSeverOptions +
627+ "export OPENJ9_JAVA_OPTIONS=\" $OPENJ9_JAVA_OPTIONS " + jitServerOptions +
628+ "\" && export OPENJ9_RESTORE_JAVA_OPTIONS=\" $OPENJ9_RESTORE_JAVA_OPTIONS " + jitServerOptions +
596629 "\" && server run" ,
597630 }
598631 return args
0 commit comments