)]}'
{"dragonflow/controller/sg_app.py":[{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5c9d9c268f5f36f1abf6ff3363e337be4abab436","unresolved":false,"context_lines":[{"line_number":960,"context_line":"        else:"},{"line_number":961,"context_line":"            removed_secgroups \u003d []"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"        if secgroups is not None:"},{"line_number":964,"context_line":"            for item in secgroups:"},{"line_number":965,"context_line":"                if item in removed_secgroups:"},{"line_number":966,"context_line":"                    removed_secgroups.remove(item)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_df17f542","line":963,"range":{"start_line":963,"start_character":8,"end_line":963,"end_character":33},"updated":"2016-05-23 07:52:04.000000000","message":"if secgroups:\n...","commit_id":"7f12ba518aa54996a8f8174478c2d432ded38ba4"}],"dragonflow/neutron/plugin.py":[{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"d205d016565fa809d0bce78cfb7b707e99d3a7d5","unresolved":false,"context_lines":[{"line_number":648,"context_line":"        if port.get(\u0027device_owner\u0027) \u003d\u003d const.DEVICE_OWNER_ROUTER_GW:"},{"line_number":649,"context_line":"            chassis \u003d None"},{"line_number":650,"context_line":""},{"line_number":651,"context_line":"        security_groups \u003d port.get(\u0027security_groups\u0027)"},{"line_number":652,"context_line":"        if security_groups \u003d\u003d []:"},{"line_number":653,"context_line":"            sgs \u003d None"},{"line_number":654,"context_line":"        else:"},{"line_number":655,"context_line":"            sgs \u003d security_groups"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"        self.nb_api.create_lport("},{"line_number":658,"context_line":"            name\u003dport[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_7911c95c","line":655,"range":{"start_line":651,"start_character":8,"end_line":655,"end_character":33},"updated":"2016-05-23 07:26:41.000000000","message":"Is it necessary?\n\nif security_groups: means \u0027if it is None or it is []:\u0027.","commit_id":"7f12ba518aa54996a8f8174478c2d432ded38ba4"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"5c9d9c268f5f36f1abf6ff3363e337be4abab436","unresolved":false,"context_lines":[{"line_number":648,"context_line":"        if port.get(\u0027device_owner\u0027) \u003d\u003d const.DEVICE_OWNER_ROUTER_GW:"},{"line_number":649,"context_line":"            chassis \u003d None"},{"line_number":650,"context_line":""},{"line_number":651,"context_line":"        security_groups \u003d port.get(\u0027security_groups\u0027)"},{"line_number":652,"context_line":"        if security_groups \u003d\u003d []:"},{"line_number":653,"context_line":"            sgs \u003d None"},{"line_number":654,"context_line":"        else:"},{"line_number":655,"context_line":"            sgs \u003d security_groups"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"        self.nb_api.create_lport("},{"line_number":658,"context_line":"            name\u003dport[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_7f6d29cb","line":655,"range":{"start_line":651,"start_character":8,"end_line":655,"end_character":33},"in_reply_to":"bab6814e_04dbf41b","updated":"2016-05-23 07:52:04.000000000","message":"OK.","commit_id":"7f12ba518aa54996a8f8174478c2d432ded38ba4"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"20b342b23b0717220a372512898fb36fcad86c2f","unresolved":false,"context_lines":[{"line_number":648,"context_line":"        if port.get(\u0027device_owner\u0027) \u003d\u003d const.DEVICE_OWNER_ROUTER_GW:"},{"line_number":649,"context_line":"            chassis \u003d None"},{"line_number":650,"context_line":""},{"line_number":651,"context_line":"        security_groups \u003d port.get(\u0027security_groups\u0027)"},{"line_number":652,"context_line":"        if security_groups \u003d\u003d []:"},{"line_number":653,"context_line":"            sgs \u003d None"},{"line_number":654,"context_line":"        else:"},{"line_number":655,"context_line":"            sgs \u003d security_groups"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"        self.nb_api.create_lport("},{"line_number":658,"context_line":"            name\u003dport[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_04dbf41b","line":655,"range":{"start_line":651,"start_character":8,"end_line":655,"end_character":33},"in_reply_to":"bab6814e_7911c95c","updated":"2016-05-23 07:40:24.000000000","message":"I want to uniform the security_groups value in lport, if the security_groups  value from Neutron is [], we should set the value None which is similar in the update_port() process, otherwise, the security_groups value in DF DB is confused","commit_id":"7f12ba518aa54996a8f8174478c2d432ded38ba4"}]}
