> On April 21, 2014, 5:45 p.m., Mark Chu-Carroll wrote: > > src/main/python/apache/aurora/client/cli/__init__.py, line 337 > > <https://reviews.apache.org/r/20521/diff/1/?file=563067#file563067line337> > > > > The reason for this is because these errors are not intended to be > > handled. They're fatal, and all that they're supposed to do is stop, and > > print out an informative error message about what went wrong. > > > > Essentially, they're just a non-local return statement, that returns an > > exit code and an error message. > > > > The only thing that using a Plugin.Error would change is that the > > exception handling code in the except clause would need to catch two kinds > > of exceptions instead of just one. It wouldn't add anything. > >
Right, it would not add anything now but would not lock us out from a possibility of a customized error handling once this contract is out and multiple plugins are written. Things like client logging to collect failure stats/reasons or plugin code troubleshooting would be easier with a special error type. - Maxim ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/20521/#review40894 ----------------------------------------------------------- On April 21, 2014, 4:53 p.m., Mark Chu-Carroll wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/20521/ > ----------------------------------------------------------- > > (Updated April 21, 2014, 4:53 p.m.) > > > Review request for Aurora, David Robinson and Maxim Khutornenko. > > > Bugs: aurora-332 > https://issues.apache.org/jira/browse/aurora-332 > > > Repository: aurora > > > Description > ------- > > Extend the client configuration plugin architecture. > > Plugins can now run code at three key points: > - Before arguments are processed and execution is dispatched to a command. > - After argument processing and dispatch, but before execution. > - After execution. > > This allows plugins to perform initialization required for argument > processing, > and for post-execution cleanups and synchronizations. > > > Diffs > ----- > > src/main/python/apache/aurora/client/cli/__init__.py > f1165a05c7c66d7a06f4733eb65ae4a7de6fad76 > src/test/python/apache/aurora/client/cli/test_plugins.py > 7cacb02ffda05fdf87a9334ed1de2092efb39f8b > > Diff: https://reviews.apache.org/r/20521/diff/ > > > Testing > ------- > > [sun-wukong incubator-aurora (plugin_with_cleanup)]$ ./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.76 seconds > ============================================ > ============================================== test session starts > =============================================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 36 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_open.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 ... > > =========================================== 36 passed in 2.02 seconds > ============================================ > ============================================== test session starts > =============================================== > platform darwin -- Python 2.6.8 -- py-1.4.20 -- pytest-2.5.2 > collected 1 items > > src/test/python/apache/aurora/client/cli/test_logging.py . > > ============================================ 1 passed in 0.68 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.63 seconds > ============================================ > ============================================== 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_quota.py .... > > ============================================ 4 passed in 0.61 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.59 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.59 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.logging > ..... 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 (plugin_with_cleanup)]$ > > > Thanks, > > Mark Chu-Carroll > >