[ 
https://issues.apache.org/jira/browse/AURORA-520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Lambert updated AURORA-520:
---------------------------------
    Sprint: Q2 Sprint 3, Q3 Sprint 1  (was: Q2 Sprint 3, Q3 Sprint 1, Q3 Sprint 
2)

> Update "aurora job diff"
> ------------------------
>
>                 Key: AURORA-520
>                 URL: https://issues.apache.org/jira/browse/AURORA-520
>             Project: Aurora
>          Issue Type: Task
>          Components: Client
>            Reporter: Mark Chu-Carroll
>            Assignee: Mark Chu-Carroll
>
> Users complain because the "aurora job diff" command doesn't work the way 
> they'd like it to. In its current form, it's got two major problems.
> (1) It reports spurious differences between running jobs and local 
> configurations, due to automatically filled fields that shouldn't be part of 
> the comparison. For example, a job config specifies who created using an 
> Identity record, which has two fields: the rolename running the job, and the 
> username of the person who ran the command. For comparing live jobs against 
> local configs, that's irrelevant.
> (2) The diffs are very hard to read. Diffs are generated by downloading the 
> running task configs for a job, and writing them to the disk in json; then 
> uploading the local config, getting *it* converted to thrift, and writing 
> that to the disk in json, and then running the Unix diff command on the two 
> json files.
> Unix diff isn't the most pleasant thing to read under the best of 
> circumstances. But making matters worse, the entire json format of the files 
> being diffed is unfamiliar to users! So they're looking at a hard-to-read 
> diff syntax ranging over an unfamiliar data syntax.
> To fix this, I'd like to replace the use of Unix diff. The json records for 
> the configs are semantically just trees. Writing a comparison function that 
> compares corresponding trees is pretty easy, and can generate *much* better 
> diffs. 
> An example of the diff to be generated by this code would be something like 
> the following - assuming that the local config increases the number of 
> instances from 2 to 3, and the CPU request from 2 to 4:
> {noformat}
> Local config has a different number of tasks: 3 local vs 2 running
> Task diffs found in instance 1:
>     Field 'numCpus' is '4' local, but '2' remote
> 2 total diff(s) found
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to