)]}'
{"nova/scheduler/client/report.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"d656f0d627177b7f0332ea7032011b0776eb1508","unresolved":false,"context_lines":[{"line_number":482,"context_line":"            return []"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        qpval \u003d \u0027,\u0027.join(agg_uuids)"},{"line_number":485,"context_line":"        # TODO(efried): Need a ?having_traits\u003d[...] on this API!"},{"line_number":486,"context_line":"        resp \u003d self.get(\"/resource_providers?member_of\u003din:\" + qpval,"},{"line_number":487,"context_line":"                        version\u003d\u00271.3\u0027, global_request_id\u003dcontext.global_id)"},{"line_number":488,"context_line":"        if resp.status_code \u003d\u003d 200:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_be76d5d7","line":485,"updated":"2018-02-19 15:22:35.000000000","message":"Maybe good if we can maintain the \u0027required\u0027 query param used on allocation_candidates? Would be nice if they had the same interface.","commit_id":"d2152f309439a9d9b054a481826242ca15f5c93e"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"e4035c57bac668617635dfe8420a4aa9458395f8","unresolved":false,"context_lines":[{"line_number":482,"context_line":"            return []"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        qpval \u003d \u0027,\u0027.join(agg_uuids)"},{"line_number":485,"context_line":"        # TODO(efried): Need a ?having_traits\u003d[...] on this API!"},{"line_number":486,"context_line":"        resp \u003d self.get(\"/resource_providers?member_of\u003din:\" + qpval,"},{"line_number":487,"context_line":"                        version\u003d\u00271.3\u0027, global_request_id\u003dcontext.global_id)"},{"line_number":488,"context_line":"        if resp.status_code \u003d\u003d 200:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_53921f4d","line":485,"in_reply_to":"3fa0c359_21b5c8cd","updated":"2018-02-19 22:05:56.000000000","message":"Re: consistency, I\u0027m okay with that in this case, but equivalency may fall apart if we implement e.g. \"preferred\".\n\nI guess we probably need a spec to add that to placement.","commit_id":"d2152f309439a9d9b054a481826242ca15f5c93e"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"303bebe65eb0b61bf9b665a27f9d39025fa66c2c","unresolved":false,"context_lines":[{"line_number":482,"context_line":"            return []"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        qpval \u003d \u0027,\u0027.join(agg_uuids)"},{"line_number":485,"context_line":"        # TODO(efried): Need a ?having_traits\u003d[...] on this API!"},{"line_number":486,"context_line":"        resp \u003d self.get(\"/resource_providers?member_of\u003din:\" + qpval,"},{"line_number":487,"context_line":"                        version\u003d\u00271.3\u0027, global_request_id\u003dcontext.global_id)"},{"line_number":488,"context_line":"        if resp.status_code \u003d\u003d 200:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_0fa75c0d","line":485,"in_reply_to":"3fa0c359_53921f4d","updated":"2018-02-21 17:06:48.000000000","message":"And that spec is here:\n\nhttps://review.openstack.org/#/c/546009/","commit_id":"d2152f309439a9d9b054a481826242ca15f5c93e"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"1d551b2ebdb245244c8a8e9c6dd0bc3544529629","unresolved":false,"context_lines":[{"line_number":482,"context_line":"            return []"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        qpval \u003d \u0027,\u0027.join(agg_uuids)"},{"line_number":485,"context_line":"        # TODO(efried): Need a ?having_traits\u003d[...] on this API!"},{"line_number":486,"context_line":"        resp \u003d self.get(\"/resource_providers?member_of\u003din:\" + qpval,"},{"line_number":487,"context_line":"                        version\u003d\u00271.3\u0027, global_request_id\u003dcontext.global_id)"},{"line_number":488,"context_line":"        if resp.status_code \u003d\u003d 200:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_21b5c8cd","line":485,"in_reply_to":"3fa0c359_be76d5d7","updated":"2018-02-19 15:54:16.000000000","message":"+1 on consistency\n\nIt does seem much better to add the \u0027required\u0027 trait filtering to the API, in which this becomes a much simpler fix, with a more efficient result. But since this is a bug fix, and that query param doesn\u0027t yet exist, this is ok for now.","commit_id":"d2152f309439a9d9b054a481826242ca15f5c93e"}],"nova/tests/functional/api/openstack/placement/test_report_client.py":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"1d551b2ebdb245244c8a8e9c6dd0bc3544529629","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            # associations"},{"line_number":134,"context_line":"            self.assertEqual("},{"line_number":135,"context_line":"                [], self.client._get_sharing_providers(self.context,"},{"line_number":136,"context_line":"                                                       [uuids.agg]))"},{"line_number":137,"context_line":"            self.assertFalse("},{"line_number":138,"context_line":"                self.client._provider_tree.have_aggregates_changed("},{"line_number":139,"context_line":"                    self.compute_uuid, []))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_01352c46","line":136,"updated":"2018-02-19 15:54:16.000000000","message":"I know you\u0027re following existing patterns, but I just want to be on the record as saying that I hate this indentation.","commit_id":"d2152f309439a9d9b054a481826242ca15f5c93e"}]}
