)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fd5663d184efcca73bf0558ff90b64444cd6d23d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     mathieu-rohon \u003cmathieu.rohon@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-05-28 16:54:08 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"enhance get_device_details to give full desc of port,"},{"line_number":8,"context_line":"with net and port extensions info."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"This could be usefull to modular l2 agent which can forward"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3ae8d1ca_db71cce1","line":7,"updated":"2014-05-28 17:55:10.000000000","message":"Use a single line for the description and then the rest on continuing lines. See the commit message info: https://wiki.openstack.org/wiki/GerritWorkflow#Committing_Changes","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fd5663d184efcca73bf0558ff90b64444cd6d23d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"enhance get_device_details to give full desc of port,"},{"line_number":8,"context_line":"with net and port extensions info."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"This could be usefull to modular l2 agent which can forward"},{"line_number":11,"context_line":"those informations to every agent/driver."},{"line_number":12,"context_line":"When a port is updated, an rpc fanout update_port(port_dict)"},{"line_number":13,"context_line":"should be sent."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3ae8d1ca_fb5e8844","line":10,"updated":"2014-05-28 17:55:10.000000000","message":"usefull -\u003e useful","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fd5663d184efcca73bf0558ff90b64444cd6d23d","unresolved":false,"context_lines":[{"line_number":8,"context_line":"with net and port extensions info."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"This could be usefull to modular l2 agent which can forward"},{"line_number":11,"context_line":"those informations to every agent/driver."},{"line_number":12,"context_line":"When a port is updated, an rpc fanout update_port(port_dict)"},{"line_number":13,"context_line":"should be sent."},{"line_number":14,"context_line":"When a network is updated, a new rpc fanout should be sent"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3ae8d1ca_5b54dc20","line":11,"updated":"2014-05-28 17:55:10.000000000","message":"those informations -\u003e the information","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fd5663d184efcca73bf0558ff90b64444cd6d23d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"should be sent."},{"line_number":14,"context_line":"When a network is updated, a new rpc fanout should be sent"},{"line_number":15,"context_line":"update_network(net_dict)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I055111b3f4cce75b0dfccad4322e1f3b633ee289"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3ae8d1ca_7b4b5887","line":16,"updated":"2014-05-28 17:55:10.000000000","message":"Add bug #/bp info per gerrit info in link above.","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"}],"neutron/plugins/ml2/rpc.py":[{"author":{"_account_id":1689,"name":"Robert Kukura","email":"rk@theep.net","username":"rkukura"},"change_message_id":"c3091c8d1057ab303a9a19a11ef4c3971461bf09","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        port_id \u003d self._device_to_port_id(device)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        session \u003d db_api.get_session()"},{"line_number":99,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":100,"context_line":"            plugin \u003d manager.NeutronManager.get_plugin()"},{"line_number":101,"context_line":"            port \u003d db.get_port(session, port_id)"},{"line_number":102,"context_line":"            if not port:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_b1e97f82","line":99,"updated":"2014-05-28 18:41:39.000000000","message":"Note that this function is almost completely replaced in https://review.openstack.org/#/c/82945/.","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":2888,"name":"Mathieu Rohon","email":"mathieu.rohon@gmail.com","username":"mathieu-rohon"},"change_message_id":"5d631a07b15b66955217523cbbb0939b542d5e3d","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        port_id \u003d self._device_to_port_id(device)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        session \u003d db_api.get_session()"},{"line_number":99,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":100,"context_line":"            plugin \u003d manager.NeutronManager.get_plugin()"},{"line_number":101,"context_line":"            port \u003d db.get_port(session, port_id)"},{"line_number":102,"context_line":"            if not port:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_5de54ada","line":99,"in_reply_to":"3ae8d1ca_b1e97f82","updated":"2014-06-04 14:20:25.000000000","message":"nice i\u0027ll use get_bound_port_context ASA it will be available.","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fd5663d184efcca73bf0558ff90b64444cd6d23d","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        session \u003d db_api.get_session()"},{"line_number":99,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":100,"context_line":"            plugin \u003d manager.NeutronManager.get_plugin()"},{"line_number":101,"context_line":"            port \u003d db.get_port(session, port_id)"},{"line_number":102,"context_line":"            if not port:"},{"line_number":103,"context_line":"                LOG.warning(_(\"Device %(device)s requested by agent \""}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_3b07101e","line":100,"updated":"2014-05-28 17:55:10.000000000","message":"This shouldn\u0027t change over time right? So could consider storing in instance variable at __init__, versus reading each time this is called.","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fd5663d184efcca73bf0558ff90b64444cd6d23d","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                                          new_status)"},{"line_number":146,"context_line":"                port.status \u003d new_status"},{"line_number":147,"context_line":"            \"\"\""},{"line_number":148,"context_line":"            fetch port_dict and network_dict to send every port/network info"},{"line_number":149,"context_line":"            with extension\u0027s info"},{"line_number":150,"context_line":"            \"\"\""},{"line_number":151,"context_line":"            port_dict \u003d plugin.get_port(rpc_context, port_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_fe6836bc","line":148,"updated":"2014-05-28 17:55:10.000000000","message":"Not sure what added value the comments are adding here.\n\nUsually # is used for comments that are in-line.","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":10393,"name":"nlahouti","email":"nader.lahouti@gmail.com","username":"nlahouti"},"change_message_id":"b9a1ac0922b240a97ba37f3f3585ab22551310ed","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            fetch port_dict and network_dict to send every port/network info"},{"line_number":149,"context_line":"            with extension\u0027s info"},{"line_number":150,"context_line":"            \"\"\""},{"line_number":151,"context_line":"            port_dict \u003d plugin.get_port(rpc_context, port_id)"},{"line_number":152,"context_line":"            net_dict \u003d plugin.get_network(rpc_context,port.network_id)"},{"line_number":153,"context_line":"            \"\"\""},{"line_number":154,"context_line":"            translation between entry and port_dict :"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_0e3a37e7","line":151,"updated":"2014-06-16 17:47:25.000000000","message":"Is it considered that a mechanism driver to add more info to port_dict and net_dict when needed?","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"b7623a8bb025ac328d4bb57b808a49aa0a65f754","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            fetch port_dict and network_dict to send every port/network info"},{"line_number":149,"context_line":"            with extension\u0027s info"},{"line_number":150,"context_line":"            \"\"\""},{"line_number":151,"context_line":"            port_dict \u003d plugin.get_port(rpc_context, port_id)"},{"line_number":152,"context_line":"            net_dict \u003d plugin.get_network(rpc_context,port.network_id)"},{"line_number":153,"context_line":"            \"\"\""},{"line_number":154,"context_line":"            translation between entry and port_dict :"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_385560c6","line":151,"in_reply_to":"1ae5cdf2_0e3a37e7","updated":"2014-11-20 13:56:04.000000000","message":"I think it is possible to call into ML2 extension drivers to extend the port/net dict","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fd5663d184efcca73bf0558ff90b64444cd6d23d","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            with extension\u0027s info"},{"line_number":150,"context_line":"            \"\"\""},{"line_number":151,"context_line":"            port_dict \u003d plugin.get_port(rpc_context, port_id)"},{"line_number":152,"context_line":"            net_dict \u003d plugin.get_network(rpc_context,port.network_id)"},{"line_number":153,"context_line":"            \"\"\""},{"line_number":154,"context_line":"            translation between entry and port_dict :"},{"line_number":155,"context_line":"            port_id -\u003e id"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_1eab22d7","line":152,"updated":"2014-05-28 17:55:10.000000000","message":"Nit: Space after comma.","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fd5663d184efcca73bf0558ff90b64444cd6d23d","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            port_dict \u003d plugin.get_port(rpc_context, port_id)"},{"line_number":152,"context_line":"            net_dict \u003d plugin.get_network(rpc_context,port.network_id)"},{"line_number":153,"context_line":"            \"\"\""},{"line_number":154,"context_line":"            translation between entry and port_dict :"},{"line_number":155,"context_line":"            port_id -\u003e id"},{"line_number":156,"context_line":"            device -\u003e device_id"},{"line_number":157,"context_line":"            \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_1e78822a","line":154,"updated":"2014-05-28 17:55:10.000000000","message":"I don\u0027t see this comment being applied.","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":2888,"name":"Mathieu Rohon","email":"mathieu.rohon@gmail.com","username":"mathieu-rohon"},"change_message_id":"5d631a07b15b66955217523cbbb0939b542d5e3d","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            port_dict \u003d plugin.get_port(rpc_context, port_id)"},{"line_number":152,"context_line":"            net_dict \u003d plugin.get_network(rpc_context,port.network_id)"},{"line_number":153,"context_line":"            \"\"\""},{"line_number":154,"context_line":"            translation between entry and port_dict :"},{"line_number":155,"context_line":"            port_id -\u003e id"},{"line_number":156,"context_line":"            device -\u003e device_id"},{"line_number":157,"context_line":"            \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_c2f7bbd1","line":154,"in_reply_to":"3ae8d1ca_1e78822a","updated":"2014-06-04 14:20:25.000000000","message":"I will do the translation to be backward compatible.","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fd5663d184efcca73bf0558ff90b64444cd6d23d","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            the extend function should return segment info"},{"line_number":166,"context_line":"            \"\"\""},{"line_number":167,"context_line":"            entry.update(segment_dict)"},{"line_number":168,"context_line":"            entry[\u0027network_dict\u0027] \u003d net_dict"},{"line_number":169,"context_line":"            LOG.debug(_(\"Returning: %s\"), entry)"},{"line_number":170,"context_line":"            return entry"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_beb5ceef","line":168,"updated":"2014-05-28 17:55:10.000000000","message":"Consider organizing the dict like:\n {\u0027port\u0027: port_dict,\n  \u0027segment\u0027: segment_dict,\n  \u0027network\u0027: net_dict}\n\nMay be easier to use with it structured this way? Currently, the dict has portand segment info together, and then a nested dict for network info. Should either have it all flat (unless there is some conflict) or in an hierarchy, if there is lots of info (can\u0027t tell).","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":2888,"name":"Mathieu Rohon","email":"mathieu.rohon@gmail.com","username":"mathieu-rohon"},"change_message_id":"5d631a07b15b66955217523cbbb0939b542d5e3d","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            the extend function should return segment info"},{"line_number":166,"context_line":"            \"\"\""},{"line_number":167,"context_line":"            entry.update(segment_dict)"},{"line_number":168,"context_line":"            entry[\u0027network_dict\u0027] \u003d net_dict"},{"line_number":169,"context_line":"            LOG.debug(_(\"Returning: %s\"), entry)"},{"line_number":170,"context_line":"            return entry"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_a24c6f43","line":168,"in_reply_to":"3ae8d1ca_beb5ceef","updated":"2014-06-04 14:20:25.000000000","message":"this would be cleaner, you\u0027re right, but I wouldn\u0027t break backward compatibility with agents that use get_device_details the old way.","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"01ab4689d926a09723667d115657b24ed1a648a0","unresolved":false,"context_lines":[{"line_number":166,"context_line":"            \"\"\""},{"line_number":167,"context_line":"            entry.update(segment_dict)"},{"line_number":168,"context_line":"            entry[\u0027network_dict\u0027] \u003d net_dict"},{"line_number":169,"context_line":"            LOG.debug(_(\"Returning: %s\"), entry)"},{"line_number":170,"context_line":"            return entry"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def _find_segment(self, segments, segment_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_c313a80b","line":169,"updated":"2014-05-28 15:56:20.000000000","message":"can you provide an example of the resulted \"entry\"?","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"}],"neutron/plugins/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fd5663d184efcca73bf0558ff90b64444cd6d23d","unresolved":false,"context_lines":[{"line_number":969,"context_line":"                          {\u0027device\u0027: device, \u0027e\u0027: e})"},{"line_number":970,"context_line":"                resync \u003d True"},{"line_number":971,"context_line":"                continue"},{"line_number":972,"context_line":"            if \u0027id\u0027 in details:"},{"line_number":973,"context_line":"                LOG.info(_(\"Port %(device)s updated. Details: %(details)s\"),"},{"line_number":974,"context_line":"                         {\u0027device\u0027: device, \u0027details\u0027: details})"},{"line_number":975,"context_line":"                self.treat_vif_port(port, details[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_1e9fa251","line":972,"updated":"2014-05-28 17:55:10.000000000","message":"Is this right, as I didn\u0027t see a translation done.","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"fd5663d184efcca73bf0558ff90b64444cd6d23d","unresolved":false,"context_lines":[{"line_number":972,"context_line":"            if \u0027id\u0027 in details:"},{"line_number":973,"context_line":"                LOG.info(_(\"Port %(device)s updated. Details: %(details)s\"),"},{"line_number":974,"context_line":"                         {\u0027device\u0027: device, \u0027details\u0027: details})"},{"line_number":975,"context_line":"                self.treat_vif_port(port, details[\u0027id\u0027],"},{"line_number":976,"context_line":"                                    details[\u0027network_id\u0027],"},{"line_number":977,"context_line":"                                    details[\u0027network_type\u0027],"},{"line_number":978,"context_line":"                                    details[\u0027physical_network\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ae8d1ca_3ec53e3c","line":975,"updated":"2014-05-28 17:55:10.000000000","message":"Would it make sense to have get_device_details return only the fields needed, rather than all of the port and segment info, and some of the network info?","commit_id":"66338b004233951b1783cbec8d67b23eab0dbc8e"}]}
