)]}'
{"nova/api/openstack/placement/objects/resource_provider.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"71704663c7e5ecf081804ea7300bede04c7119c0","unresolved":false,"context_lines":[{"line_number":661,"context_line":"    \u0027ProviderIds\u0027, \u0027id uuid parent_id parent_uuid root_id root_uuid\u0027)"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":""},{"line_number":664,"context_line":"def _provider_ids_from_rp_ids(context, rp_ids):"},{"line_number":665,"context_line":"    \"\"\"Given an iterable of internal resource provider IDs, returns a dict,"},{"line_number":666,"context_line":"    keyed by internal provider Id, of ProviderIds namedtuples describing those"},{"line_number":667,"context_line":"    providers."}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_22b640fc","line":664,"updated":"2018-08-08 15:51:46.000000000","message":"This seems good as is, but maybe we can pass the where query from this and from_rp_uuid into something generic and fetchall or one as required, or maybe generate everything but the where clause in one method\n\nI\u0027m not super uptight about DRY but I kept reading this thinking \"I\u0027ve seen this before\".","commit_id":"f0cc6e68a9b6e6ca052866ba6583a4914ab6cb4e"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"8b08947fedeeed02ff02a6dbf9ef64771f88957a","unresolved":false,"context_lines":[{"line_number":661,"context_line":"    \u0027ProviderIds\u0027, \u0027id uuid parent_id parent_uuid root_id root_uuid\u0027)"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":""},{"line_number":664,"context_line":"def _provider_ids_from_rp_ids(context, rp_ids):"},{"line_number":665,"context_line":"    \"\"\"Given an iterable of internal resource provider IDs, returns a dict,"},{"line_number":666,"context_line":"    keyed by internal provider Id, of ProviderIds namedtuples describing those"},{"line_number":667,"context_line":"    providers."}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_a277b03a","line":664,"in_reply_to":"3f79a3b5_22b640fc","updated":"2018-08-08 15:53:29.000000000","message":"totes agree. I can work on that in a follow up patch. note the diff in return value type, though... that\u0027s really the reason I didn\u0027t just add a new arg to the existing function. I can certainly DRY this up and pull the query construction pieces out into a helper though.\n\nok to do in followup?","commit_id":"f0cc6e68a9b6e6ca052866ba6583a4914ab6cb4e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"9ebe10dc46a95ef795e15f188359e121e2b3d240","unresolved":false,"context_lines":[{"line_number":661,"context_line":"    \u0027ProviderIds\u0027, \u0027id uuid parent_id parent_uuid root_id root_uuid\u0027)"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":""},{"line_number":664,"context_line":"def _provider_ids_from_rp_ids(context, rp_ids):"},{"line_number":665,"context_line":"    \"\"\"Given an iterable of internal resource provider IDs, returns a dict,"},{"line_number":666,"context_line":"    keyed by internal provider Id, of ProviderIds namedtuples describing those"},{"line_number":667,"context_line":"    providers."}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_22b2c0e7","line":664,"in_reply_to":"3f79a3b5_a277b03a","updated":"2018-08-08 15:54:34.000000000","message":"\u003e \n \u003e ok to do in followup?\n\nYeah, totally","commit_id":"f0cc6e68a9b6e6ca052866ba6583a4914ab6cb4e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7d55744484280d0f76a8e6d1a3d86e99015022b0","unresolved":false,"context_lines":[{"line_number":3280,"context_line":"            pids \u003d provider_ids[rp_id]"},{"line_number":3281,"context_line":"            summary \u003d ProviderSummary("},{"line_number":3282,"context_line":"                context,"},{"line_number":3283,"context_line":"                resource_provider\u003dResourceProvider("},{"line_number":3284,"context_line":"                    context, id\u003dpids.id, uuid\u003dpids.uuid,"},{"line_number":3285,"context_line":"                    root_provider_uuid\u003dpids.root_uuid,"},{"line_number":3286,"context_line":"                    parent_provider_uuid\u003dpids.parent_uuid),"},{"line_number":3287,"context_line":"                resources\u003d[],"},{"line_number":3288,"context_line":"            )"},{"line_number":3289,"context_line":"            summaries[rp_id] \u003d summary"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_38374ce6","line":3286,"range":{"start_line":3283,"start_character":16,"end_line":3286,"end_character":59},"updated":"2018-08-08 20:03:18.000000000","message":"So as efried noted, the one thing missing is generation, but we don\u0027t return generation for provider summaries right now anyway, so I guess that\u0027s OK.","commit_id":"f0cc6e68a9b6e6ca052866ba6583a4914ab6cb4e"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ae4cb253292eb9a916e90308e3a0b712dfd63f48","unresolved":false,"context_lines":[{"line_number":3280,"context_line":"            pids \u003d provider_ids[rp_id]"},{"line_number":3281,"context_line":"            summary \u003d ProviderSummary("},{"line_number":3282,"context_line":"                context,"},{"line_number":3283,"context_line":"                resource_provider\u003dResourceProvider("},{"line_number":3284,"context_line":"                    context, id\u003dpids.id, uuid\u003dpids.uuid,"},{"line_number":3285,"context_line":"                    root_provider_uuid\u003dpids.root_uuid,"},{"line_number":3286,"context_line":"                    parent_provider_uuid\u003dpids.parent_uuid),"},{"line_number":3287,"context_line":"                resources\u003d[],"},{"line_number":3288,"context_line":"            )"},{"line_number":3289,"context_line":"            summaries[rp_id] \u003d summary"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_989b00c8","line":3286,"range":{"start_line":3283,"start_character":16,"end_line":3286,"end_character":59},"in_reply_to":"3f79a3b5_38374ce6","updated":"2018-08-08 20:06:11.000000000","message":"Correct; but if we wanted to reuse the new method e.g. to replace [1] (as noted in the TODO therein), we would need to add it.\n\n[1] nova.api.openstack.placement.handlers.allocation._resource_providers_by_uuid","commit_id":"f0cc6e68a9b6e6ca052866ba6583a4914ab6cb4e"}]}
