)]}'
{"nova/scheduler/client/report.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3c91140423a4b520ea9515f5a86599f95da5e6ec","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    :param exclude_disk: If True, exclude DISK_GB, else include it. This could"},{"line_number":149,"context_line":"        be True in the case that it has been determined that the instance is"},{"line_number":150,"context_line":"        consuming DISK_GB from a shared storage provider in an aggregate"},{"line_number":151,"context_line":"        relationship to the compute node resource provider."},{"line_number":152,"context_line":"    \"\"\""},{"line_number":153,"context_line":"    alloc_dict \u003d {"},{"line_number":154,"context_line":"        MEMORY_MB: instance.flavor.memory_mb,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf3e73b7_13baaedd","line":151,"range":{"start_line":151,"start_character":28,"end_line":151,"end_character":40},"updated":"2017-08-04 21:24:04.000000000","message":"local compute node provider?","commit_id":"744c6937cd055bd31ba9451b6a90066494344100"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3c91140423a4b520ea9515f5a86599f95da5e6ec","unresolved":false,"context_lines":[{"line_number":990,"context_line":"            # If there are no allocations or the compute node provider is not"},{"line_number":991,"context_line":"            # in the dict of allocations, then we don\u0027t really care."},{"line_number":992,"context_line":"            # TODO(mriedem): could this happen? should this be checked before"},{"line_number":993,"context_line":"            # calling this method so the False return value isn\u0027t confusing?"},{"line_number":994,"context_line":"            return"},{"line_number":995,"context_line":""},{"line_number":996,"context_line":"        # Get the compute node provider aggregates."}],"source_content_type":"text/x-python","patch_set":1,"id":"bf3e73b7_33837207","line":993,"range":{"start_line":993,"start_character":41,"end_line":993,"end_character":46},"updated":"2017-08-04 21:24:04.000000000","message":"None","commit_id":"744c6937cd055bd31ba9451b6a90066494344100"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3c91140423a4b520ea9515f5a86599f95da5e6ec","unresolved":false,"context_lines":[{"line_number":990,"context_line":"            # If there are no allocations or the compute node provider is not"},{"line_number":991,"context_line":"            # in the dict of allocations, then we don\u0027t really care."},{"line_number":992,"context_line":"            # TODO(mriedem): could this happen? should this be checked before"},{"line_number":993,"context_line":"            # calling this method so the False return value isn\u0027t confusing?"},{"line_number":994,"context_line":"            return"},{"line_number":995,"context_line":""},{"line_number":996,"context_line":"        # Get the compute node provider aggregates."}],"source_content_type":"text/x-python","patch_set":1,"id":"bf3e73b7_13886e1d","line":993,"range":{"start_line":993,"start_character":66,"end_line":993,"end_character":75},"updated":"2017-08-04 21:24:04.000000000","message":"ambiguous","commit_id":"744c6937cd055bd31ba9451b6a90066494344100"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ef4462a5bb98f53fccab4c7fa1462f4f45d9bd7e","unresolved":false,"context_lines":[{"line_number":994,"context_line":"            return"},{"line_number":995,"context_line":""},{"line_number":996,"context_line":"        # Get the compute node provider aggregates."},{"line_number":997,"context_line":"        cn_aggregates \u003d self._get_provider_aggregates(cn_uuid)"},{"line_number":998,"context_line":"        if not cn_aggregates:"},{"line_number":999,"context_line":"            # If the compute node provider is not in any aggregates"},{"line_number":1000,"context_line":"            # then it can\u0027t be consuming shared disk."}],"source_content_type":"text/x-python","patch_set":1,"id":"bf3e73b7_c05b0a2c","line":997,"updated":"2017-08-07 14:48:38.000000000","message":"We already get provider aggregates every time we call _ensure_resource_provider():\n\nhttps://github.com/openstack/nova/blob/master/nova/scheduler/client/report.py#L542\n\nSo you need only check to see if cn_uuid is in self._provider_aggregate_map.","commit_id":"744c6937cd055bd31ba9451b6a90066494344100"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ef4462a5bb98f53fccab4c7fa1462f4f45d9bd7e","unresolved":false,"context_lines":[{"line_number":1001,"context_line":"            return"},{"line_number":1002,"context_line":""},{"line_number":1003,"context_line":"        for rp_uuid, resources in allocations.items():"},{"line_number":1004,"context_line":"            if DISK_GB in resources and not ("},{"line_number":1005,"context_line":"                    VCPU in resources or MEMORY_MB in resources):"},{"line_number":1006,"context_line":"                # OK this provider has disk allocation but not cpu or ram"},{"line_number":1007,"context_line":"                # so we assume it\u0027s a shared storage provider, check to see"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf3e73b7_c0742a9c","line":1004,"range":{"start_line":1004,"start_character":15,"end_line":1004,"end_character":22},"updated":"2017-08-07 14:48:38.000000000","message":"Why are we treating DISK_GB resources differently than other resources?","commit_id":"744c6937cd055bd31ba9451b6a90066494344100"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4dc81e32fd999eef00b1776c9b499c33ed93847d","unresolved":false,"context_lines":[{"line_number":1001,"context_line":"            return"},{"line_number":1002,"context_line":""},{"line_number":1003,"context_line":"        for rp_uuid, resources in allocations.items():"},{"line_number":1004,"context_line":"            if DISK_GB in resources and not ("},{"line_number":1005,"context_line":"                    VCPU in resources or MEMORY_MB in resources):"},{"line_number":1006,"context_line":"                # OK this provider has disk allocation but not cpu or ram"},{"line_number":1007,"context_line":"                # so we assume it\u0027s a shared storage provider, check to see"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf3e73b7_a0a24699","line":1004,"range":{"start_line":1004,"start_character":15,"end_line":1004,"end_character":22},"in_reply_to":"bf3e73b7_c0742a9c","updated":"2017-08-07 14:54:35.000000000","message":"Because we don\u0027t share VCPU and MEMORY_MB, and DISK_GB is what gets overwritten via _instance_to_allocations_dict.","commit_id":"744c6937cd055bd31ba9451b6a90066494344100"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ef4462a5bb98f53fccab4c7fa1462f4f45d9bd7e","unresolved":false,"context_lines":[{"line_number":1016,"context_line":"                    if cn_aggregates \u0026 ss_aggregates:"},{"line_number":1017,"context_line":"                        return rp_uuid"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"    def _allocate_for_instance(self, node_uuid, instance):"},{"line_number":1020,"context_line":"        current_allocations \u003d self._get_allocations_for_instance(instance)"},{"line_number":1021,"context_line":"        # Check to see if the instance is consuming shared storage from a"},{"line_number":1022,"context_line":"        # provider in an aggregate relationship with the given compute node"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf3e73b7_80c2a284","line":1019,"range":{"start_line":1019,"start_character":4,"end_line":1019,"end_character":30},"updated":"2017-08-07 14:48:38.000000000","message":"The goal is actually to get rid of this method entirely. The scheduler should be claiming resources for an instance. This method is used in the healing process in the compute node resource tracker...","commit_id":"744c6937cd055bd31ba9451b6a90066494344100"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4dc81e32fd999eef00b1776c9b499c33ed93847d","unresolved":false,"context_lines":[{"line_number":1016,"context_line":"                    if cn_aggregates \u0026 ss_aggregates:"},{"line_number":1017,"context_line":"                        return rp_uuid"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"    def _allocate_for_instance(self, node_uuid, instance):"},{"line_number":1020,"context_line":"        current_allocations \u003d self._get_allocations_for_instance(instance)"},{"line_number":1021,"context_line":"        # Check to see if the instance is consuming shared storage from a"},{"line_number":1022,"context_line":"        # provider in an aggregate relationship with the given compute node"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf3e73b7_e0b16ee3","line":1019,"range":{"start_line":1019,"start_character":4,"end_line":1019,"end_character":30},"in_reply_to":"bf3e73b7_80c2a284","updated":"2017-08-07 14:54:35.000000000","message":"Correct, and I don\u0027t think we\u0027re removing that heal task in Pike, are we? So as it stands, this overrides any shared disk via _instance_to_allocations_dict and that\u0027s the bug I\u0027m trying to resolve.","commit_id":"744c6937cd055bd31ba9451b6a90066494344100"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3c91140423a4b520ea9515f5a86599f95da5e6ec","unresolved":false,"context_lines":[{"line_number":1030,"context_line":""},{"line_number":1031,"context_line":"        new_allocations \u003d {node_uuid: node_allocations}"},{"line_number":1032,"context_line":""},{"line_number":1033,"context_line":"        # Now check to see if there are resources allocated from other resource"},{"line_number":1034,"context_line":"        # providers for this instance, because we could have a case such that"},{"line_number":1035,"context_line":"        # the VCPU and MEMORY_MB is allocated from the compute node provider"},{"line_number":1036,"context_line":"        # but DISK_GB could be allocated from another shared storage resource"},{"line_number":1037,"context_line":"        # provider."},{"line_number":1038,"context_line":"        if len(current_allocations) \u003e 1:"},{"line_number":1039,"context_line":"            # We could have a few scenarios here:"},{"line_number":1040,"context_line":"            # 1. Single compute node provider with VCPU and MEMORY_MB and a"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf3e73b7_d3c78645","line":1037,"range":{"start_line":1033,"start_character":8,"end_line":1037,"end_character":19},"updated":"2017-08-04 21:24:04.000000000","message":"Can probably remove this as we\u0027ve already done it above.","commit_id":"744c6937cd055bd31ba9451b6a90066494344100"}]}
