Closed sargun closed 8 years ago
I can reproduce the problem. Looks like the UI renders invalid json, if the app is updated. The json that is created by the UI looks like this:
{
"id": "/backend1",
"cmd": "touch healthy && chmod 755 linux-amd64 && ./linux-amd64 -listener=:${PORT0}",
"args": null,
"user": null,
"env": {},
"instances": 0,
"cpus": 0.1,
"mem": 16,
"disk": 0,
"executor": "",
"constraints": [],
"uris": [],
"storeUrls": [],
"ports": [
10000
],
"requirePorts": false,
"backoffSeconds": 1,
"backoffFactor": 1.15,
"maxLaunchDelaySeconds": 3600,
"container": null,
"healthChecks": [
{
"protocol": "COMMAND",
"portIndex": 0,
"command": "test -f healthy gggggg",
"gracePeriodSeconds": 300,
"intervalSeconds": 60,
"timeoutSeconds": 20,
"maxConsecutiveFailures": 300,
"ignoreHttp1xx": false,
"consecutiveKey": 0
}
],
"dependencies": [],
"upgradeStrategy": {
"minimumHealthCapacity": 1,
"maximumOverCapacity": 1
},
"labels": {},
"acceptedResourceRoles": null,
"versionInfo": {
"lastScalingAt": "2015-12-15T07:25:23.722Z",
"lastConfigChangeAt": "2015-12-15T07:25:23.722Z"
},
"deployments": [],
"health": [],
"healthWeight": 0,
"lastTaskFailure": null,
"status": 2,
"tasks": [],
"tasksRunning": 0,
"taskStats": {},
"type": "BASIC"
}
The problematic part is: "command": "xxx"
, but should be "command": { "value": "xxx" }
@pierlo-upitup can you fix this for 0.14?
Thanks for the heads up. FTR the bug occurs when you try to edit an app configuration that has healthChecks
(unless you modify the command field).
Looking into this.
cc @aldipower cfr. AppFormStore.populateFieldsFromAppDefinition
mutates data.
I get the following exception if I try to change the Marathon configuration from the UI:
This is my app JSON that I started with: