Activity log for bug #1367283

Date Who What changed Old value New value Message
2014-09-09 13:06:42 Rakesh H S bug added bug
2014-09-09 13:06:56 Rakesh H S heat: assignee Rakesh H S (rh-s)
2014-09-09 13:20:24 Rakesh H S description When an user intentionally provides an keyboard interrupt, heat-client should provide an crisp message instead of throwing an entire traceback on to the terminal. As of today nova-client handles keyboard interrupts and provides the following crisp message: ----------------------------------- stack@ubuntu:/home/x/devstack$ nova list ^CShutting down novaclient ----------------------------------- whereas heat-client throws the entire traceback on to the terminal and fills up the terminal space: ------------------------------------- stack@ubuntu:/home/x/devstack$ heat stack-list ^CTraceback (most recent call last): File "/usr/local/bin/heat", line 10, in <module> sys.exit(main()) File "/opt/stack/python-heatclient/heatclient/shell.py", line 443, in main HeatShell().main(args) File "/opt/stack/python-heatclient/heatclient/shell.py", line 399, in main args.func(client, args) File "/opt/stack/python-heatclient/heatclient/v1/shell.py", line 446, in do_stack_list utils.print_list(stacks, fields, sortby_index=3) File "/opt/stack/python-heatclient/heatclient/openstack/common/cliutils.py", line 154, in print_list for o in objs: File "/opt/stack/python-heatclient/heatclient/v1/stacks.py", line 85, in paginate stacks = self._list(url, 'stacks') File "/opt/stack/python-heatclient/heatclient/openstack/common/apiclient/base.py", line 115, in _list body = self.client.get(url).json() File "/opt/stack/python-heatclient/heatclient/common/http.py", line 270, in get return self.client_request("GET", url, **kwargs) File "/opt/stack/python-heatclient/heatclient/common/http.py", line 263, in client_request resp, body = self.json_request(method, url, **kwargs) File "/opt/stack/python-heatclient/heatclient/common/http.py", line 244, in json_request resp = self._http_request(url, method, **kwargs) File "/opt/stack/python-heatclient/heatclient/common/http.py", line 183, in _http_request **kwargs) File "/usr/lib/python2.7/dist-packages/requests/api.py", line 44, in request return session.request(method=method, url=url, **kwargs) File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 383, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 486, in send r = adapter.send(request, **kwargs) File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 330, in send timeout=timeout File "/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 542, in urlopen body=body, headers=headers) File "/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 394, in _make_request httplib_response = conn.getresponse(buffering=True) File "/usr/lib/python2.7/httplib.py", line 1045, in getresponse response.begin() File "/usr/lib/python2.7/httplib.py", line 409, in begin version, status, reason = self._read_status() File "/usr/lib/python2.7/httplib.py", line 365, in _read_status line = self.fp.readline(_MAXLINE + 1) File "/usr/lib/python2.7/socket.py", line 476, in readline data = self._sock.recv(self._rbufsize) KeyboardInterrupt -------------------------------------------- When an user intentionally provides an keyboard interrupt, heat-client should provide an crisp message instead of throwing an entire traceback on to the terminal. As of today nova-client handles keyboard interrupts and provides the following crisp message: ----------------------------------- stack@ubuntu:/home/x/devstack$ nova list ^CShutting down novaclient ----------------------------------- also: ---------------------------------- stack@ubuntu:/home/rakesh/devstack$ glance image-list ^C... terminating glance client stack@ubuntu:/home/rakesh/devstack$ cinder list ^C... terminating cinder client ----------------------------------- whereas heat-client throws the entire traceback on to the terminal and fills up the terminal space: ------------------------------------- stack@ubuntu:/home/x/devstack$ heat stack-list ^CTraceback (most recent call last):   File "/usr/local/bin/heat", line 10, in <module>     sys.exit(main())   File "/opt/stack/python-heatclient/heatclient/shell.py", line 443, in main     HeatShell().main(args)   File "/opt/stack/python-heatclient/heatclient/shell.py", line 399, in main     args.func(client, args)   File "/opt/stack/python-heatclient/heatclient/v1/shell.py", line 446, in do_stack_list     utils.print_list(stacks, fields, sortby_index=3)   File "/opt/stack/python-heatclient/heatclient/openstack/common/cliutils.py", line 154, in print_list     for o in objs:   File "/opt/stack/python-heatclient/heatclient/v1/stacks.py", line 85, in paginate     stacks = self._list(url, 'stacks')   File "/opt/stack/python-heatclient/heatclient/openstack/common/apiclient/base.py", line 115, in _list     body = self.client.get(url).json()   File "/opt/stack/python-heatclient/heatclient/common/http.py", line 270, in get     return self.client_request("GET", url, **kwargs)   File "/opt/stack/python-heatclient/heatclient/common/http.py", line 263, in client_request     resp, body = self.json_request(method, url, **kwargs)   File "/opt/stack/python-heatclient/heatclient/common/http.py", line 244, in json_request     resp = self._http_request(url, method, **kwargs)   File "/opt/stack/python-heatclient/heatclient/common/http.py", line 183, in _http_request     **kwargs)   File "/usr/lib/python2.7/dist-packages/requests/api.py", line 44, in request     return session.request(method=method, url=url, **kwargs)   File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 383, in request     resp = self.send(prep, **send_kwargs)   File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 486, in send     r = adapter.send(request, **kwargs)   File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 330, in send     timeout=timeout   File "/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 542, in urlopen     body=body, headers=headers)   File "/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 394, in _make_request     httplib_response = conn.getresponse(buffering=True)   File "/usr/lib/python2.7/httplib.py", line 1045, in getresponse     response.begin()   File "/usr/lib/python2.7/httplib.py", line 409, in begin     version, status, reason = self._read_status()   File "/usr/lib/python2.7/httplib.py", line 365, in _read_status     line = self.fp.readline(_MAXLINE + 1)   File "/usr/lib/python2.7/socket.py", line 476, in readline     data = self._sock.recv(self._rbufsize) KeyboardInterrupt --------------------------------------------
2014-09-10 02:30:26 Steve Baker heat: status New Triaged
2014-09-10 02:30:28 Steve Baker heat: importance Undecided Medium
2014-09-10 10:12:47 Steven Hardy bug task added python-heatclient
2014-09-10 10:12:54 Steven Hardy python-heatclient: status New Triaged
2014-09-10 10:12:58 Steven Hardy python-heatclient: importance Undecided Medium
2014-09-10 10:13:32 Steven Hardy python-heatclient: assignee Rakesh H S (rh-s)
2014-09-10 10:13:44 Steven Hardy heat: status Triaged Invalid
2014-09-10 10:13:51 Steven Hardy heat: importance Medium Undecided
2014-09-10 10:13:54 Steven Hardy heat: assignee Rakesh H S (rh-s)
2014-09-10 13:33:11 Rakesh H S bug task added python-ironicclient
2014-09-10 13:33:21 Rakesh H S python-ironicclient: assignee Rakesh H S (rh-s)
2014-09-10 13:49:56 Rakesh H S summary heat-client should handle keyboard interrupt clients should handle keyboard interrupt
2014-09-10 14:40:42 OpenStack Infra python-heatclient: status Triaged In Progress
2014-09-11 11:45:36 Dmitry Tantsur python-ironicclient: status New Triaged
2014-09-11 11:45:41 Dmitry Tantsur python-ironicclient: importance Undecided Low
2014-09-11 11:45:54 Dmitry Tantsur tags low-hanging-fruit
2014-09-11 12:21:36 OpenStack Infra python-ironicclient: status Triaged In Progress
2014-09-11 16:46:53 OpenStack Infra python-ironicclient: status In Progress Fix Committed
2014-09-12 09:42:38 Rakesh H S bug task added python-keystoneclient
2014-09-12 09:42:50 Rakesh H S python-keystoneclient: assignee Rakesh H S (rh-s)
2014-09-12 09:43:18 Rakesh H S bug task added python-neutronclient
2014-09-12 09:43:33 Rakesh H S python-neutronclient: assignee Rakesh H S (rh-s)
2014-09-12 10:23:42 OpenStack Infra python-keystoneclient: status New In Progress
2014-09-13 02:29:39 OpenStack Infra python-heatclient: status In Progress Fix Committed
2014-09-18 05:30:07 Steve Baker python-heatclient: milestone v0.2.11
2014-09-23 05:43:28 OpenStack Infra python-neutronclient: status New In Progress
2014-09-25 22:09:01 Steve Baker python-heatclient: status Fix Committed Fix Released
2014-09-26 23:27:43 Morgan Fainberg python-keystoneclient: importance Undecided Low
2014-10-13 20:46:59 Kyle Mestery python-neutronclient: importance Undecided Low
2014-10-13 20:47:04 Kyle Mestery python-neutronclient: milestone 2.3.9
2014-10-13 21:58:15 OpenStack Infra python-neutronclient: status In Progress Fix Committed
2014-12-08 18:34:18 Kyle Mestery python-neutronclient: milestone 2.3.9 2.3.10
2015-02-02 01:06:12 OpenStack Infra python-keystoneclient: status In Progress Fix Committed
2015-02-09 18:02:08 Morgan Fainberg python-keystoneclient: milestone 1.1.0
2015-02-09 18:08:24 Morgan Fainberg python-keystoneclient: status Fix Committed Fix Released
2015-03-03 16:53:29 Akihiro Motoki python-neutronclient: status Fix Committed Fix Released
2015-06-01 14:19:31 Doug Hellmann python-ironicclient: status Fix Committed Fix Released
2015-06-01 14:19:31 Doug Hellmann python-ironicclient: milestone 0.7.0