@@ -247,7 +247,14 @@ define(['models/wkt-project', 'utils/k8s-domain-configmap-generator', 'js-yaml',
247
247
}
248
248
249
249
function getServerPodForCluster ( cluster ) {
250
- return _getServerPod ( getJavaOptionsForCluster ( cluster ) , getUserMemArgsForCluster ( cluster ) , getKubernetesResourcesForCluster ( cluster ) ) ;
250
+ const serverPod = _getServerPod ( getJavaOptionsForCluster ( cluster ) , getUserMemArgsForCluster ( cluster ) , getKubernetesResourcesForCluster ( cluster ) ) || { } ;
251
+
252
+ const affinity = _getAffinityForServerPod ( 100 ) ;
253
+ if ( affinity ) {
254
+ serverPod . affinity = affinity ;
255
+ }
256
+
257
+ return Object . keys ( serverPod ) . length > 0 ? serverPod : null ;
251
258
}
252
259
253
260
function _getServerPod ( javaOptions , userMemArgs , resources ) {
@@ -262,6 +269,7 @@ define(['models/wkt-project', 'utils/k8s-domain-configmap-generator', 'js-yaml',
262
269
if ( resources ) {
263
270
serverPod . resources = resources ;
264
271
}
272
+
265
273
return Object . keys ( serverPod ) . length > 0 ? serverPod : null ;
266
274
}
267
275
@@ -353,6 +361,28 @@ define(['models/wkt-project', 'utils/k8s-domain-configmap-generator', 'js-yaml',
353
361
return foundValue ? resources : null ;
354
362
}
355
363
364
+ function _getAffinityForServerPod ( weight ) {
365
+ return {
366
+ podAntiAffinity : {
367
+ preferredDuringSchedulingIgnoredDuringExecution : [ {
368
+ weight : weight ,
369
+ podAffinityTerm : {
370
+ topologyKey : 'kubernetes.io/hostname' ,
371
+ labelSelector : {
372
+ matchExpressions : [ {
373
+ key : 'weblogic.clusterName' ,
374
+ operator : 'In' ,
375
+ values : [ '$(CLUSTER_NAME)' ]
376
+ } ]
377
+ }
378
+ }
379
+ } ]
380
+ }
381
+ } ;
382
+ }
383
+
356
384
return K8sDomainResourceGenerator ;
357
385
}
386
+
387
+
358
388
) ;
0 commit comments