aurora-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joshua Cohen (JIRA)" <>
Subject [jira] [Resolved] (AURORA-520) Update "aurora job diff"
Date Mon, 13 Jul 2015 20:57:04 GMT


Joshua Cohen resolved AURORA-520.
    Resolution: Won't Fix

> Update "aurora job diff"
> ------------------------
>                 Key: AURORA-520
>                 URL:
>             Project: Aurora
>          Issue Type: Task
>          Components: Client
>            Reporter: 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

View raw message