)]}'
{"neutron_lib/services/qos/base.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"90c5f2b9551fc4f155b7fee9a4d6f1486ce23661","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    return False"},{"line_number":99,"context_line":"        return True"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def validate_rule_for_port(self, context, rule, port):"},{"line_number":102,"context_line":"        \"\"\"Raise if rule is incompatible with port."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        This is only meant to be used when a rule is compatible"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_a05c8a58","line":101,"range":{"start_line":101,"start_character":17,"end_line":101,"end_character":21},"updated":"2020-02-05 06:03:36.000000000","message":"I was hesitating if this should be validate_rule_for_port or validate_policy_for_port. Let me know if you consider policy the better choice.","commit_id":"d247c29adefabfc025981dc2a5b70021a33e3a66"},{"author":{"_account_id":26106,"name":"Tom Stappaerts","email":"tom.stappaerts@nokia.com","username":"TomStappaerts"},"change_message_id":"b55c4af14bd1412f86a038b146fe03fd2b368f02","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    return False"},{"line_number":99,"context_line":"        return True"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def validate_rule_for_port(self, context, rule, port):"},{"line_number":102,"context_line":"        \"\"\"Raise if rule is incompatible with port."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        This is only meant to be used when a rule is compatible"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_c76bce51","line":101,"range":{"start_line":101,"start_character":17,"end_line":101,"end_character":21},"in_reply_to":"3fa7e38b_677d3a6f","updated":"2020-02-05 09:45:09.000000000","message":"Agreed","commit_id":"d247c29adefabfc025981dc2a5b70021a33e3a66"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"85d152132e06ac5c84829463e34ebdef0263d570","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    return False"},{"line_number":99,"context_line":"        return True"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def validate_rule_for_port(self, context, rule, port):"},{"line_number":102,"context_line":"        \"\"\"Raise if rule is incompatible with port."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        This is only meant to be used when a rule is compatible"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_677d3a6f","line":101,"range":{"start_line":101,"start_character":17,"end_line":101,"end_character":21},"in_reply_to":"3fa7e38b_a05c8a58","updated":"2020-02-05 09:16:54.000000000","message":"The first one, IMO, because this is what you are doing (actually you are passing the rule, not the whole policy).","commit_id":"d247c29adefabfc025981dc2a5b70021a33e3a66"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"1557d9f7eea7890541c5ce8e8d31559d853478ff","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    return False"},{"line_number":99,"context_line":"        return True"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def validate_rule_for_port(self, context, rule, port):"},{"line_number":102,"context_line":"        \"\"\"Raise if rule is incompatible with port."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        This is only meant to be used when a rule is compatible"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_3880bff6","line":101,"range":{"start_line":101,"start_character":17,"end_line":101,"end_character":21},"in_reply_to":"3fa7e38b_c76bce51","updated":"2020-02-05 13:21:08.000000000","message":"What I was trying to ask is this:\n\nDo we ever want to support the case where a policy needs to be validated as a whole (for example because its rules may interfere with each other), so the validity of the whole policy cannot be ANDed from the validity of its rules?\n\nIf not, validate_RULE_for_port is okay as is.\n\nIf yes, we may want to extend this API with validate_POLICY_for_port and change the neutron patch accordingly.","commit_id":"d247c29adefabfc025981dc2a5b70021a33e3a66"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"85d152132e06ac5c84829463e34ebdef0263d570","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        return True"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def validate_rule_for_port(self, context, rule, port):"},{"line_number":102,"context_line":"        \"\"\"Raise if rule is incompatible with port."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        This is only meant to be used when a rule is compatible"},{"line_number":105,"context_line":"        with some ports/networks but not with others (depending on"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_a7dfb265","line":102,"range":{"start_line":102,"start_character":11,"end_line":102,"end_character":16},"updated":"2020-02-05 09:16:54.000000000","message":"Hmmmm, are we going to raise an exception by default? I think this method is going to return true or false.","commit_id":"d247c29adefabfc025981dc2a5b70021a33e3a66"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"1557d9f7eea7890541c5ce8e8d31559d853478ff","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        return True"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def validate_rule_for_port(self, context, rule, port):"},{"line_number":102,"context_line":"        \"\"\"Raise if rule is incompatible with port."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        This is only meant to be used when a rule is compatible"},{"line_number":105,"context_line":"        with some ports/networks but not with others (depending on"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_589a5b75","line":102,"range":{"start_line":102,"start_character":11,"end_line":102,"end_character":16},"in_reply_to":"3fa7e38b_a7dfb265","updated":"2020-02-05 13:21:08.000000000","message":"Done","commit_id":"d247c29adefabfc025981dc2a5b70021a33e3a66"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"85d152132e06ac5c84829463e34ebdef0263d570","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        This is only meant to be used when a rule is compatible"},{"line_number":105,"context_line":"        with some ports/networks but not with others (depending on"},{"line_number":106,"context_line":"        port/network properties)."},{"line_number":107,"context_line":"        \"\"\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def create_policy(self, context, policy):"},{"line_number":110,"context_line":"        \"\"\"Create policy invocation."}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_07ba460b","line":107,"updated":"2020-02-05 09:16:54.000000000","message":"The QoS driver is going to call this method in drivers supporting some rules (LB supports all of them) but without this method defined.\n\nBy default, this should return True.","commit_id":"d247c29adefabfc025981dc2a5b70021a33e3a66"},{"author":{"_account_id":26106,"name":"Tom Stappaerts","email":"tom.stappaerts@nokia.com","username":"TomStappaerts"},"change_message_id":"b55c4af14bd1412f86a038b146fe03fd2b368f02","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        This is only meant to be used when a rule is compatible"},{"line_number":105,"context_line":"        with some ports/networks but not with others (depending on"},{"line_number":106,"context_line":"        port/network properties)."},{"line_number":107,"context_line":"        \"\"\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def create_policy(self, context, policy):"},{"line_number":110,"context_line":"        \"\"\"Create policy invocation."}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_8727161e","line":107,"in_reply_to":"3fa7e38b_07ba460b","updated":"2020-02-05 09:45:09.000000000","message":"Agreed","commit_id":"d247c29adefabfc025981dc2a5b70021a33e3a66"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"1557d9f7eea7890541c5ce8e8d31559d853478ff","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        This is only meant to be used when a rule is compatible"},{"line_number":105,"context_line":"        with some ports/networks but not with others (depending on"},{"line_number":106,"context_line":"        port/network properties)."},{"line_number":107,"context_line":"        \"\"\""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def create_policy(self, context, policy):"},{"line_number":110,"context_line":"        \"\"\"Create policy invocation."}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_98c21354","line":107,"in_reply_to":"3fa7e38b_8727161e","updated":"2020-02-05 13:21:08.000000000","message":"Done","commit_id":"d247c29adefabfc025981dc2a5b70021a33e3a66"}]}
