)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"c4f3e64b2fcce1b3b267a4ec629c05f54f307c4f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"secgroup: Define hybrid plug in driver itself"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, hybrid plug is used if iptables driver is used. This patch"},{"line_number":10,"context_line":"proposes interface in firewall driver, that would say whether hybrid"},{"line_number":11,"context_line":"plug is needed or not."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I5c5e7c0fed050aa988eefa0aba33e52318a18bc6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9aed3d3a_f1676623","line":10,"updated":"2016-02-25 21:42:12.000000000","message":"s/proposes/defines an/ is better?","commit_id":"f0869defd07ee75c67936632fb602191cfe8ede3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"226c50f272685862978aa2344650e3cc2f3f33fa","unresolved":false,"context_lines":[{"line_number":7,"context_line":"secgroup: Define hybrid plug in driver itself"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, hybrid plug is used if iptables driver is used. This patch"},{"line_number":10,"context_line":"proposes interface in firewall driver, that would say whether hybrid"},{"line_number":11,"context_line":"plug is needed or not."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I5c5e7c0fed050aa988eefa0aba33e52318a18bc6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9aed3d3a_0ee8ca0f","line":10,"in_reply_to":"9aed3d3a_f1676623","updated":"2016-02-26 10:03:06.000000000","message":"Done","commit_id":"f0869defd07ee75c67936632fb602191cfe8ede3"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"9846b4766302db9aa82443e4d61cb62c2c3afcf0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"secgroup: Define hybrid plug in driver itself"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, hybrid plug is used if iptables driver is used. This patch"},{"line_number":10,"context_line":"defines an interface in firewall driver, that would say whether hybrid"},{"line_number":11,"context_line":"plug is needed or not."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3afc51ec_c03b05d0","line":9,"updated":"2016-03-15 02:11:57.000000000","message":"if you need this in Mitaka, please associate this with a bug report.","commit_id":"5ef215ff44e09f3165be0f3164c0845ccd2b20e4"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"10895377a1824303756ef56edca6e5a46370c2a0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"secgroup: Define hybrid plug in driver itself"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, hybrid plug is used if iptables driver is used. This patch"},{"line_number":10,"context_line":"defines an interface in firewall driver, that would say whether hybrid"},{"line_number":11,"context_line":"plug is needed or not."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3afc51ec_c6431641","line":9,"in_reply_to":"3afc51ec_c03b05d0","updated":"2016-03-15 08:29:27.000000000","message":"I wrote in the comment, this is not Mitaka RC material.","commit_id":"5ef215ff44e09f3165be0f3164c0845ccd2b20e4"}],"neutron/plugins/ml2/drivers/openvswitch/mech_driver/mech_openvswitch.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"c4f3e64b2fcce1b3b267a4ec629c05f54f307c4f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    def __init__(self):"},{"line_number":48,"context_line":"        sg_enabled \u003d securitygroups_rpc.is_firewall_enabled()"},{"line_number":49,"context_line":"        try:"},{"line_number":50,"context_line":"            firewall_class \u003d firewall.load_firewall_driver_class("},{"line_number":51,"context_line":"                cfg.CONF.SECURITYGROUP.firewall_driver)"},{"line_number":52,"context_line":"            hybrid_plug_required \u003d ("},{"line_number":53,"context_line":"                firewall_class.hybrid_plug_required and sg_enabled)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aed3d3a_1195aae3","line":50,"range":{"start_line":50,"start_character":29,"end_line":50,"end_character":37},"updated":"2016-02-25 21:42:12.000000000","message":"no need to do this if sg_enabled is False","commit_id":"f0869defd07ee75c67936632fb602191cfe8ede3"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"226c50f272685862978aa2344650e3cc2f3f33fa","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    def __init__(self):"},{"line_number":48,"context_line":"        sg_enabled \u003d securitygroups_rpc.is_firewall_enabled()"},{"line_number":49,"context_line":"        try:"},{"line_number":50,"context_line":"            firewall_class \u003d firewall.load_firewall_driver_class("},{"line_number":51,"context_line":"                cfg.CONF.SECURITYGROUP.firewall_driver)"},{"line_number":52,"context_line":"            hybrid_plug_required \u003d ("},{"line_number":53,"context_line":"                firewall_class.hybrid_plug_required and sg_enabled)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aed3d3a_aeda7e76","line":50,"range":{"start_line":50,"start_character":29,"end_line":50,"end_character":37},"in_reply_to":"9aed3d3a_1195aae3","updated":"2016-02-26 10:03:06.000000000","message":"Done","commit_id":"f0869defd07ee75c67936632fb602191cfe8ede3"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"f40c5a8fe168b3a945493a64f5789f64430de5ae","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def __init__(self):"},{"line_number":47,"context_line":"        sg_enabled \u003d securitygroups_rpc.is_firewall_enabled()"},{"line_number":48,"context_line":"        hybrid_plug_required \u003d (cfg.CONF.SECURITYGROUP.firewall_driver in ("},{"line_number":49,"context_line":"            IPTABLES_FW_DRIVER_FULL, \u0027iptables_hybrid\u0027)) and sg_enabled"},{"line_number":50,"context_line":"        vif_details \u003d {portbindings.CAP_PORT_FILTER: sg_enabled,"},{"line_number":51,"context_line":"                       portbindings.OVS_HYBRID_PLUG: hybrid_plug_required}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afc51ec_0fb0c042","side":"PARENT","line":48,"updated":"2016-03-13 15:12:43.000000000","message":"Looking at the old code, only OVSHybridIptablesFirewallDriver uses hybrid plugging. The new code also enables it for IptablesFirewallDriver, is this intended?","commit_id":"3fb153b15b7d846947476221c79b129c878d4e56"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"0779b6b7d56e77f9737bc6027360f33b5715ae91","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def __init__(self):"},{"line_number":47,"context_line":"        sg_enabled \u003d securitygroups_rpc.is_firewall_enabled()"},{"line_number":48,"context_line":"        hybrid_plug_required \u003d (cfg.CONF.SECURITYGROUP.firewall_driver in ("},{"line_number":49,"context_line":"            IPTABLES_FW_DRIVER_FULL, \u0027iptables_hybrid\u0027)) and sg_enabled"},{"line_number":50,"context_line":"        vif_details \u003d {portbindings.CAP_PORT_FILTER: sg_enabled,"},{"line_number":51,"context_line":"                       portbindings.OVS_HYBRID_PLUG: hybrid_plug_required}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afc51ec_7b0f782e","side":"PARENT","line":48,"in_reply_to":"3afc51ec_0fb0c042","updated":"2016-03-14 08:08:22.000000000","message":"Good catch. You\u0027re right, the hybrid plugging should be only for Hybrid driver.","commit_id":"3fb153b15b7d846947476221c79b129c878d4e56"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"f40c5a8fe168b3a945493a64f5789f64430de5ae","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    import constants as a_const"},{"line_number":29,"context_line":"from neutron.services.qos import qos_consts"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"IPTABLES_FW_DRIVER_FULL \u003d (\"neutron.agent.linux.iptables_firewall.\""},{"line_number":32,"context_line":"                           \"OVSHybridIptablesFirewallDriver\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afc51ec_6f87c461","line":31,"updated":"2016-03-13 15:12:43.000000000","message":"This is now unused.","commit_id":"7d60774d486e8fedcdd183014dcfae9c4475165b"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"0779b6b7d56e77f9737bc6027360f33b5715ae91","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    import constants as a_const"},{"line_number":29,"context_line":"from neutron.services.qos import qos_consts"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"IPTABLES_FW_DRIVER_FULL \u003d (\"neutron.agent.linux.iptables_firewall.\""},{"line_number":32,"context_line":"                           \"OVSHybridIptablesFirewallDriver\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afc51ec_db1e8c62","line":31,"in_reply_to":"3afc51ec_6f87c461","updated":"2016-03-14 08:08:22.000000000","message":"Done","commit_id":"7d60774d486e8fedcdd183014dcfae9c4475165b"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"9846b4766302db9aa82443e4d61cb62c2c3afcf0","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                hybrid_plug_required \u003d firewall_class.hybrid_plug_required"},{"line_number":52,"context_line":"            except ImportError:"},{"line_number":53,"context_line":"                # Firewall driver is not configured"},{"line_number":54,"context_line":"                pass"},{"line_number":55,"context_line":"        vif_details \u003d {portbindings.CAP_PORT_FILTER: sg_enabled,"},{"line_number":56,"context_line":"                       portbindings.OVS_HYBRID_PLUG: hybrid_plug_required}"},{"line_number":57,"context_line":"        super(OpenvswitchMechanismDriver, self).__init__("}],"source_content_type":"text/x-python","patch_set":4,"id":"3afc51ec_4027f5b5","line":54,"updated":"2016-03-15 02:11:57.000000000","message":"this is a hideous way of dealing with polymorphism.","commit_id":"5ef215ff44e09f3165be0f3164c0845ccd2b20e4"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"10895377a1824303756ef56edca6e5a46370c2a0","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                hybrid_plug_required \u003d firewall_class.hybrid_plug_required"},{"line_number":52,"context_line":"            except ImportError:"},{"line_number":53,"context_line":"                # Firewall driver is not configured"},{"line_number":54,"context_line":"                pass"},{"line_number":55,"context_line":"        vif_details \u003d {portbindings.CAP_PORT_FILTER: sg_enabled,"},{"line_number":56,"context_line":"                       portbindings.OVS_HYBRID_PLUG: hybrid_plug_required}"},{"line_number":57,"context_line":"        super(OpenvswitchMechanismDriver, self).__init__("}],"source_content_type":"text/x-python","patch_set":4,"id":"3afc51ec_e62f3286","line":54,"in_reply_to":"3afc51ec_4027f5b5","updated":"2016-03-15 08:29:27.000000000","message":"This is for case when firewall_driver is not defined in config because we don\u0027t have a default there.","commit_id":"5ef215ff44e09f3165be0f3164c0845ccd2b20e4"}]}
