)]}'
{"nova/cmd/manage.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"d23ee0adcb60db69411d2fb619c183d9a3574d12","unresolved":false,"context_lines":[{"line_number":1813,"context_line":"                         \u0027matching consumer project/user.\u0027) %"},{"line_number":1814,"context_line":"                       instance.uuid)"},{"line_number":1815,"context_line":"                return"},{"line_number":1816,"context_line":"            # We have an instance with allocations but not the correct"},{"line_number":1817,"context_line":"            # project_id/user_id, so we want to update the allocations"},{"line_number":1818,"context_line":"            # and re-put them. We don\u0027t use put_allocations here"},{"line_number":1819,"context_line":"            # because we don\u0027t want to mess up shared or nested"},{"line_number":1820,"context_line":"            # provider allocations."},{"line_number":1821,"context_line":"            allocations[\u0027project_id\u0027] \u003d instance.project_id"},{"line_number":1822,"context_line":"            allocations[\u0027user_id\u0027] \u003d instance.user_id"},{"line_number":1823,"context_line":"            # We use 1.28 for PUT /allocations/{consumer_id} to mirror"},{"line_number":1824,"context_line":"            # the body structure from get_allocations_for_consumer."},{"line_number":1825,"context_line":"            resp \u003d placement.put(\u0027/allocations/%s\u0027 % instance.uuid,"},{"line_number":1826,"context_line":"                                 allocations, version\u003d\u00271.28\u0027)"},{"line_number":1827,"context_line":"            if resp:"},{"line_number":1828,"context_line":"                output(_(\u0027Successfully updated allocations for \u0027"},{"line_number":1829,"context_line":"                         \u0027instance %s.\u0027) % instance.uuid)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_cb90ccf6","line":1826,"range":{"start_line":1816,"start_character":0,"end_line":1826,"end_character":61},"updated":"2018-07-13 15:47:52.000000000","message":"So now can we clean this up as noted in [1]?\n\n[1] https://review.openstack.org/#/c/574488/8/nova/cmd/manage.py@1851","commit_id":"45d1bdbbd987d50b8247551aaab8d8bdd76ad4c8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e12a390d2920d49ea5f03bbd133fdc5b86776ee","unresolved":false,"context_lines":[{"line_number":1813,"context_line":"                         \u0027matching consumer project/user.\u0027) %"},{"line_number":1814,"context_line":"                       instance.uuid)"},{"line_number":1815,"context_line":"                return"},{"line_number":1816,"context_line":"            # We have an instance with allocations but not the correct"},{"line_number":1817,"context_line":"            # project_id/user_id, so we want to update the allocations"},{"line_number":1818,"context_line":"            # and re-put them. We don\u0027t use put_allocations here"},{"line_number":1819,"context_line":"            # because we don\u0027t want to mess up shared or nested"},{"line_number":1820,"context_line":"            # provider allocations."},{"line_number":1821,"context_line":"            allocations[\u0027project_id\u0027] \u003d instance.project_id"},{"line_number":1822,"context_line":"            allocations[\u0027user_id\u0027] \u003d instance.user_id"},{"line_number":1823,"context_line":"            # We use 1.28 for PUT /allocations/{consumer_id} to mirror"},{"line_number":1824,"context_line":"            # the body structure from get_allocations_for_consumer."},{"line_number":1825,"context_line":"            resp \u003d placement.put(\u0027/allocations/%s\u0027 % instance.uuid,"},{"line_number":1826,"context_line":"                                 allocations, version\u003d\u00271.28\u0027)"},{"line_number":1827,"context_line":"            if resp:"},{"line_number":1828,"context_line":"                output(_(\u0027Successfully updated allocations for \u0027"},{"line_number":1829,"context_line":"                         \u0027instance %s.\u0027) % instance.uuid)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_cdc5d191","line":1826,"range":{"start_line":1816,"start_character":0,"end_line":1826,"end_character":61},"in_reply_to":"5f7c97a3_cb90ccf6","updated":"2018-07-19 01:05:43.000000000","message":"I\u0027m not sure what specifically you think needs to be cleaned up here. As noted before when asked about using put() directly, it\u0027s to avoid overwriting allocations for this consumer against multiple providers, like shared disk providers or a tree, since we just want to update the project_id and user_id here for *existing* allocations, not put *new* allocations for this instance. The latter is using put_allocations for new allocations.","commit_id":"45d1bdbbd987d50b8247551aaab8d8bdd76ad4c8"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"19301be25f08ccf358513c5cc35cf11b910f5645","unresolved":false,"context_lines":[{"line_number":1813,"context_line":"                         \u0027matching consumer project/user.\u0027) %"},{"line_number":1814,"context_line":"                       instance.uuid)"},{"line_number":1815,"context_line":"                return"},{"line_number":1816,"context_line":"            # We have an instance with allocations but not the correct"},{"line_number":1817,"context_line":"            # project_id/user_id, so we want to update the allocations"},{"line_number":1818,"context_line":"            # and re-put them. We don\u0027t use put_allocations here"},{"line_number":1819,"context_line":"            # because we don\u0027t want to mess up shared or nested"},{"line_number":1820,"context_line":"            # provider allocations."},{"line_number":1821,"context_line":"            allocations[\u0027project_id\u0027] \u003d instance.project_id"},{"line_number":1822,"context_line":"            allocations[\u0027user_id\u0027] \u003d instance.user_id"},{"line_number":1823,"context_line":"            # We use 1.28 for PUT /allocations/{consumer_id} to mirror"},{"line_number":1824,"context_line":"            # the body structure from get_allocations_for_consumer."},{"line_number":1825,"context_line":"            resp \u003d placement.put(\u0027/allocations/%s\u0027 % instance.uuid,"},{"line_number":1826,"context_line":"                                 allocations, version\u003d\u00271.28\u0027)"},{"line_number":1827,"context_line":"            if resp:"},{"line_number":1828,"context_line":"                output(_(\u0027Successfully updated allocations for \u0027"},{"line_number":1829,"context_line":"                         \u0027instance %s.\u0027) % instance.uuid)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_fb0dda3f","line":1826,"range":{"start_line":1816,"start_character":0,"end_line":1826,"end_character":61},"in_reply_to":"5f7c97a3_cdc5d191","updated":"2018-07-19 14:27:25.000000000","message":"Yeah, definitely don\u0027t want to use put_allocations, at least not in its current form.\n\nI think what we were looking for is extracting L1825-1833 into a helper whose only job is to PUT allocations, to follow the pattern we\u0027re using elsewhere. At that point put_allocations could (die in a fire or) be refactored to invoke said helper.\n\nBut that can be a fup.","commit_id":"45d1bdbbd987d50b8247551aaab8d8bdd76ad4c8"}],"nova/scheduler/client/report.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"e3a768ea1a783361ff5da213988bff3e674b9152","unresolved":false,"context_lines":[{"line_number":1463,"context_line":""},{"line_number":1464,"context_line":"    @safe_connect"},{"line_number":1465,"context_line":"    def get_allocations_for_consumer(self, context, consumer,"},{"line_number":1466,"context_line":"                                     include_project_user\u003dFalse,"},{"line_number":1467,"context_line":"                                     include_generation\u003dFalse):"},{"line_number":1468,"context_line":"        \"\"\"Makes a GET /allocations/{consumer} call to Placement."},{"line_number":1469,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_1b69b58a","line":1466,"range":{"start_line":1466,"start_character":37,"end_line":1466,"end_character":63},"updated":"2018-06-25 20:36:30.000000000","message":"Callers aren\u0027t using this anymore, right?  So can we just squash this and the bottom patch together?","commit_id":"d4a855c73a31f1e48513783bf242e56a0c1e7ad1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2aa2f9025ced50286e03f695ab5b4999036ac77","unresolved":false,"context_lines":[{"line_number":1463,"context_line":""},{"line_number":1464,"context_line":"    @safe_connect"},{"line_number":1465,"context_line":"    def get_allocations_for_consumer(self, context, consumer,"},{"line_number":1466,"context_line":"                                     include_project_user\u003dFalse,"},{"line_number":1467,"context_line":"                                     include_generation\u003dFalse):"},{"line_number":1468,"context_line":"        \"\"\"Makes a GET /allocations/{consumer} call to Placement."},{"line_number":1469,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_816eb493","line":1466,"range":{"start_line":1466,"start_character":37,"end_line":1466,"end_character":63},"in_reply_to":"5f7c97a3_1b69b58a","updated":"2018-06-25 22:01:36.000000000","message":"The bottom patch is separate, as noted in the commit message, for backportability because I know people (CERN, Internap) are backporting the heal_allocations CLI. I intentionally left the consumer generation bit, which is Rocky-only, separate since we can\u0027t backport it. I can, however, drop include_project_user since nothing is using it.","commit_id":"d4a855c73a31f1e48513783bf242e56a0c1e7ad1"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d93dbf730cb642316c1f8ef47027d6c0f83987","unresolved":false,"context_lines":[{"line_number":1463,"context_line":""},{"line_number":1464,"context_line":"    @safe_connect"},{"line_number":1465,"context_line":"    def get_allocations_for_consumer(self, context, consumer,"},{"line_number":1466,"context_line":"                                     include_project_user\u003dFalse,"},{"line_number":1467,"context_line":"                                     include_generation\u003dFalse):"},{"line_number":1468,"context_line":"        \"\"\"Makes a GET /allocations/{consumer} call to Placement."},{"line_number":1469,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_a1d89051","line":1466,"range":{"start_line":1466,"start_character":37,"end_line":1466,"end_character":63},"in_reply_to":"5f7c97a3_816eb493","updated":"2018-06-25 22:07:15.000000000","message":"\u003e The bottom patch is separate, as noted in the commit message,\n\nFigured that was probably it.\n\n \u003e I can, however, drop include_project_user since\n \u003e nothing is using it.\n\nThat would be neat, thanks, avoid CKS (that\u0027s Creeping Kwarg Syndrome, obviously).","commit_id":"d4a855c73a31f1e48513783bf242e56a0c1e7ad1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7f34982b3fb2221e7f773b9e7c3a67132703849c","unresolved":false,"context_lines":[{"line_number":1463,"context_line":""},{"line_number":1464,"context_line":"    @safe_connect"},{"line_number":1465,"context_line":"    def get_allocations_for_consumer(self, context, consumer,"},{"line_number":1466,"context_line":"                                     include_project_user\u003dFalse,"},{"line_number":1467,"context_line":"                                     include_generation\u003dFalse):"},{"line_number":1468,"context_line":"        \"\"\"Makes a GET /allocations/{consumer} call to Placement."},{"line_number":1469,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_e12df18f","line":1466,"range":{"start_line":1466,"start_character":37,"end_line":1466,"end_character":63},"in_reply_to":"5f7c97a3_a1d89051","updated":"2018-06-27 20:06:26.000000000","message":"Done","commit_id":"d4a855c73a31f1e48513783bf242e56a0c1e7ad1"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"003ede990b81547cd1f5d5fbd012047825c55923","unresolved":false,"context_lines":[{"line_number":1483,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer"},{"line_number":1484,"context_line":"        version \u003d None"},{"line_number":1485,"context_line":"        if include_generation:"},{"line_number":1486,"context_line":"            version \u003d \u00271.28\u0027"},{"line_number":1487,"context_line":"        elif include_project_user:"},{"line_number":1488,"context_line":"            version \u003d \u00271.12\u0027"},{"line_number":1489,"context_line":"        resp \u003d self.get("}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_9eadb385","line":1486,"range":{"start_line":1486,"start_character":22,"end_line":1486,"end_character":28},"updated":"2018-06-25 21:37:13.000000000","message":"We should add a functional test for this code path in nova.tests.functional.test_report_client.SchedulerReportClientTests - which will then force you to do the stuff to bump the minimum.","commit_id":"d4a855c73a31f1e48513783bf242e56a0c1e7ad1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7f34982b3fb2221e7f773b9e7c3a67132703849c","unresolved":false,"context_lines":[{"line_number":1483,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer"},{"line_number":1484,"context_line":"        version \u003d None"},{"line_number":1485,"context_line":"        if include_generation:"},{"line_number":1486,"context_line":"            version \u003d \u00271.28\u0027"},{"line_number":1487,"context_line":"        elif include_project_user:"},{"line_number":1488,"context_line":"            version \u003d \u00271.12\u0027"},{"line_number":1489,"context_line":"        resp \u003d self.get("}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_a12e1940","line":1486,"range":{"start_line":1486,"start_character":22,"end_line":1486,"end_character":28},"in_reply_to":"5f7c97a3_811c7413","updated":"2018-06-27 20:06:26.000000000","message":"Done","commit_id":"d4a855c73a31f1e48513783bf242e56a0c1e7ad1"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"58d93dbf730cb642316c1f8ef47027d6c0f83987","unresolved":false,"context_lines":[{"line_number":1483,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer"},{"line_number":1484,"context_line":"        version \u003d None"},{"line_number":1485,"context_line":"        if include_generation:"},{"line_number":1486,"context_line":"            version \u003d \u00271.28\u0027"},{"line_number":1487,"context_line":"        elif include_project_user:"},{"line_number":1488,"context_line":"            version \u003d \u00271.12\u0027"},{"line_number":1489,"context_line":"        resp \u003d self.get("}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_811c7413","line":1486,"range":{"start_line":1486,"start_character":22,"end_line":1486,"end_character":28},"in_reply_to":"5f7c97a3_81455417","updated":"2018-06-25 22:07:15.000000000","message":"Well, what happens when you run the CLI and your placement is too old?  You\u0027ll get a failure that\u0027s not as comprehensible as the one from status check.  So either we need to have a separate check - with a different version - here (ew) or we can fold it all together and be \"too careful\".  Which would also future-proof against some other code path deciding to use this method.","commit_id":"d4a855c73a31f1e48513783bf242e56a0c1e7ad1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2aa2f9025ced50286e03f695ab5b4999036ac77","unresolved":false,"context_lines":[{"line_number":1483,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer"},{"line_number":1484,"context_line":"        version \u003d None"},{"line_number":1485,"context_line":"        if include_generation:"},{"line_number":1486,"context_line":"            version \u003d \u00271.28\u0027"},{"line_number":1487,"context_line":"        elif include_project_user:"},{"line_number":1488,"context_line":"            version \u003d \u00271.12\u0027"},{"line_number":1489,"context_line":"        resp \u003d self.get("}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_81455417","line":1486,"range":{"start_line":1486,"start_character":22,"end_line":1486,"end_character":28},"in_reply_to":"5f7c97a3_9eadb385","updated":"2018-06-25 22:01:36.000000000","message":"I thought about bumping the minimum but since it\u0027s not part of the server, just a CLI, I didn\u0027t think it was necessary. I can though, it\u0027s not that big a deal.","commit_id":"d4a855c73a31f1e48513783bf242e56a0c1e7ad1"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c33cb2d1139158b1dc8e0584e6d9531da321dfaf","unresolved":false,"context_lines":[{"line_number":1484,"context_line":"        if not resp:"},{"line_number":1485,"context_line":"            return {}"},{"line_number":1486,"context_line":"        else:"},{"line_number":1487,"context_line":"            if include_generation:"},{"line_number":1488,"context_line":"                return resp.json()"},{"line_number":1489,"context_line":"            return resp.json()[\u0027allocations\u0027]"},{"line_number":1490,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_c38c7582","line":1487,"range":{"start_line":1487,"start_character":0,"end_line":1487,"end_character":34},"updated":"2018-06-28 00:53:18.000000000","message":"Since you have to respin anyway, would you mind adding a \"TODO(efried): refactor all callers to accept the whole response so we can get rid of this condition\" ?","commit_id":"f298c922620fdd653afba0eb84b7c96d7dfde6e8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"aae5e40ba433ea55869407cdaaecce1fc59b8b2a","unresolved":false,"context_lines":[{"line_number":1484,"context_line":"        if not resp:"},{"line_number":1485,"context_line":"            return {}"},{"line_number":1486,"context_line":"        else:"},{"line_number":1487,"context_line":"            if include_generation:"},{"line_number":1488,"context_line":"                return resp.json()"},{"line_number":1489,"context_line":"            return resp.json()[\u0027allocations\u0027]"},{"line_number":1490,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_0e27db20","line":1487,"range":{"start_line":1487,"start_character":0,"end_line":1487,"end_character":34},"in_reply_to":"5f7c97a3_c38c7582","updated":"2018-06-28 19:22:27.000000000","message":"sure","commit_id":"f298c922620fdd653afba0eb84b7c96d7dfde6e8"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"d23ee0adcb60db69411d2fb619c183d9a3574d12","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                            \"(.+) in use\")"},{"line_number":46,"context_line":"WARN_EVERY \u003d 10"},{"line_number":47,"context_line":"PLACEMENT_CLIENT_SEMAPHORE \u003d \u0027placement_client\u0027"},{"line_number":48,"context_line":"CONSUMER_GENERATION \u003d \u00271.28\u0027"},{"line_number":49,"context_line":"GRANULAR_AC_VERSION \u003d \u00271.25\u0027"},{"line_number":50,"context_line":"POST_RPS_RETURNS_PAYLOAD_API_VERSION \u003d \u00271.20\u0027"},{"line_number":51,"context_line":"NESTED_PROVIDER_API_VERSION \u003d \u00271.14\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_2bdb80ea","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":19},"updated":"2018-07-13 15:47:52.000000000","message":"Go with the flow and suffix this with _VERSION","commit_id":"45d1bdbbd987d50b8247551aaab8d8bdd76ad4c8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e12a390d2920d49ea5f03bbd133fdc5b86776ee","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                            \"(.+) in use\")"},{"line_number":46,"context_line":"WARN_EVERY \u003d 10"},{"line_number":47,"context_line":"PLACEMENT_CLIENT_SEMAPHORE \u003d \u0027placement_client\u0027"},{"line_number":48,"context_line":"CONSUMER_GENERATION \u003d \u00271.28\u0027"},{"line_number":49,"context_line":"GRANULAR_AC_VERSION \u003d \u00271.25\u0027"},{"line_number":50,"context_line":"POST_RPS_RETURNS_PAYLOAD_API_VERSION \u003d \u00271.20\u0027"},{"line_number":51,"context_line":"NESTED_PROVIDER_API_VERSION \u003d \u00271.14\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_adbe55fd","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":19},"in_reply_to":"5f7c97a3_2bdb80ea","updated":"2018-07-19 01:05:43.000000000","message":"Done","commit_id":"45d1bdbbd987d50b8247551aaab8d8bdd76ad4c8"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"d23ee0adcb60db69411d2fb619c183d9a3574d12","unresolved":false,"context_lines":[{"line_number":50,"context_line":"POST_RPS_RETURNS_PAYLOAD_API_VERSION \u003d \u00271.20\u0027"},{"line_number":51,"context_line":"NESTED_PROVIDER_API_VERSION \u003d \u00271.14\u0027"},{"line_number":52,"context_line":"POST_ALLOCATIONS_API_VERSION \u003d \u00271.13\u0027"},{"line_number":53,"context_line":"ALLOCATION_PROJECT_USER \u003d \u00271.12\u0027"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def warn_limit(self, msg):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_cbebec78","line":53,"range":{"start_line":53,"start_character":0,"end_line":53,"end_character":23},"updated":"2018-07-13 15:47:52.000000000","message":"gah! should have done that here too :(","commit_id":"45d1bdbbd987d50b8247551aaab8d8bdd76ad4c8"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"d23ee0adcb60db69411d2fb619c183d9a3574d12","unresolved":false,"context_lines":[{"line_number":1476,"context_line":"            returns None if unable to connect to Placement (see safe_connect)"},{"line_number":1477,"context_line":"        \"\"\""},{"line_number":1478,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer"},{"line_number":1479,"context_line":"        version \u003d ALLOCATION_PROJECT_USER"},{"line_number":1480,"context_line":"        if include_generation:"},{"line_number":1481,"context_line":"            version \u003d CONSUMER_GENERATION"},{"line_number":1482,"context_line":"        resp \u003d self.get("},{"line_number":1483,"context_line":"            url, version\u003dversion, global_request_id\u003dcontext.global_id)"},{"line_number":1484,"context_line":"        if not resp:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_0be00497","line":1481,"range":{"start_line":1479,"start_character":0,"end_line":1481,"end_character":41},"updated":"2018-07-13 15:47:52.000000000","message":"Cool, so we can now always use CONSUMER_GENERATION here.","commit_id":"45d1bdbbd987d50b8247551aaab8d8bdd76ad4c8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e12a390d2920d49ea5f03bbd133fdc5b86776ee","unresolved":false,"context_lines":[{"line_number":1476,"context_line":"            returns None if unable to connect to Placement (see safe_connect)"},{"line_number":1477,"context_line":"        \"\"\""},{"line_number":1478,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer"},{"line_number":1479,"context_line":"        version \u003d ALLOCATION_PROJECT_USER"},{"line_number":1480,"context_line":"        if include_generation:"},{"line_number":1481,"context_line":"            version \u003d CONSUMER_GENERATION"},{"line_number":1482,"context_line":"        resp \u003d self.get("},{"line_number":1483,"context_line":"            url, version\u003dversion, global_request_id\u003dcontext.global_id)"},{"line_number":1484,"context_line":"        if not resp:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_0d3509a8","line":1481,"range":{"start_line":1479,"start_character":0,"end_line":1481,"end_character":41},"in_reply_to":"5f7c97a3_0be00497","updated":"2018-07-19 01:05:43.000000000","message":"Umm, no, because of the existing callers of this method which expect to only get the allocations value back, not the entire response body like heal_allocations wants.","commit_id":"45d1bdbbd987d50b8247551aaab8d8bdd76ad4c8"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"19301be25f08ccf358513c5cc35cf11b910f5645","unresolved":false,"context_lines":[{"line_number":1476,"context_line":"            returns None if unable to connect to Placement (see safe_connect)"},{"line_number":1477,"context_line":"        \"\"\""},{"line_number":1478,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer"},{"line_number":1479,"context_line":"        version \u003d ALLOCATION_PROJECT_USER"},{"line_number":1480,"context_line":"        if include_generation:"},{"line_number":1481,"context_line":"            version \u003d CONSUMER_GENERATION"},{"line_number":1482,"context_line":"        resp \u003d self.get("},{"line_number":1483,"context_line":"            url, version\u003dversion, global_request_id\u003dcontext.global_id)"},{"line_number":1484,"context_line":"        if not resp:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_3b2a7177","line":1481,"range":{"start_line":1479,"start_character":0,"end_line":1481,"end_character":41},"in_reply_to":"5f7c97a3_0d3509a8","updated":"2018-07-19 14:27:25.000000000","message":"Again, the condition on L1489-91 takes care of that aspect. The content of the \u0027allocations\u0027 member of the returned dict is the same at 1.12 and 1.28.","commit_id":"45d1bdbbd987d50b8247551aaab8d8bdd76ad4c8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"eeb780f89494804da2dde3fe64ccb61e27a9429a","unresolved":false,"context_lines":[{"line_number":1476,"context_line":"            returns None if unable to connect to Placement (see safe_connect)"},{"line_number":1477,"context_line":"        \"\"\""},{"line_number":1478,"context_line":"        url \u003d \u0027/allocations/%s\u0027 % consumer"},{"line_number":1479,"context_line":"        version \u003d ALLOCATION_PROJECT_USER"},{"line_number":1480,"context_line":"        if include_generation:"},{"line_number":1481,"context_line":"            version \u003d CONSUMER_GENERATION"},{"line_number":1482,"context_line":"        resp \u003d self.get("},{"line_number":1483,"context_line":"            url, version\u003dversion, global_request_id\u003dcontext.global_id)"},{"line_number":1484,"context_line":"        if not resp:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_8e0b3420","line":1481,"range":{"start_line":1479,"start_character":0,"end_line":1481,"end_character":41},"in_reply_to":"5f7c97a3_3b2a7177","updated":"2018-07-19 23:39:16.000000000","message":"Guh, yeah, sorry.","commit_id":"45d1bdbbd987d50b8247551aaab8d8bdd76ad4c8"}]}
