)]}'
{"shade/openstackcloud.py":[{"author":{"_account_id":1106,"name":"Ricardo Carrillo Cruz","email":"ricardo.carrillo.cruz@gmail.com","username":"rcc"},"change_message_id":"ab1ca498b3273b73ad2c9f7dd98250f137efd0d3","unresolved":false,"context_lines":[{"line_number":1673,"context_line":"        def search_one_stack(name_or_id\u003dNone, filters\u003dNone):"},{"line_number":1674,"context_line":"            with _utils.shade_exceptions(\"Error fetching stack\"):"},{"line_number":1675,"context_line":"                stacks \u003d [self.manager.submitTask("},{"line_number":1676,"context_line":"                    _tasks.StackGet(stack_id\u003dname_or_id))]"},{"line_number":1677,"context_line":"            nstacks \u003d _utils.normalize_stacks(stacks)"},{"line_number":1678,"context_line":"            return _utils._filter_list(nstacks, name_or_id, filters)"},{"line_number":1679,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3afc51ec_132edba4","line":1676,"updated":"2016-03-15 09:47:37.000000000","message":"I don\u0027t see how this can work if you want to search by name.\nYou call the StackGet with id, normalize it, and then filter the list.\nBut you the StackGet will always give you one instance?","commit_id":"a14cf396413934be7ef8cf17740a0bcb14adde6b"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"fb38fb5f39e84ad99bdf49674935354cb4f6e047","unresolved":false,"context_lines":[{"line_number":1673,"context_line":"        def search_one_stack(name_or_id\u003dNone, filters\u003dNone):"},{"line_number":1674,"context_line":"            with _utils.shade_exceptions(\"Error fetching stack\"):"},{"line_number":1675,"context_line":"                stacks \u003d [self.manager.submitTask("},{"line_number":1676,"context_line":"                    _tasks.StackGet(stack_id\u003dname_or_id))]"},{"line_number":1677,"context_line":"            nstacks \u003d _utils.normalize_stacks(stacks)"},{"line_number":1678,"context_line":"            return _utils._filter_list(nstacks, name_or_id, filters)"},{"line_number":1679,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_345fb442","line":1676,"in_reply_to":"1af94dfe_029d5065","updated":"2016-03-16 16:40:10.000000000","message":"I think this is worthy of a comment here.","commit_id":"a14cf396413934be7ef8cf17740a0bcb14adde6b"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"02fbae534f3043b581460c99c26a60f698664f2a","unresolved":false,"context_lines":[{"line_number":1673,"context_line":"        def search_one_stack(name_or_id\u003dNone, filters\u003dNone):"},{"line_number":1674,"context_line":"            with _utils.shade_exceptions(\"Error fetching stack\"):"},{"line_number":1675,"context_line":"                stacks \u003d [self.manager.submitTask("},{"line_number":1676,"context_line":"                    _tasks.StackGet(stack_id\u003dname_or_id))]"},{"line_number":1677,"context_line":"            nstacks \u003d _utils.normalize_stacks(stacks)"},{"line_number":1678,"context_line":"            return _utils._filter_list(nstacks, name_or_id, filters)"},{"line_number":1679,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_6fe150d0","line":1676,"in_reply_to":"1af94dfe_345fb442","updated":"2016-03-20 20:44:46.000000000","message":"Done","commit_id":"a14cf396413934be7ef8cf17740a0bcb14adde6b"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"d35372104cbf1f851667e70003be35dea2fe9fce","unresolved":false,"context_lines":[{"line_number":1673,"context_line":"        def search_one_stack(name_or_id\u003dNone, filters\u003dNone):"},{"line_number":1674,"context_line":"            with _utils.shade_exceptions(\"Error fetching stack\"):"},{"line_number":1675,"context_line":"                stacks \u003d [self.manager.submitTask("},{"line_number":1676,"context_line":"                    _tasks.StackGet(stack_id\u003dname_or_id))]"},{"line_number":1677,"context_line":"            nstacks \u003d _utils.normalize_stacks(stacks)"},{"line_number":1678,"context_line":"            return _utils._filter_list(nstacks, name_or_id, filters)"},{"line_number":1679,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_029d5065","line":1676,"in_reply_to":"3afc51ec_132edba4","updated":"2016-03-15 19:59:26.000000000","message":"Unlike most OpenStack REST APIs, heat stack names are mandatory and enforced to be unique per tenant, so they can always be used instead of an ID. I suspect shade\u0027s pattern of listing all and filtering is because the APIs don\u0027t enforce unique names.","commit_id":"a14cf396413934be7ef8cf17740a0bcb14adde6b"}]}
