File tree Expand file tree Collapse file tree 6 files changed +29
-3
lines changed
charts/weblogic-operator/templates
src/test/java/oracle/kubernetes/operator/create
java/oracle/kubernetes/operator/helpers Expand file tree Collapse file tree 6 files changed +29
-3
lines changed Original file line number Diff line number Diff line change 44
44
- name: "MOCK_WLS"
45
45
value: "true"
46
46
{ {- end } }
47
+ resources:
48
+ requests:
49
+ cpu: "100m"
50
+ memory: "512Mi"
47
51
volumeMounts:
48
52
- name: "weblogic-operator-cm-volume"
49
53
mountPath: "/operator/config"
Original file line number Diff line number Diff line change 44
44
import static org .hamcrest .MatcherAssert .assertThat ;
45
45
import static org .junit .Assert .fail ;
46
46
47
+ import io .kubernetes .client .custom .Quantity ;
47
48
import io .kubernetes .client .models .ExtensionsV1beta1Deployment ;
48
49
import io .kubernetes .client .models .V1ClusterRole ;
49
50
import io .kubernetes .client .models .V1ClusterRoleBinding ;
50
51
import io .kubernetes .client .models .V1ConfigMap ;
51
52
import io .kubernetes .client .models .V1Namespace ;
53
+ import io .kubernetes .client .models .V1ResourceRequirements ;
52
54
import io .kubernetes .client .models .V1Role ;
53
55
import io .kubernetes .client .models .V1RoleBinding ;
54
56
import io .kubernetes .client .models .V1Secret ;
@@ -210,6 +212,11 @@ protected ExtensionsV1beta1Deployment getExpectedWeblogicOperatorDeployment() {
210
212
newEnvVar ()
211
213
.name ("JAVA_LOGGING_LEVEL" )
212
214
.value (getInputs ().getJavaLoggingLevel ()))
215
+ .resources (
216
+ new V1ResourceRequirements ()
217
+ .putRequestsItem ("cpu" , Quantity .fromString ("100m" ))
218
+ .putRequestsItem (
219
+ "memory" , Quantity .fromString ("512Mi" )))
213
220
.addVolumeMountsItem (
214
221
newVolumeMount ()
215
222
.name ("weblogic-operator-cm-volume" )
Original file line number Diff line number Diff line change @@ -85,6 +85,13 @@ private ApiClient getApiClient() {
85
85
return client ;
86
86
}
87
87
88
+ @ Override
89
+ protected ApiClient onRecycle (ApiClient instance ) {
90
+ // Work around async processing creating, but not cleaning-up network interceptors
91
+ instance .getHttpClient ().networkInterceptors ().clear ();
92
+ return super .onRecycle (instance );
93
+ }
94
+
88
95
private static class DefaultClientFactory implements ClientFactory {
89
96
private final AtomicBoolean first = new AtomicBoolean (true );
90
97
Original file line number Diff line number Diff line change @@ -46,12 +46,16 @@ protected Queue<T> getQueue() {
46
46
* @param instance Pool object to recycle
47
47
*/
48
48
public final void recycle (T instance ) {
49
- getQueue ().offer (instance );
49
+ getQueue ().offer (onRecycle ( instance ) );
50
50
if (LOGGER .isFinerEnabled ()) {
51
51
LOGGER .finer ("Recycling instance to pool, instances now in pool: " + getQueue ().size ());
52
52
}
53
53
}
54
54
55
+ protected T onRecycle (T instance ) {
56
+ return instance ;
57
+ }
58
+
55
59
/**
56
60
* Creates a new instance of object. This method is used when someone wants to {@link #take()
57
61
* take} an object from an empty pool. Also note that multiple threads may call this method
Original file line number Diff line number Diff line change @@ -106,7 +106,6 @@ def open(self):
106
106
107
107
self .DOMAIN_UID = self .getEnv ('DOMAIN_UID' )
108
108
self .DOMAIN_HOME = self .getEnv ('DOMAIN_HOME' )
109
- self .DOMAIN_NAME = self .getEnv ('DOMAIN_NAME' )
110
109
self .LOG_HOME = self .getEnv ('LOG_HOME' )
111
110
self .CREDENTIALS_SECRET_NAME = self .getEnv ('CREDENTIALS_SECRET_NAME' )
112
111
@@ -155,6 +154,7 @@ def open(self):
155
154
trace ("About to load domain from " + self .getDomainHome ())
156
155
readDomain (self .getDomainHome ())
157
156
self .domain = cmo
157
+ self .DOMAIN_NAME = self .getDomain ().getName ()
158
158
159
159
def close (self ):
160
160
closeDomain ()
@@ -787,6 +787,7 @@ def addSitCfgXml(self):
787
787
self .writeln ("<?xml version='1.0' encoding='UTF-8'?>" )
788
788
self .writeln ("<d:domain xmlns:d=\" http://xmlns.oracle.com/weblogic/domain\" xmlns:f=\" http://xmlns.oracle.com/weblogic/domain-fragment\" xmlns:s=\" http://xmlns.oracle.com/weblogic/situational-config\" >" )
789
789
self .indent ()
790
+ self .writeln ("<s:expiration> 2099-07-16T19:20+01:00 </s:expiration>" )
790
791
self .writeln ("<d:name>" + self .env .DOMAIN_NAME + "</d:name>" )
791
792
self .customizeNodeManagerCreds ()
792
793
self .customizeDomainLogPath ()
Original file line number Diff line number Diff line change @@ -64,7 +64,10 @@ cp /operator/logstash.conf /logs/logstash.conf
64
64
# assumption is that we have mounted a volume on /logs which is also visible to
65
65
# the logstash container/pod.
66
66
67
+ # Container memory optimizaton flags
68
+ HEAP=" -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1 -XshowSettings:vm"
69
+
67
70
# Start operator
68
- java $MOCKING_WLS $DEBUG $LOGGING -jar /operator/weblogic-kubernetes-operator.jar &
71
+ java $HEAP $ MOCKING_WLS $DEBUG $LOGGING -jar /operator/weblogic-kubernetes-operator.jar &
69
72
PID=$!
70
73
wait $PID
You can’t perform that action at this time.
0 commit comments