You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Background
Docker images can be extremely big, so it is nice to have a mechanism to warn/reject user from creation or running such big images.
Approach
Let's introduce 2 new System preference - commit.container.size.limits, launch.tool.size.limits (Object) with structure:
{
"soft": <size value in bytes, long>,
"hard": <size value in bytes, long>
}
Provide validation for the values of the properties`
Modify a method in PipelineRunController
GET /run/{runId}/commit/check to provide more extended result like:
{
"enoughSpace": {
"status": <ENUM (FAIL, WARN, OK)>,
"message": <can be null, message in case of warning or fail>,
"value": <raw value of the metric, for enoughSpace true/false>
},
"containerSize": {
"status": <ENUM (FAIL, WARN, OK)>,
"message": <can be null, message in case of warning or fail>,
"value": <raw value of the metric, for containerSize size in bytes>
}
}
To do so, let's introduce new server method in DockerContainerOperationManager to be able to ask node which is host the run, current size of the run container.
This method should work similar as commit procedure (ssh to the node) and utilize command docker inspect ${CONTAINER_ID} -s --format "{{.SizeRw}}"
Timeout should be implemented for the method to not to hang much time
If something goes wrong (timeout or error) return -1 as containerSize
On UI:
During commit change logic to verify not only enoughSpace but also check that containerSize check status
If WARN:
Warn user that container image will be too big, but let to commit if needed
If FAIL
Restrict to commit
During Tool/Pipeline run, check if tool version size < system preference launch.tool.size.limitssoft/hard
If bigger:
For soft : Warn user that container image is too big, but let to run if needed
For hard : Restrict to run
The text was updated successfully, but these errors were encountered:
Background
Docker images can be extremely big, so it is nice to have a mechanism to warn/reject user from creation or running such big images.
Approach
Let's introduce 2 new
System preference
-commit.container.size.limits
,launch.tool.size.limits
(Object) with structure:Modify a method in
PipelineRunController
GET
/run/{runId}/commit/check
to provide more extended result like:To do so, let's introduce new server method in
DockerContainerOperationManager
to be able to ask node which is host the run, current size of the run container.docker inspect ${CONTAINER_ID} -s --format "{{.SizeRw}}"
-1
ascontainerSize
On UI:
enoughSpace
but also check thatcontainerSize
check statuslaunch.tool.size.limits
soft/hard
The text was updated successfully, but these errors were encountered: