Cleanup and Roll Update not working due to PR #8158 exiting if existing project is not found. Moved command checking above project creation/check so that these commands can execute before scripts exits when it finds that project with the same name exists. (#8357)
Signed-off-by: James Drummond <james@devcomb.com>
Allow Openshift deploy_che.sh script to detect if project deletion is completed and new project successfully created.
Signed-off-by: James Drummond <james@devcomb.com>
The livenessProbe's failureThreshold is set to low. This causes the livenessProbe having to short a period of probing before it fails and removes the container. The failureThreshold is set to 4, the initialDelaySeconds is set to 5 and the periodSeconds is 5. This means 5s+4x5s=25s before the container fails. This patch set failureThreshold higher to 11 allowing for a more reasonable overall probe time of 60s (5s+11x5s=60s) before fails and removes the container.
Signed-off-by: James Drummond <james@devcomb.com>
Removed limitation for environment variables values to be less than 255 characters.
User can set JAVA_OPTS in env variables of workspace
User can set MAVEN_OPTS in env variables of workspace
User can set CHE_WORKSPACE_WSAGENT_JAVA_OPTIONS java opts to adjust java opts of ws-agent
User can set CHE_WORKSPACE_MAVEN__SERVER__JAVA__OPTIONS java opts to adjust java opts of the maven server
Admin can set CHE_WORKSPACE_JAVA__OPTIONS to adjust default value of JAVA_OPTS of all workspaces
Admin can set CHE_WORKSPACE_MAVEN__OPTIONS to adjust default value of MAVEN_OPTS of all workspaces
Admin can set CHE_WORKSPACE_WSAGENT__JAVA__OPTIONS to adjust default value of JAVA_OPTS of all ws-agents
Admin can set CHE_WORKSPACE_MAVEN__SERVER__JAVA__OPTIONS to adjust default value of JAVA_OPTS of all maven servers
If admin will configure CHE_WORKSPACE_HTTP__PROXY this values will be used in JAVA_OPTS , MAVEN_OPTS , and jvm options for ws-agent and maven-server
che.workspace.java_options=-XX:MaxRAM=150m -XX:MaxRAMFraction=2 ...
che.workspace.maven_options=-XX:MaxRAM=150m -XX:MaxRAMFraction=2 ...
che.workspace.wsagent_java_options=-XX:MaxRAM=600m -XX:MaxRAMFraction=1 ...
che.workspace.maven_server_java_options=-XX:MaxRAM=128m -XX:MaxRAMFraction=1 ..
Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
Optimize che-server ram usage on Docker
Proposal is to set container limit to 750M for both Docker and OpenShift and tune a bit GC
-XX:MaxRAMFraction=2 -XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -Xms20m
Important parts
-XX:MaxRAMFraction=2 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap - tels jvm to use ~ CHE_MASTER_CONTAINER_RAM/MaxRAMFraction for heap
We need some space for off-heap activity. During test I saw VmRSS of jvm ~330_000k - 350_000k.
-XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 ask GC to keep heap compact in cost of some CPU.
You can see changes in heap usage pattern in images below.