)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"bb593047c8b39179481ff653b2a8bfdae3d4f4bd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     edan david \u003cedand@mellanox.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-03 12:15:54 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move FDB population \u0027vaid_type_drivers\u0027 variable to be a class constant"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I97abfaceebee7f457c1c7da7dedfcd000e2fccea"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1aa78d24_900cfb43","line":7,"updated":"2016-07-04 06:25:33.000000000","message":"It looks like a self-refactor, can you add more details about why this is needed?","commit_id":"37f9e75a594122e8e10ea5826c3b6146b25400bd"},{"author":{"_account_id":21683,"name":"edan david","email":"edand@mellanox.com","username":"edand"},"change_message_id":"333d612927f8745d7d6f09abe087d12a025bfd5f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     edan david \u003cedand@mellanox.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-03 12:15:54 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move FDB population \u0027vaid_type_drivers\u0027 variable to be a class constant"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I97abfaceebee7f457c1c7da7dedfcd000e2fccea"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1aa78d24_381d2974","line":7,"in_reply_to":"1aa78d24_900cfb43","updated":"2016-07-04 08:43:29.000000000","message":"Done","commit_id":"37f9e75a594122e8e10ea5826c3b6146b25400bd"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"408c58440e3f5df56836a59dc735be501c499cee","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Edan David \u003cedand@mellanox.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-04 04:11:23 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move FDB population \u0027vaid_type_drivers\u0027 variable to be a class constant"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When initializing Fdb population agent extension we validate that"},{"line_number":10,"context_line":"the extension is loaded on a permitted agent,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1aa78d24_3ed87153","line":7,"range":{"start_line":7,"start_character":21,"end_line":7,"end_character":38},"updated":"2016-07-04 09:00:32.000000000","message":"typo: valid ??","commit_id":"caee0760e684299154d1a9fe7257701de32a76e1"},{"author":{"_account_id":21683,"name":"edan david","email":"edand@mellanox.com","username":"edand"},"change_message_id":"a64f53e488e196815e16468e9ea0b1f5872966a8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Edan David \u003cedand@mellanox.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-04 04:11:23 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move FDB population \u0027vaid_type_drivers\u0027 variable to be a class constant"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When initializing Fdb population agent extension we validate that"},{"line_number":10,"context_line":"the extension is loaded on a permitted agent,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1aa78d24_1e4ad5c5","line":7,"range":{"start_line":7,"start_character":21,"end_line":7,"end_character":38},"in_reply_to":"1aa78d24_3ed87153","updated":"2016-07-04 09:19:13.000000000","message":"Done, thanks Andreas","commit_id":"caee0760e684299154d1a9fe7257701de32a76e1"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"d01899e6effb843a5882894006a4ec4c1b472377","unresolved":false,"context_lines":[{"line_number":12,"context_line":"valid_type_drivers located in the initialize method."},{"line_number":13,"context_line":"Moving valid_type_drivers to be class constant will be more"},{"line_number":14,"context_line":"visible to anyone reading the code."},{"line_number":15,"context_line":"Change-Id: I97abfaceebee7f457c1c7da7dedfcd000e2fccea"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1aa78d24_3e17d1a4","line":15,"updated":"2016-07-04 09:04:51.000000000","message":"nit: An empty line between line 14 and line 15 will make it looks better.","commit_id":"caee0760e684299154d1a9fe7257701de32a76e1"},{"author":{"_account_id":21683,"name":"edan david","email":"edand@mellanox.com","username":"edand"},"change_message_id":"a64f53e488e196815e16468e9ea0b1f5872966a8","unresolved":false,"context_lines":[{"line_number":12,"context_line":"valid_type_drivers located in the initialize method."},{"line_number":13,"context_line":"Moving valid_type_drivers to be class constant will be more"},{"line_number":14,"context_line":"visible to anyone reading the code."},{"line_number":15,"context_line":"Change-Id: I97abfaceebee7f457c1c7da7dedfcd000e2fccea"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1aa78d24_fe4b89ae","line":15,"in_reply_to":"1aa78d24_3e17d1a4","updated":"2016-07-04 09:19:13.000000000","message":"I agree.","commit_id":"caee0760e684299154d1a9fe7257701de32a76e1"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"92865c95501ee5c9cf39d56acdb8b67ca1d8e7d7","unresolved":false,"context_lines":[{"line_number":11,"context_line":"the list of permitted agents is assigned to the variable"},{"line_number":12,"context_line":"valid_type_drivers located in the initialize method."},{"line_number":13,"context_line":"Moving valid_type_drivers to be class constant will be more"},{"line_number":14,"context_line":"visible to anyone reading the code."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I97abfaceebee7f457c1c7da7dedfcd000e2fccea"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da4df55a_34032344","line":14,"updated":"2016-12-23 16:05:53.000000000","message":"if the aim of this change is improving readability","commit_id":"4c92c8c04bfbff64c04ac0dc2ba937022a4bc49e"}],"neutron/agent/l2/extensions/fdb_population.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"bb593047c8b39179481ff653b2a8bfdae3d4f4bd","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        for permitted_device_owner in self.PERMITTED_DEVICE_OWNERS:"},{"line_number":170,"context_line":"            if device_owner.startswith(permitted_device_owner):"},{"line_number":171,"context_line":"                return True"},{"line_number":172,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_d006831f","side":"PARENT","line":172,"updated":"2016-07-04 06:25:33.000000000","message":"Is this related?","commit_id":"19f7b6ea6413e24b9fb1943aaeb359b30e35975c"},{"author":{"_account_id":21683,"name":"edan david","email":"edand@mellanox.com","username":"edand"},"change_message_id":"333d612927f8745d7d6f09abe087d12a025bfd5f","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        for permitted_device_owner in self.PERMITTED_DEVICE_OWNERS:"},{"line_number":170,"context_line":"            if device_owner.startswith(permitted_device_owner):"},{"line_number":171,"context_line":"                return True"},{"line_number":172,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_95d188d0","side":"PARENT","line":172,"in_reply_to":"1aa78d24_d006831f","updated":"2016-07-04 08:43:29.000000000","message":"No, tried to sneak that in one commit :)","commit_id":"19f7b6ea6413e24b9fb1943aaeb359b30e35975c"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"8c036065d7ec7391279f821746a19316f1322fda","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    \"\"\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    # valid agents for loading FDB population extension"},{"line_number":54,"context_line":"    VALID_DRIVER_TYPES \u003d (linux_bridge_constants.EXTENSION_DRIVER_TYPE,"},{"line_number":55,"context_line":"                          ovs_constants.EXTENSION_DRIVER_TYPE)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    # FDB udpates are triggered for ports with a certain device_owner only:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3ac371cc_0d6e0796","line":54,"updated":"2016-08-16 09:27:49.000000000","message":"well it\u0027s more visible to people looking up here...","commit_id":"1afdb2b2aa021fd28f320930d3c5aee8d8ca197f"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"8c036065d7ec7391279f821746a19316f1322fda","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    # class FdbPopulationAgentExtension implementation:"},{"line_number":130,"context_line":"    def initialize(self, connection, driver_type):"},{"line_number":131,"context_line":"        \"\"\"Perform FDB Agent Extension initialization.\"\"\""},{"line_number":132,"context_line":"        if driver_type not in FdbPopulationAgentExtension.VALID_DRIVER_TYPES:"},{"line_number":133,"context_line":"            LOG.error(_LE(\u0027FDB extension is only supported for OVS and \u0027"},{"line_number":134,"context_line":"                          \u0027linux bridge agent, currently uses \u0027"},{"line_number":135,"context_line":"                          \u0027%(driver_type)s\u0027), {\u0027driver_type\u0027: driver_type})"}],"source_content_type":"text/x-python","patch_set":4,"id":"3ac371cc_6d6dfb97","line":132,"updated":"2016-08-16 09:27:49.000000000","message":"but less visble to people looking here.","commit_id":"1afdb2b2aa021fd28f320930d3c5aee8d8ca197f"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"92865c95501ee5c9cf39d56acdb8b67ca1d8e7d7","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"class FdbPopulationAgentExtension("},{"line_number":46,"context_line":"        l2_agent_extension.L2AgentExtension):"},{"line_number":47,"context_line":"    \"\"\"The FDB population is an agent extension to OVS or linux bridge"},{"line_number":48,"context_line":"    who\u0027s objective is to update the FDB table for existing instance"},{"line_number":49,"context_line":"    using normal port, thus enabling communication between SR-IOV instances"},{"line_number":50,"context_line":"    and normal instances."}],"source_content_type":"text/x-python","patch_set":7,"id":"da4df55a_f4443b75","line":47,"updated":"2016-12-23 16:05:53.000000000","message":"With the docstring specifying the list of valid agents supporting this class, I think VALID_DRIVER_TYPES is rather unnecessary.","commit_id":"4c92c8c04bfbff64c04ac0dc2ba937022a4bc49e"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"5f9ffa59877354e54272fd1e531dda7029095a0e","unresolved":false,"context_lines":[{"line_number":138,"context_line":"    # class FdbPopulationAgentExtension implementation:"},{"line_number":139,"context_line":"    def initialize(self, connection, driver_type):"},{"line_number":140,"context_line":"        \"\"\"Perform FDB Agent Extension initialization.\"\"\""},{"line_number":141,"context_line":"        if driver_type not in FdbPopulationAgentExtension.VALID_DRIVER_TYPES:"},{"line_number":142,"context_line":"            LOG.error(_LE(\u0027FDB extension is only supported for OVS and \u0027"},{"line_number":143,"context_line":"                          \u0027linux bridge agent, currently uses \u0027"},{"line_number":144,"context_line":"                          \u0027%(driver_type)s\u0027), {\u0027driver_type\u0027: driver_type})"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a77a97e_2ebaa90a","line":141,"updated":"2016-11-17 11:41:12.000000000","message":"I think my suggestion was more on the line of making this check on the top class l2_agent_extension.L2AgentExtension) initialize.\n\n\nif hasattr(self, \u0027VALID_DRIVER_TYPES\u0027):\n     if driver_type not in FdbPopulationAgentExtension.VALID_DRIVER_TYPES:\n         ....\n        sys.error(1)\n\n\nSo then we can get it reused by other extensions by calling\n\n   super(FdbPopulationAgentExtension, self).initialize(connection, driver_type)","commit_id":"4c92c8c04bfbff64c04ac0dc2ba937022a4bc49e"}],"neutron/tests/unit/agent/l2/extensions/test_fdb_population.py":[{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"c6f4354b18244a72738c8185e9e5e8d560900897","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        mock_execute.return_value \u003d fdb_table"},{"line_number":53,"context_line":"        fdb_pop \u003d FdbPopulationAgentExtension()"},{"line_number":54,"context_line":"        fdb_pop.initialize(None,"},{"line_number":55,"context_line":"                           FdbPopulationAgentExtension.VALID_DRIVER_TYPES[0])"},{"line_number":56,"context_line":"        return fdb_pop"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @mock.patch(\u0027neutron.agent.linux.utils.execute\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_8d7835c6","line":55,"updated":"2016-10-20 06:50:33.000000000","message":"was that your intention to switch to the linuxbridge driver type?","commit_id":"4c92c8c04bfbff64c04ac0dc2ba937022a4bc49e"},{"author":{"_account_id":21683,"name":"edan david","email":"edand@mellanox.com","username":"edand"},"change_message_id":"8ace06aa034875fd8bd5324a0cd026182fc47a48","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        mock_execute.return_value \u003d fdb_table"},{"line_number":53,"context_line":"        fdb_pop \u003d FdbPopulationAgentExtension()"},{"line_number":54,"context_line":"        fdb_pop.initialize(None,"},{"line_number":55,"context_line":"                           FdbPopulationAgentExtension.VALID_DRIVER_TYPES[0])"},{"line_number":56,"context_line":"        return fdb_pop"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @mock.patch(\u0027neutron.agent.linux.utils.execute\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_90cbec52","line":55,"in_reply_to":"fa6399be_8d7835c6","updated":"2016-10-20 07:17:05.000000000","message":"It doesn\u0027t have any meaning for the unit tests,\nwe just need to initialize the FDB extension with a valid driver.","commit_id":"4c92c8c04bfbff64c04ac0dc2ba937022a4bc49e"}]}
