)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5904439b98f6609cea06f30b4ff3fa9aa11006a2","unresolved":false,"context_lines":[{"line_number":35,"context_line":"references that shared-with provider (since allocation wouldn\u0027t be"},{"line_number":36,"context_line":"against that resource provider)."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Fixes Bug #1705071"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Change-Id: I742fd093a8b33ff88244b2990021784e4b65f51f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f1a1f67_17564f07","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":9},"updated":"2017-07-18 18:19:28.000000000","message":"Closes-Bug: #1705071","commit_id":"42ae88e197a42bfa1a610b51ac8d555a55c27297"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5aa354e60c306f13586ff6fe46787e7b94044b6c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"the loop to create allocation requests, simply ignoring any resource provider"},{"line_number":33,"context_line":"that doesn\u0027t exist in the provider_summaries dict."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Fixes Bug #1705071"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Change-Id: I742fd093a8b33ff88244b2990021784e4b65f51f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1f1a1f67_feb96878","line":35,"updated":"2017-07-18 21:29:24.000000000","message":"Closes-Bug: #1705071","commit_id":"2a4e36555d66717d57eca00491cd7ce8d5d0acbb"}],"nova/objects/resource_provider.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5904439b98f6609cea06f30b4ff3fa9aa11006a2","unresolved":false,"context_lines":[{"line_number":893,"context_line":"    #"},{"line_number":894,"context_line":"    # GROUP BY rp.id"},{"line_number":895,"context_line":"    #"},{"line_number":896,"context_line":"    # To show an example, here is the exact SQL that will be generated in an"},{"line_number":897,"context_line":"    # environment that has a shared storage pool and compute nodes that have"},{"line_number":898,"context_line":"    # vCPU and RAM associated with the same aggregate as the provider"},{"line_number":899,"context_line":"    # representing the shared storage pool:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_d7fb37be","line":896,"updated":"2017-07-18 18:19:28.000000000","message":"Assuming this needs updating.","commit_id":"42ae88e197a42bfa1a610b51ac8d555a55c27297"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5904439b98f6609cea06f30b4ff3fa9aa11006a2","unresolved":false,"context_lines":[{"line_number":2478,"context_line":"        }"},{"line_number":2479,"context_line":""},{"line_number":2480,"context_line":"        root_uuid_map \u003d {"},{"line_number":2481,"context_line":"            r[0]: r[1] for r in _get_all_with_shared(context, resources)"},{"line_number":2482,"context_line":"        }"},{"line_number":2483,"context_line":"        roots \u003d list(root_uuid_map.keys())"},{"line_number":2484,"context_line":"        if not roots:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_774ea338","line":2481,"range":{"start_line":2481,"start_character":18,"end_line":2481,"end_character":22},"updated":"2017-07-18 18:19:28.000000000","message":"And this is the uuid?\n\nMaybe throw a comment above this to explain what\u0027s in root_uuid_map.","commit_id":"42ae88e197a42bfa1a610b51ac8d555a55c27297"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5904439b98f6609cea06f30b4ff3fa9aa11006a2","unresolved":false,"context_lines":[{"line_number":2478,"context_line":"        }"},{"line_number":2479,"context_line":""},{"line_number":2480,"context_line":"        root_uuid_map \u003d {"},{"line_number":2481,"context_line":"            r[0]: r[1] for r in _get_all_with_shared(context, resources)"},{"line_number":2482,"context_line":"        }"},{"line_number":2483,"context_line":"        roots \u003d list(root_uuid_map.keys())"},{"line_number":2484,"context_line":"        if not roots:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_f742b30e","line":2481,"range":{"start_line":2481,"start_character":12,"end_line":2481,"end_character":16},"updated":"2017-07-18 18:19:28.000000000","message":"This is the id primary key?","commit_id":"42ae88e197a42bfa1a610b51ac8d555a55c27297"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5904439b98f6609cea06f30b4ff3fa9aa11006a2","unresolved":false,"context_lines":[{"line_number":2564,"context_line":""},{"line_number":2565,"context_line":"        for root_rp_id in roots:"},{"line_number":2566,"context_line":"            if root_rp_id not in summaries:"},{"line_number":2567,"context_line":"                # This resource provider is not providing any resources that"},{"line_number":2568,"context_line":"                # have been requested. This means that this resource provider"},{"line_number":2569,"context_line":"                # has some requested resources shared *with* it but the"},{"line_number":2570,"context_line":"                # allocation of the requested resource will not be made against"},{"line_number":2571,"context_line":"                # it. We add the provider to the provider summaries to inform"},{"line_number":2572,"context_line":"                # the caller that this is a provider that has requested"},{"line_number":2573,"context_line":"                # resources shared with it but isn\u0027t providing any requested"},{"line_number":2574,"context_line":"                # resources itself"},{"line_number":2575,"context_line":"                summaries[root_rp_id] \u003d {"},{"line_number":2576,"context_line":"                    \u0027uuid\u0027: root_uuid_map[root_rp_id],"},{"line_number":2577,"context_line":"                    \u0027resources\u0027: {},"},{"line_number":2578,"context_line":"                    # TODO(jaypipes): Add traits..."},{"line_number":2579,"context_line":"                }"},{"line_number":2580,"context_line":""},{"line_number":2581,"context_line":"        for root_rp_id in roots:"},{"line_number":2582,"context_line":"            root_summary \u003d summaries[root_rp_id]"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_37d82b79","line":2579,"range":{"start_line":2567,"start_character":16,"end_line":2579,"end_character":17},"updated":"2017-07-18 18:19:28.000000000","message":"So what happens when we return the summaries with these types of providers that don\u0027t have any resources and those go down into the filter scheduler\u0027s select_destinations method?\n\nhttps://github.com/openstack/nova/blob/master/nova/scheduler/manager.py#L129\n\nThey will eventually go down here:\n\nhttps://github.com/openstack/nova/blob/master/nova/scheduler/filter_scheduler.py#L161\n\nWhere we get the list of compute nodes from the nova cell dbs via uuid - and if this is a shared aggregate resource provider, like for shared storage or something (is that what this would be?), then we wouldn\u0027t get anything back, which is what we want since there is no compute node for that uuid.\n\nOr am I missing the mark here?","commit_id":"42ae88e197a42bfa1a610b51ac8d555a55c27297"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"84d082b3e1893d3344344ab798a829cd82b0f2ef","unresolved":false,"context_lines":[{"line_number":2564,"context_line":""},{"line_number":2565,"context_line":"        for root_rp_id in roots:"},{"line_number":2566,"context_line":"            if root_rp_id not in summaries:"},{"line_number":2567,"context_line":"                # This resource provider is not providing any resources that"},{"line_number":2568,"context_line":"                # have been requested. This means that this resource provider"},{"line_number":2569,"context_line":"                # has some requested resources shared *with* it but the"},{"line_number":2570,"context_line":"                # allocation of the requested resource will not be made against"},{"line_number":2571,"context_line":"                # it. We add the provider to the provider summaries to inform"},{"line_number":2572,"context_line":"                # the caller that this is a provider that has requested"},{"line_number":2573,"context_line":"                # resources shared with it but isn\u0027t providing any requested"},{"line_number":2574,"context_line":"                # resources itself"},{"line_number":2575,"context_line":"                summaries[root_rp_id] \u003d {"},{"line_number":2576,"context_line":"                    \u0027uuid\u0027: root_uuid_map[root_rp_id],"},{"line_number":2577,"context_line":"                    \u0027resources\u0027: {},"},{"line_number":2578,"context_line":"                    # TODO(jaypipes): Add traits..."},{"line_number":2579,"context_line":"                }"},{"line_number":2580,"context_line":""},{"line_number":2581,"context_line":"        for root_rp_id in roots:"},{"line_number":2582,"context_line":"            root_summary \u003d summaries[root_rp_id]"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_17dc0f44","line":2579,"range":{"start_line":2567,"start_character":16,"end_line":2579,"end_character":17},"in_reply_to":"1f1a1f67_37d82b79","updated":"2017-07-18 18:21:26.000000000","message":"Looking at the test (later) it looks like I\u0027m wrong. So this would have implications for the filter scheduler because it could find the compute nodes from the provider summaries, but it should be filtering those out really as they have no \u0027resources\u0027 to consume? At least not for VCPUS and MEMORY_MB.\n\nMaybe this is moot since the scheduler manager wouldn\u0027t be making a request like this so we don\u0027t need to worry about it there.","commit_id":"42ae88e197a42bfa1a610b51ac8d555a55c27297"}],"nova/tests/functional/db/test_resource_provider.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5aa354e60c306f13586ff6fe46787e7b94044b6c","unresolved":false,"context_lines":[{"line_number":2708,"context_line":""},{"line_number":2709,"context_line":"        self.assertEqual(set([ss_uuid]), p_sum_rps)"},{"line_number":2710,"context_line":""},{"line_number":2711,"context_line":"        # However, the allocation_requests will ONLY include the shared storage"},{"line_number":2712,"context_line":"        # provider because the only thing we\u0027re requesting to allocate is"},{"line_number":2713,"context_line":"        # against the provider of DISK_GB, which happens to be the shared"},{"line_number":2714,"context_line":"        # storage provider."}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_3e9b6018","line":2711,"range":{"start_line":2711,"start_character":10,"end_line":2711,"end_character":17},"updated":"2017-07-18 21:29:24.000000000","message":"Probably remove this, the \"However\" doesn\u0027t make sense in this context anymore.","commit_id":"2a4e36555d66717d57eca00491cd7ce8d5d0acbb"}]}
