)]}'
{"openstack_dashboard/api/nova.py":[{"author":{"_account_id":5733,"name":"Kieran Spear","email":"kispear@gmail.com","username":"kspear"},"change_message_id":"e8281198b1ead5fe99d5e7a9326dcd7430d869b3","unresolved":false,"context_lines":[{"line_number":643,"context_line":"    example values for the extension_name include AdminActions, ConsoleOutput,"},{"line_number":644,"context_line":"    etc."},{"line_number":645,"context_line":"    \"\"\""},{"line_number":646,"context_line":"    extensions \u003d list_extensions(request)"},{"line_number":647,"context_line":"    for extension in extensions:"},{"line_number":648,"context_line":"        if extension.name \u003d\u003d extension_name:"},{"line_number":649,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FeoA%3D","line":646,"updated":"2013-07-30 15:14:15.000000000","message":"What happens if this call fails?","commit_id":"db9c08e1721710d3b8f866a47ec1034bf2cf7d9d"},{"author":{"_account_id":5733,"name":"Kieran Spear","email":"kispear@gmail.com","username":"kspear"},"change_message_id":"1b278bc702f7a4e25e6371dd6c985b143e8e054a","unresolved":false,"context_lines":[{"line_number":643,"context_line":"    example values for the extension_name include AdminActions, ConsoleOutput,"},{"line_number":644,"context_line":"    etc."},{"line_number":645,"context_line":"    \"\"\""},{"line_number":646,"context_line":"    extensions \u003d list_extensions(request)"},{"line_number":647,"context_line":"    for extension in extensions:"},{"line_number":648,"context_line":"        if extension.name \u003d\u003d extension_name:"},{"line_number":649,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FXYg%3D","line":646,"in_reply_to":"AAAAQn%2F%2FZ5Y%3D","updated":"2013-08-01 11:05:00.000000000","message":"Ah, thanks, you\u0027re right. It probably shouldn\u0027t be doing that, but that\u0027s a topic for another bug...","commit_id":"db9c08e1721710d3b8f866a47ec1034bf2cf7d9d"},{"author":{"_account_id":6650,"name":"Eric Peterson","email":"ejpetey@gmail.com","username":"ericpeterson-l"},"change_message_id":"273c1e174a07ea8aababca20a1897d8497946e99","unresolved":false,"context_lines":[{"line_number":643,"context_line":"    example values for the extension_name include AdminActions, ConsoleOutput,"},{"line_number":644,"context_line":"    etc."},{"line_number":645,"context_line":"    \"\"\""},{"line_number":646,"context_line":"    extensions \u003d list_extensions(request)"},{"line_number":647,"context_line":"    for extension in extensions:"},{"line_number":648,"context_line":"        if extension.name \u003d\u003d extension_name:"},{"line_number":649,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FZ5Y%3D","line":646,"in_reply_to":"AAAAQn%2F%2Fcyw%3D","updated":"2013-07-31 17:34:21.000000000","message":"I think this is already being done, in the here....\n\nhttps://github.com/openstack/horizon/blob/master/horizon/tables/base.py#L986\n\n(as someone who has written some bugs in checking action permissions, I can recall that it does not cause the page to bomb out :))","commit_id":"db9c08e1721710d3b8f866a47ec1034bf2cf7d9d"},{"author":{"_account_id":5733,"name":"Kieran Spear","email":"kispear@gmail.com","username":"kspear"},"change_message_id":"96b0f75921e06d39461a38ee22e9a5ed64140ae9","unresolved":false,"context_lines":[{"line_number":643,"context_line":"    example values for the extension_name include AdminActions, ConsoleOutput,"},{"line_number":644,"context_line":"    etc."},{"line_number":645,"context_line":"    \"\"\""},{"line_number":646,"context_line":"    extensions \u003d list_extensions(request)"},{"line_number":647,"context_line":"    for extension in extensions:"},{"line_number":648,"context_line":"        if extension.name \u003d\u003d extension_name:"},{"line_number":649,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2Fcyw%3D","line":646,"in_reply_to":"AAAAQn%2F%2FdnE%3D","updated":"2013-07-31 01:03:09.000000000","message":"My main concern is the dashboard 500ing during any nova blips. Usually we wouldn\u0027t squelch exceptions in openstack_dashboard\u0027s API layer, but for now I\u0027d suggest to wrap this in a try/except block catching novaclient\u0027s ClientException (and logging), and returning True in that case.","commit_id":"db9c08e1721710d3b8f866a47ec1034bf2cf7d9d"},{"author":{"_account_id":6650,"name":"Eric Peterson","email":"ejpetey@gmail.com","username":"ericpeterson-l"},"change_message_id":"1691edb2c7086f27c14a9770d42249121a72e3c2","unresolved":false,"context_lines":[{"line_number":643,"context_line":"    example values for the extension_name include AdminActions, ConsoleOutput,"},{"line_number":644,"context_line":"    etc."},{"line_number":645,"context_line":"    \"\"\""},{"line_number":646,"context_line":"    extensions \u003d list_extensions(request)"},{"line_number":647,"context_line":"    for extension in extensions:"},{"line_number":648,"context_line":"        if extension.name \u003d\u003d extension_name:"},{"line_number":649,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FdnE%3D","line":646,"in_reply_to":"AAAAQn%2F%2FeoA%3D","updated":"2013-07-30 19:39:24.000000000","message":"as I understand it, the extensions call should always be present on a nova server..... what is returned by that call will vary depending upon what is enabled/setup.\n\nSo if it fails, it will be no different than many of the other nova calls that can fail for a number of reasons.  i.e. In general, this call should always work unless something is very wrong with the state of nova.\n\n(this is my understanding of the extensions api)\n\nhttp://docs.openstack.org/developer/nova/api_ext/\nhttp://docs.openstack.org/developer/nova/api/nova.api.openstack.extensions.html","commit_id":"db9c08e1721710d3b8f866a47ec1034bf2cf7d9d"}]}
