Not uncaught: it gets handled exactly the way that all invalid parameters get handled - the exception gets thrown in the parser, it bubbles up, and gets caught by the framework and turned into an error:
[sun-wukong incubator-aurora (instance-syntax)]$ ./dist/client.pex job kill west/mchucarroll/test/foo/asonteuh usage: client.pex job kill [-h] [--open-browser] [--config CONFIG] CLUSTER/ROLE/ENV/NAME/INSTANCES client.pex job kill: error: argument CLUSTER/ROLE/ENV/NAME/INSTANCES: invalid instance_specifier value: 'west/mchucarroll/test/foo/asonteuh' On Tue, Mar 25, 2014 at 6:22 PM, Brian Wickman <wick...@apache.org> wrote: > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/19431/ > > On March 24th, 2014, 6:57 p.m. UTC, *Mark Chu-Carroll* wrote: > > > src/main/python/apache/aurora/client/cli/options.py<https://reviews.apache.org/r/19431/diff/4/?file=532893#file532893line121> > (Diff > revision 4) > > def parse_qualified_role(rolestr): > > 111 > > for part in instances.split(','): > > 121 > > for part in instances.split(','): > > 112 > > x = part.split('-') > > 122 > > x = part.split('-') > > 113 > > result.update(range(int(x[0]), int(x[-1]) + 1)) > > 123 > > result.update(range(int(x[0]), int(x[-1]) + 1)) > > 114 > > return sorted(result) > > 124 > > return sorted(result) > > "all" was never revealed to users, and we've decided to get rid of it. It > will never show up in a user-visible way; mentioning it here will just be > confusing. > > I understand, but there is no input sanitation preventing you from doing > "west/foo/prod/bar/morfgorf" -- it will raise an uncaught ValueError here. > > > - Brian > > On March 24th, 2014, 6:58 p.m. UTC, Mark Chu-Carroll wrote: > Review request for Aurora, Bill Farner and Brian Wickman. > By Mark Chu-Carroll. > > *Updated March 24, 2014, 6:58 p.m.* > *Bugs: * aurora-268 <https://issues.apache.org/jira/browse/aurora-268> > *Repository: * aurora > Description > > Add instance specifier syntax to commands that can specify instances for > clientv2. > > Also, while I was at it, I added the kill/killall distinction to clientv2. > > Testing > > [sun-wukong incubator-aurora (instance-syntax)]$ !./p > ./pants src/test/python/apache/aurora/client/cli:all > Build operating on targets: > OrderedSet([PythonTestSuite(src/test/python/apache/aurora/client/cli/BUILD:all)]) > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 4 items > > src/test/python/apache/aurora/client/cli/test_bridge.py .... > > =========================== 4 passed in 0.02 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 5 items > > src/test/python/apache/aurora/client/cli/test_help.py ..... > > =========================== 5 passed in 0.48 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 27 items > > src/test/python/apache/aurora/client/cli/test_cancel_update.py .. > src/test/python/apache/aurora/client/cli/test_create.py .... > src/test/python/apache/aurora/client/cli/test_diff.py ... > src/test/python/apache/aurora/client/cli/test_kill.py ..... > src/test/python/apache/aurora/client/cli/test_restart.py ... > src/test/python/apache/aurora/client/cli/test_status.py ....... > src/test/python/apache/aurora/client/cli/test_update.py ... > > ========================== 27 passed in 1.63 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 2 items > > src/test/python/apache/aurora/client/cli/test_plugins.py .. > > =========================== 2 passed in 0.49 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 3 items > > src/test/python/apache/aurora/client/cli/test_quota.py ... > > =========================== 3 passed in 0.50 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 5 items > > src/test/python/apache/aurora/client/cli/test_sla.py ..... > > =========================== 5 passed in 0.53 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 2 items > > src/test/python/apache/aurora/client/cli/test_task_run.py .. > > =========================== 2 passed in 0.50 seconds > =========================== > src.test.python.apache.aurora.client.cli.bridge > ..... SUCCESS > src.test.python.apache.aurora.client.cli.help > ..... SUCCESS > src.test.python.apache.aurora.client.cli.job > ..... SUCCESS > src.test.python.apache.aurora.client.cli.plugins > ..... SUCCESS > src.test.python.apache.aurora.client.cli.quota > ..... SUCCESS > src.test.python.apache.aurora.client.cli.sla > ..... SUCCESS > src.test.python.apache.aurora.client.cli.task > ..... SUCCESS > [sun-wukong incubator-aurora (instance-syntax)]$ > [sun-wukong incubator-aurora (instance-syntax)]$ grep INSTANCES_OPTION > src/main/python/apache/aurora/client/cli/*.py > src/main/python/apache/aurora/client/cli/options.py:INSTANCES_OPTION = > CommandOption('--instances', type=parse_instances, dest='instances', > src/main/python/apache/aurora/client/cli/task.py: INSTANCES_OPTION, > [sun-wukong incubator-aurora (instance-syntax)]$ ./pants > src/test/python/apache/aurora/client/cli:all > Build operating on targets: > OrderedSet([PythonTestSuite(src/test/python/apache/aurora/client/cli/BUILD:all)]) > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 4 items > > src/test/python/apache/aurora/client/cli/test_bridge.py .... > > =========================== 4 passed in 0.02 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 5 items > > src/test/python/apache/aurora/client/cli/test_help.py ..... > > =========================== 5 passed in 0.47 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 27 items > > src/test/python/apache/aurora/client/cli/test_cancel_update.py .. > src/test/python/apache/aurora/client/cli/test_create.py .... > src/test/python/apache/aurora/client/cli/test_diff.py ... > src/test/python/apache/aurora/client/cli/test_kill.py ..... > src/test/python/apache/aurora/client/cli/test_restart.py ... > src/test/python/apache/aurora/client/cli/test_status.py ....... > src/test/python/apache/aurora/client/cli/test_update.py ... > > ========================== 27 passed in 1.65 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 2 items > > src/test/python/apache/aurora/client/cli/test_plugins.py .. > > =========================== 2 passed in 0.51 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 3 items > > src/test/python/apache/aurora/client/cli/test_quota.py ... > > =========================== 3 passed in 0.49 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 5 items > > src/test/python/apache/aurora/client/cli/test_sla.py ..... > > =========================== 5 passed in 0.53 seconds > =========================== > ============================= test session starts > ============================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 2 items > > src/test/python/apache/aurora/client/cli/test_task_run.py .. > > =========================== 2 passed in 0.53 seconds > =========================== > src.test.python.apache.aurora.client.cli.bridge > ..... SUCCESS > src.test.python.apache.aurora.client.cli.help > ..... SUCCESS > src.test.python.apache.aurora.client.cli.job > ..... SUCCESS > src.test.python.apache.aurora.client.cli.plugins > ..... SUCCESS > src.test.python.apache.aurora.client.cli.quota > ..... SUCCESS > src.test.python.apache.aurora.client.cli.sla > ..... SUCCESS > src.test.python.apache.aurora.client.cli.task > ..... SUCCESS > > Diffs > > - src/main/python/apache/aurora/client/cli/context.py > (dad4fcb63c7d7b6bce898b1a4202425f5a0d70fe) > - src/main/python/apache/aurora/client/cli/jobs.py > (3a68cf8dadcf2984a3ed97e7213cdf1fa9cb9fa4) > - src/main/python/apache/aurora/client/cli/options.py > (1f33ea293969326c4e8cbd39e54b173f659e61bf) > - src/main/python/apache/aurora/client/cli/task.py > (8d4d38efbd126911f46bc3f8944e81bc9d149e32) > - src/main/python/apache/aurora/client/config.py > (1fe5db429007850911f19517565d49b0518e8196) > - src/test/python/apache/aurora/client/cli/test_kill.py > (6040ed45eb1d2d8ed2b0a09718e13ad8dbb0e6aa) > - src/test/python/apache/aurora/client/cli/test_restart.py > (7547bd79f059c9d535db926d882abc0b46f9d046) > - src/test/python/apache/aurora/client/cli/util.py > (db65eee3aeba651f3dedc76233f589a7b22020e8) > > View Diff <https://reviews.apache.org/r/19431/diff/> >