)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"fe2528671e31eb901e9be5ba97de9b77e16b76bb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yushiro FURUKAWA \u003cy.furukawa_2@jp.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-01-23 22:41:40 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"FWaaS - Retrieve \u0027public\u0027 attributre like \u0027shared\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In FWaaS v2, \u0027public\u0027 attribute is used as \u0027shared\u0027. This commit makes"},{"line_number":10,"context_line":"\u0027public\u0027 attribute get a same functionality for \u0027shared\u0027."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5a3905b3_2406321d","line":7,"range":{"start_line":7,"start_character":26,"end_line":7,"end_character":36},"updated":"2017-01-23 14:04:29.000000000","message":"nit: attributre -\u003e attribute","commit_id":"80a5c2ed267387e1ccb018633c353a5150e30281"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"c240ac2d782f062caee3e167dd84da003fec4ef3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Yushiro FURUKAWA \u003cy.furukawa_2@jp.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-01-23 22:41:40 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"FWaaS - Retrieve \u0027public\u0027 attributre like \u0027shared\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In FWaaS v2, \u0027public\u0027 attribute is used as \u0027shared\u0027. This commit makes"},{"line_number":10,"context_line":"\u0027public\u0027 attribute get a same functionality for \u0027shared\u0027."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5a3905b3_e4442ab8","line":7,"range":{"start_line":7,"start_character":26,"end_line":7,"end_character":36},"in_reply_to":"5a3905b3_2406321d","updated":"2017-01-23 14:16:53.000000000","message":"Thanks.  Done.","commit_id":"80a5c2ed267387e1ccb018633c353a5150e30281"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"4609844886466de0b49f36a6950679ced7a16836","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"FWaaS - Retrieve \u0027public\u0027 attribute like \u0027shared\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In FWaaS v2, \u0027public\u0027 attribute is used as \u0027shared\u0027. This commit makes"},{"line_number":10,"context_line":"\u0027public\u0027 attribute get a same functionality for \u0027shared\u0027."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Id24150922b843ebe86ead6327539b7481de190b0"},{"line_number":13,"context_line":"Closes-Bug: #1657190"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a3905b3_582322a7","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":57},"updated":"2017-01-23 14:23:39.000000000","message":"The problem I have with this is that the FWaaS v2 specification does not indicate that \u0027shared\u0027 and \u0027public\u0027 can or should be used interchangeably.  Please include a compelling rationale for this change to be necessary.","commit_id":"b76ebfe7e775e2badf7dce9e981c6822e45a8eb4"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"c4c33c5e6723edd56e784c439bbbd3999f5457ac","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"FWaaS - Retrieve \u0027public\u0027 attribute like \u0027shared\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In FWaaS v2, \u0027public\u0027 attribute is used as \u0027shared\u0027. This commit makes"},{"line_number":10,"context_line":"\u0027public\u0027 attribute get a same functionality for \u0027shared\u0027."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Id24150922b843ebe86ead6327539b7481de190b0"},{"line_number":13,"context_line":"Closes-Bug: #1657190"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a3905b3_cc7579cb","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":57},"in_reply_to":"5a3905b3_582322a7","updated":"2017-01-24 00:54:59.000000000","message":"I forgot migrating neutron to neutron-lib.  Please let me explain why I put such as patch.  I had following reasons:\n\n1. neutron-fwaas inherits common_db_mixin from neutron and uses _get_collection or _get_collection_query[1] in order to query request.\n\n2. _get_collection --\u003e _get_collection_query --\u003e model_query[2].  In model_query, a request is filtered or expanded with \u0027shared\u0027 attribute or rbac feature.\n\n3. Every REST API request for FWaaS calls _get_collection or _get_collection_query.\n\n[1]https://github.com/openstack/neutron/blob/master/neutron/db/common_db_mixin.py#L216\n[2]https://github.com/openstack/neutron/blob/master/neutron/db/common_db_mixin.py#L90","commit_id":"b76ebfe7e775e2badf7dce9e981c6822e45a8eb4"}],"neutron/db/common_db_mixin.py":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"5c2ded37e2469246bbda6c7cf6545387c40f49fe","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            elif hasattr(model, \u0027shared\u0027):"},{"line_number":104,"context_line":"                query_filter \u003d ((model.tenant_id \u003d\u003d context.tenant_id) |"},{"line_number":105,"context_line":"                                (model.shared \u003d\u003d sql.true()))"},{"line_number":106,"context_line":"            elif hasattr(model, \u0027public\u0027):"},{"line_number":107,"context_line":"                query_filter \u003d ((model.tenant_id \u003d\u003d context.tenant_id) |"},{"line_number":108,"context_line":"                                (model.public \u003d\u003d sql.true()))"},{"line_number":109,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a3905b3_a41b18c9","line":106,"updated":"2017-01-23 06:58:22.000000000","message":"Why cant you do \n\nelif hasattr(model, \u0027shared) or hasattr(model, \u0027public\u0027):\n    query_filter \u003d .....","commit_id":"4bafeeddadfeb968e498c278143378e97ba0761e"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"92a74c1a728dd76c06b90a13b0ddb6cd7d24bffa","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            elif hasattr(model, \u0027shared\u0027):"},{"line_number":104,"context_line":"                query_filter \u003d ((model.tenant_id \u003d\u003d context.tenant_id) |"},{"line_number":105,"context_line":"                                (model.shared \u003d\u003d sql.true()))"},{"line_number":106,"context_line":"            elif hasattr(model, \u0027public\u0027):"},{"line_number":107,"context_line":"                query_filter \u003d ((model.tenant_id \u003d\u003d context.tenant_id) |"},{"line_number":108,"context_line":"                                (model.public \u003d\u003d sql.true()))"},{"line_number":109,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a3905b3_8718de1f","line":106,"in_reply_to":"5a3905b3_a41b18c9","updated":"2017-01-23 07:20:48.000000000","message":"Because resources except FWaaS v2 doesn\u0027t have \u0027public\u0027 attribute.  That\u0027s why I put additional \u0027elif\u0027 and specify \u0027model.public\u0027.  Anyway, it\u0027s welcome other good way :)","commit_id":"4bafeeddadfeb968e498c278143378e97ba0761e"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"4609844886466de0b49f36a6950679ced7a16836","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                    ((rbac_model.action \u003d\u003d \u0027access_as_shared\u0027) \u0026"},{"line_number":101,"context_line":"                     ((rbac_model.target_tenant \u003d\u003d context.tenant_id) |"},{"line_number":102,"context_line":"                      (rbac_model.target_tenant \u003d\u003d \u0027*\u0027))))"},{"line_number":103,"context_line":"            elif hasattr(model, \u0027shared\u0027) or hasattr(model, \u0027public\u0027):"},{"line_number":104,"context_line":"                extend_attr \u003d (model.shared if hasattr(model, \u0027shared\u0027)"},{"line_number":105,"context_line":"                               else model.public)"},{"line_number":106,"context_line":"                query_filter \u003d ((model.tenant_id \u003d\u003d context.tenant_id) |"},{"line_number":107,"context_line":"                                (extend_attr \u003d\u003d sql.true()))"},{"line_number":108,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a3905b3_e4018a07","line":105,"range":{"start_line":103,"start_character":0,"end_line":105,"end_character":49},"updated":"2017-01-23 14:23:39.000000000","message":"Why is this in Neutron code?  If there is any way for this to be in neutron-fwaas code, then I think it should be there.  We are striving to make sure that neutron-fwaas does not import neutron, so this seems like it is going in the wrong direction.  Also, this change alters the behavior for anything depending on this code, as opposed to making the change specific to FWaaS.","commit_id":"b76ebfe7e775e2badf7dce9e981c6822e45a8eb4"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"c4c33c5e6723edd56e784c439bbbd3999f5457ac","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                    ((rbac_model.action \u003d\u003d \u0027access_as_shared\u0027) \u0026"},{"line_number":101,"context_line":"                     ((rbac_model.target_tenant \u003d\u003d context.tenant_id) |"},{"line_number":102,"context_line":"                      (rbac_model.target_tenant \u003d\u003d \u0027*\u0027))))"},{"line_number":103,"context_line":"            elif hasattr(model, \u0027shared\u0027) or hasattr(model, \u0027public\u0027):"},{"line_number":104,"context_line":"                extend_attr \u003d (model.shared if hasattr(model, \u0027shared\u0027)"},{"line_number":105,"context_line":"                               else model.public)"},{"line_number":106,"context_line":"                query_filter \u003d ((model.tenant_id \u003d\u003d context.tenant_id) |"},{"line_number":107,"context_line":"                                (extend_attr \u003d\u003d sql.true()))"},{"line_number":108,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a3905b3_77f532eb","line":105,"range":{"start_line":103,"start_character":0,"end_line":105,"end_character":49},"in_reply_to":"5a3905b3_e4018a07","updated":"2017-01-24 00:54:59.000000000","message":"Thanks.  In my understanding, there are following ways:\n\n* Enable to control \u0027public\u0027 attribute in common_db_mixin in neutron.(current idea)\n* Overwrite common_db_mixin module in neutron-fwaas(I\u0027m not sure that python can re-open existing class and overwrite method)\n* If common_db_mixin will be migrated into neutron-lib, migrate common_db_mixin into neutron-lib and add a feature to control \u0027public\u0027 attribute(current idea + migrating neutron-lib)","commit_id":"b76ebfe7e775e2badf7dce9e981c6822e45a8eb4"}]}
