> On Oct. 16, 2015, 10:19 a.m., Joshua Cohen wrote:
> > Without digging into the code, just based on the output in the testing done 
> > section, would it be possible to collapse the output into instance ranges? 
> > So instead of [100, 101, 102, ... 119], we just get [100-119]?
> 
> Maxim Khutornenko wrote:
>     Using ranges was my first thought but I decided in favor of expanded 
> ranges for two reasons: 
>     1. easier to grep a particular instance from the cli output.
>     2. easier to grasp the scope of the upcoming change. 
>     
>     The latter is particularly important. It's easy to miss or misjudge a 
> collapsed range like [0,199] under "removed" and kill the entire service. 
> Whereas an expanded range like [0,1,2...198,199] would be virtually 
> impossible to miss. 
>     
>     Does the above make sense? Am I exaggerating the benefits here?

I pretty strongly that ranges are the best user experience.  A big dump of 
numbers is not helpful.  This is already a conservative feature, let's not go 
so far to make it a crappy experience.


- Bill


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/39366/#review102934
-----------------------------------------------------------


On Oct. 15, 2015, 5:25 p.m., Maxim Khutornenko wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/39366/
> -----------------------------------------------------------
> 
> (Updated Oct. 15, 2015, 5:25 p.m.)
> 
> 
> Review request for Aurora, Joshua Cohen and Bill Farner.
> 
> 
> Bugs: AURORA-1516
>     https://issues.apache.org/jira/browse/AURORA-1516
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> "aurora job diff" now prints update sequence along with diff details when 
> applicable (updated instances).
> 
> 
> Diffs
> -----
> 
>   src/main/python/apache/aurora/client/api/__init__.py 
> 4b9c48e84bc203fc7b28d7efd0b2e6b8a6f18302 
>   src/main/python/apache/aurora/client/cli/jobs.py 
> 6d15f1e8558f9df5f00994d20949f19b0de1ad32 
>   src/test/python/apache/aurora/client/api/test_api.py 
> b56e35265b1e32d61a13fe72734cae824737278d 
>   src/test/python/apache/aurora/client/cli/test_diff.py 
> 753a0417caf29249cbc2fca5a9fc41b1ce535c92 
>   src/test/python/apache/aurora/client/cli/util.py 
> b03148b4edaa334620a72bee1937c8c16e19f23e 
> 
> Diff: https://reviews.apache.org/r/39366/diff/
> 
> 
> Testing
> -------
> 
> ./pants test.pytest --no-fast src/test/python::
> 
> Also tested manually in vagrant:
> 
> Upscale and update:
> ```
> $ aurora job diff devcluster/www-data/prod/hello 
> aurora/examples/jobs/hello_world.aurora 
>  INFO] Starting update for: hello
> A job update with this config will:
> ----> add instances: [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 
> 111, 112, 113, 114, 115, 116, 117, 118, 119]
> ----> update instances: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [21, 22, 23, 24, 25, 
> 26, 27, 28, 29], [41, 42, 43, 44], [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 
> 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 
> 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
> with diff:
> 64c64
> <           "cpu": 2.0, 
> ---
> >           "cpu": 3.0, 
> 75c75
> <   'numCpus': 2.0,
> ---
> >   'numCpus': 3.0,
> ----> update instances: [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], [45, 
> 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]
> with diff:
> 64c64
> <           "cpu": 4.0, 
> ---
> >           "cpu": 3.0, 
> 75c75
> <   'numCpus': 4.0,
> ---
> >   'numCpus': 3.0,
> ----> not change instances: [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
> ```
> 
> Diff with instance spec:
> ```
> $ aurora job diff devcluster/www-data/prod/hello/0-10 
> aurora/examples/jobs/hello_world.aurora 
>  INFO] Starting update for: hello
> A job update with this config will:
> ----> update instances: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
> with diff:
> 64c64
> <           "cpu": 2.0, 
> ---
> >           "cpu": 3.0, 
> 75c75
> <   'numCpus': 2.0,
> ---
> >   'numCpus': 3.0,
> ----> not change instances: [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], 
> [21, 22, 23, 24, 25, 26, 27, 28, 29], [30, 31, 32, 33, 34, 35, 36, 37, 38, 
> 39, 40], [41, 42, 43, 44], [45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 
> 57, 58, 59, 60], [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 
> 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 
> 95, 96, 97, 98, 99]
> ```
> 
> Downscale and update:
> ```
> $ aurora job diff devcluster/www-data/prod/hello 
> aurora/examples/jobs/hello_world.aurora 
>  INFO] Starting update for: hello
> A job update with this config will:
> ----> remove instances: [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 
> 22, 23, 24, 25, 26, 27, 28, 29], [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 
> 40], [41, 42, 43, 44], [45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 
> 58, 59, 60], [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 
> 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 
> 96, 97, 98, 99]
> ----> update instances: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
> with diff:
> 64c64
> <           "cpu": 2.0, 
> ---
> >           "cpu": 3.0, 
> 75c75
> <   'numCpus': 2.0,
> ---
> >   'numCpus': 3.0,
> ```
> 
> Update non-existent job:
> ```
> $ aurora job diff devcluster/www-data/prod/hello1 
> aurora/examples/jobs/hello_world.aurora 
>  INFO] Starting update for: hello1
> A job update with this config will:
> ----> add instances: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
> ```
> 
> 
> Thanks,
> 
> Maxim Khutornenko
> 
>

Reply via email to