- combine app and pod constraint validation rules
- fix CLUSTER constraint validation
- unit tests for SchedulingValidation
- fix documentation for CLUSTER constraints
aquamatthias sascala timcharper jenkins • jasongilanfarr meichstedt
- rMARATHON656108f84a6f: cluster constraint should accept hostname field without a value
rMARATHONa23133456a67: cluster constraint should accept hostname field without a value
rMARATHON3e6a2dafef2b: cluster constraint should accept hostname field without a value
- JIRA Issues
- JIRA MARATHON-7182 CLUSTER w/ hostname field and no value (incorrectly) fails validation
- sbt test
Build has FAILED
Link to build: https://jenkins.mesosphere.com/service/jenkins/job/public-test-marathon-phabricator/1999/
See console output for more information: https://jenkins.mesosphere.com/service/jenkins/job/public-test-marathon-phabricator/1999/console
um .. this is interesting: it appears that CLUSTER doesn't require a value at all, regardless of field: https://github.com/mesosphere/marathon/blob/5495479035facdcca05d6b58c6c09a0413c02c34/src/main/scala/mesosphere/mesos/Constraints.scala#L114
Build has FAILED
Link to build: https://jenkins.mesosphere.com/service/jenkins/job/public-test-marathon-phabricator/2000/
See console output for more information: https://jenkins.mesosphere.com/service/jenkins/job/public-test-marathon-phabricator/2000/console
agreed, there are a bunch of validation messages scattered over the codebase that could be formalized. i've been formalizing the ones that are referenced in the new test cases that I'm writing. i'll leave this one alone, refactoring it will be an exercise for a future validation unit test refactoring effort
Little edits and one question.
comma after specified, remove "then"
commas around "for example"
suggest: "The <hostname> field tells Marathon that the launched tasks of the app or pod should be launched together on the same agent."
Unless this is a term of art, I'm not sure that "have affinity for each other" is precise enough language to be useful to a user.
Which element of the example below is hostname?
When a value for <hostname> is specified, tasks are launched..."
When the <hostname> value is empty or unspecified, the first...."
When attribute fields are specified, tasks...
When attribute fields are empty or unspecified, the first...
The example below specifies the exact rack on which to run app tasks:
This example leaves the attribute field empty. This tells Marathon that all of the app tasks should run on the same rack, but does not specify which.
This example specifies that an app <!-- or pod? --> must run on a specific node.
Below, the attribute field is empty. This tells Marathon that all app tasks must run on the same node, but does not specify which.