)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"8eed34456a57ef17695cd6143f909bf1862b59c5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use neutron network API attribute"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Switch to network API attribute instead of string."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I57b84323b001b7e34c0492cb7e720531219eb74d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba0121b8_3e72517d","line":9,"updated":"2016-03-28 16:02:44.000000000","message":"It would be nice to include the benefits of this patch or the problem that is solving.","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}],"neutron/api/rpc/agentnotifiers/dhcp_rpc_agent_api.py":[{"author":{"_account_id":18485,"name":"Haim Daniel","email":"hdaniel@redhat.com","username":"hdaniel"},"change_message_id":"0fd86545d4f7286afc17b2eb8b3b4acf5c4fc77e","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    rpc interfaces, please see doc/source/devref/rpc_api.rst."},{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":"    # It seems dhcp agent does not support bulk operation"},{"line_number":43,"context_line":"    VALID_RESOURCES \u003d [attributes.NETWORK, \u0027subnet\u0027, \u0027port\u0027]"},{"line_number":44,"context_line":"    VALID_METHOD_NAMES \u003d [\u0027network.create.end\u0027,"},{"line_number":45,"context_line":"                          \u0027network.update.end\u0027,"},{"line_number":46,"context_line":"                          \u0027network.delete.end\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da0c15f0_9ad1805a","line":43,"range":{"start_line":43,"start_character":44,"end_line":43,"end_character":50},"updated":"2016-03-28 13:26:56.000000000","message":"Apologies for being the party pooper, but perhaps it\u0027s worth replacing the holy 3 attribute strings at once (\u0027network\u0027, \u0027subnet\u0027, \u0027port\u0027) ?\n\nIMO, this way the code will look less fragmented.","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}],"neutron/api/rpc/handlers/dhcp_rpc.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d6c8606e8438aab4537c6e1075ee50847d9bdd32","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                    # this is the reason why the ip address generation failed."},{"line_number":98,"context_line":"                    # In any other unlikely event re-raise"},{"line_number":99,"context_line":"                    try:"},{"line_number":100,"context_line":"                        subnet_id \u003d port["},{"line_number":101,"context_line":"                            attributes.PORT][\u0027fixed_ips\u0027][0][\u0027subnet_id\u0027]"},{"line_number":102,"context_line":"                        plugin.get_subnet(context, subnet_id)"},{"line_number":103,"context_line":"                    except n_exc.SubnetNotFound:"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_2877973b","line":100,"updated":"2016-03-29 09:12:20.000000000","message":"this is ugly","commit_id":"63e13294e67f61c7d1b14526ab305bde08e15d94"}],"neutron/db/l3_hamode_db.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":224,"context_line":"            except db_exc.DBDuplicateEntry:"},{"line_number":225,"context_line":"                LOG.info(_LI(\"Attempt %(count)s to allocate a VRID in the \""},{"line_number":226,"context_line":"                             \"network %(network)s for the router %(router)s\"),"},{"line_number":227,"context_line":"                         {\u0027count\u0027: count, attributes.NETWORK: network_id,"},{"line_number":228,"context_line":"                          \u0027router\u0027: router_id})"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        raise l3_ha.MaxVRIDAllocationTriesReached("}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_2c922b58","line":227,"updated":"2016-03-28 16:41:57.000000000","message":"That change and similar to it is just weird: there is no logical reason for the message to mark the replacable with the network resource name.\n\nYou should not change those places were the string value is not supposed to be identical to the name of API resource.","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":571,"context_line":"                        LOG.info(_LI(\"HA network %(network)s was deleted as \""},{"line_number":572,"context_line":"                                     \"no HA routers are present in tenant \""},{"line_number":573,"context_line":"                                     \"%(tenant)s.\"),"},{"line_number":574,"context_line":"                                 {attributes.NETWORK: ha_network.network_id,"},{"line_number":575,"context_line":"                                  \u0027tenant\u0027: router_db.tenant_id})"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"    def _unbind_ha_router(self, context, router_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_6c9c236a","line":574,"updated":"2016-03-28 16:41:57.000000000","message":"ditto","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}],"neutron/db/models_v2.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":275,"context_line":"    mtu \u003d sa.Column(sa.Integer, nullable\u003dTrue)"},{"line_number":276,"context_line":"    vlan_transparent \u003d sa.Column(sa.Boolean, nullable\u003dTrue)"},{"line_number":277,"context_line":"    rbac_entries \u003d orm.relationship(rbac_db_models.NetworkRBAC,"},{"line_number":278,"context_line":"                                    backref\u003dattr.NETWORK, lazy\u003d\u0027joined\u0027,"},{"line_number":279,"context_line":"                                    cascade\u003d\u0027all, delete, delete-orphan\u0027)"},{"line_number":280,"context_line":"    availability_zone_hints \u003d sa.Column(sa.String(255))"},{"line_number":281,"context_line":"    dhcp_agents \u003d orm.relationship("}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_8c76d73c","line":278,"updated":"2016-03-28 16:41:57.000000000","message":"There is no direct connection between model reference name and API resource name.","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}],"neutron/db/rbac_db_models.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    \"\"\"RBAC table for networks.\"\"\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    object_id \u003d _object_id_column(\u0027networks.id\u0027)"},{"line_number":96,"context_line":"    object_type \u003d attr.NETWORK"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def get_valid_actions(self):"},{"line_number":99,"context_line":"        actions \u003d (ACCESS_SHARED,)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_ac93db4e","line":96,"updated":"2016-03-28 16:41:57.000000000","message":"This attribute may be different from API resource name.","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}],"neutron/debug/debug_agent.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def _get_namespace(self, port):"},{"line_number":44,"context_line":"        return \"qprobe-%s\" % port.id"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def create_probe(self, network_id, device_owner\u003dattributes.NETWORK):"},{"line_number":47,"context_line":"        network \u003d self._get_network(network_id)"},{"line_number":48,"context_line":"        bridge \u003d None"},{"line_number":49,"context_line":"        if network.external:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_0cb007dd","line":46,"updated":"2016-03-28 16:41:57.000000000","message":"It\u0027s not resource name, it\u0027s what is put in port\u0027s device_owner field. S should not reuse the constant.","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}],"neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":787,"context_line":"        LOG.debug(\"port_update RPC received for port: %s\", port_id)"},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"    def network_update(self, context, **kwargs):"},{"line_number":790,"context_line":"        network_id \u003d kwargs[attributes.NETWORK][\u0027id\u0027]"},{"line_number":791,"context_line":"        LOG.debug(\"network_update message processed for network \""},{"line_number":792,"context_line":"                  \"%(network_id)s, with ports: %(ports)s\","},{"line_number":793,"context_line":"                  {\u0027network_id\u0027: network_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_ace11bd3","line":790,"updated":"2016-03-28 16:41:57.000000000","message":"It\u0027s what is in RPC payload, not in API payload; which may be different.","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}],"neutron/plugins/ml2/drivers/mech_agent.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        LOG.debug(\"Attempting to bind port %(port)s on \""},{"line_number":59,"context_line":"                  \"network %(network)s\","},{"line_number":60,"context_line":"                  {\u0027port\u0027: context.current[\u0027id\u0027],"},{"line_number":61,"context_line":"                   attributes.NETWORK: context.network.current[\u0027id\u0027]})"},{"line_number":62,"context_line":"        vnic_type \u003d context.current.get(portbindings.VNIC_TYPE,"},{"line_number":63,"context_line":"                                        portbindings.VNIC_NORMAL)"},{"line_number":64,"context_line":"        if vnic_type not in self.supported_vnic_types:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_ac08fb92","line":61,"updated":"2016-03-28 16:41:57.000000000","message":"it\u0027s message replacable name, not resource name.","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            LOG.warning(_LW(\"Port %(pid)s on network %(network)s not bound, \""},{"line_number":71,"context_line":"                            \"no agent registered on host %(host)s\"),"},{"line_number":72,"context_line":"                        {\u0027pid\u0027: context.current[\u0027id\u0027],"},{"line_number":73,"context_line":"                         attributes.NETWORK: context.network.current[\u0027id\u0027],"},{"line_number":74,"context_line":"                         \u0027host\u0027: context.host})"},{"line_number":75,"context_line":"        for agent in agents:"},{"line_number":76,"context_line":"            LOG.debug(\"Checking agent: %s\", agent)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_0cfe476b","line":73,"updated":"2016-03-28 16:41:57.000000000","message":"ditto","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}],"neutron/plugins/ml2/drivers/mech_sriov/agent/sriov_nic_agent.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                                   \u0027pci_slot\u0027: pci_slot})"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def network_update(self, context, **kwargs):"},{"line_number":97,"context_line":"        network_id \u003d kwargs[attributes.NETWORK][\u0027id\u0027]"},{"line_number":98,"context_line":"        LOG.debug(\"network_update message received for network \""},{"line_number":99,"context_line":"                  \"%(network_id)s, with ports: %(ports)s\","},{"line_number":100,"context_line":"                  {\u0027network_id\u0027: network_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_ec02f36e","line":97,"updated":"2016-03-28 16:41:57.000000000","message":"it\u0027s RPC payload.","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}],"neutron/plugins/ml2/drivers/mech_sriov/mech_driver/mech_driver.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        LOG.debug(\"Attempting to bind port %(port)s on \""},{"line_number":97,"context_line":"                  \"network %(network)s\","},{"line_number":98,"context_line":"                  {\u0027port\u0027: context.current[\u0027id\u0027],"},{"line_number":99,"context_line":"                   attributes.NETWORK: context.network.current[\u0027id\u0027]})"},{"line_number":100,"context_line":"        vnic_type \u003d context.current.get(portbindings.VNIC_TYPE,"},{"line_number":101,"context_line":"                                        portbindings.VNIC_NORMAL)"},{"line_number":102,"context_line":"        if vnic_type not in self.supported_vnic_types:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_2cf50b83","line":99,"updated":"2016-03-28 16:41:57.000000000","message":"message replacable...","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":415,"context_line":"        LOG.debug(\"port_delete message processed for port %s\", port_id)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def network_update(self, context, **kwargs):"},{"line_number":418,"context_line":"        network_id \u003d kwargs[attributes.NETWORK][\u0027id\u0027]"},{"line_number":419,"context_line":"        for port_id in self.network_ports[network_id]:"},{"line_number":420,"context_line":"            # notifications could arrive out of order, if the port is deleted"},{"line_number":421,"context_line":"            # we don\u0027t want to update it anymore"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_6cef03b1","line":418,"updated":"2016-03-28 16:41:57.000000000","message":"RPC payload...","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}],"neutron/services/auto_allocate/db.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d3e0773e85d75840cd76c07afb7041cce365654","unresolved":false,"context_lines":[{"line_number":290,"context_line":"                          \"tenant %(tenant)s. Attempting clean up for \""},{"line_number":291,"context_line":"                          \"network %(network)s and router %(router)s\"),"},{"line_number":292,"context_line":"                      {\u0027tenant\u0027: tenant_id,"},{"line_number":293,"context_line":"                       attributes.NETWORK: network_id,"},{"line_number":294,"context_line":"                       \u0027router\u0027: router_id})"},{"line_number":295,"context_line":"            self._cleanup("},{"line_number":296,"context_line":"                context, network_id\u003dnetwork_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_ec395343","line":293,"updated":"2016-03-28 16:41:57.000000000","message":"message replaceable","commit_id":"cd18cb3191c93df87a8dc9b7f6b6776c5224a48b"}]}
