)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"12d3baac740f72703f1f3d1af80c70e399cdf799","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Baoping Wang \u003cwbaoping0704@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-18 18:31:35 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"can not reload dnsmasq after update dhcp port"},{"line_number":8,"context_line":"when call add_network_to_dhcp_agent() method, if dhcp_port is None, it will call create_dhcp_port() method in order to create a new dhcp port,"},{"line_number":9,"context_line":"but the method dose not put the new port into cache, so when we update the new port, it will raise a NoneType error that means the new port is not in cache."},{"line_number":10,"context_line":"So in this commit, use the cache by \"self.cache \u003d NetworkCache()\", then put the new dhcp port into the cache by \"self.cache.put_port(dhcp.DictModel(port))\""},{"line_number":11,"context_line":"Fixes Bug1546462"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I786c3bdf628317d70c65e05970222524282b58ed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dae33548_25ad3a9b","line":10,"range":{"start_line":7,"start_character":0,"end_line":10,"end_character":155},"updated":"2016-02-18 13:09:22.000000000","message":"You should follow a guideline https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"5e2f233e5e066087b596172940d38ebe654aeea6"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"12d3baac740f72703f1f3d1af80c70e399cdf799","unresolved":false,"context_lines":[{"line_number":8,"context_line":"when call add_network_to_dhcp_agent() method, if dhcp_port is None, it will call create_dhcp_port() method in order to create a new dhcp port,"},{"line_number":9,"context_line":"but the method dose not put the new port into cache, so when we update the new port, it will raise a NoneType error that means the new port is not in cache."},{"line_number":10,"context_line":"So in this commit, use the cache by \"self.cache \u003d NetworkCache()\", then put the new dhcp port into the cache by \"self.cache.put_port(dhcp.DictModel(port))\""},{"line_number":11,"context_line":"Fixes Bug1546462"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I786c3bdf628317d70c65e05970222524282b58ed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dae33548_45983e6a","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":16},"updated":"2016-02-18 13:09:22.000000000","message":"Closes-Bug: #1546462","commit_id":"5e2f233e5e066087b596172940d38ebe654aeea6"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"8911141b768feed45091e4a27a92d20d229deacc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Baoping Wang \u003cwbaoping0704@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-18 21:26:50 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Can not reload dnsmasq after update dhcp port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, when call add_network_to_dhcp_agent() method,"},{"line_number":10,"context_line":"if dhcp_port is None, create_dhcp_port() method would be called"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bae84128_6ff45a5a","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":14},"updated":"2016-02-23 23:38:58.000000000","message":"Your commit title should explain what the change does not the bug it solves:\n\n Fix dnsmasq reload after dhcp port update","commit_id":"6900900b663c5f60cec6d68bb63bb243d127c6ea"}],"neutron/agent/dhcp/agent.py":[{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"ec963f9430ce57396ed14dd1822863ff9a813509","unresolved":false,"context_lines":[{"line_number":430,"context_line":"                namespace\u003dconstants.RPC_NAMESPACE_DHCP_PLUGIN,"},{"line_number":431,"context_line":"                version\u003d\u00271.0\u0027)"},{"line_number":432,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":433,"context_line":"        self.cache \u003d NetworkCache()"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    def get_active_networks_info(self):"},{"line_number":436,"context_line":"        \"\"\"Make a remote process call to retrieve all network info.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_84719f0e","line":433,"range":{"start_line":433,"start_character":8,"end_line":433,"end_character":35},"updated":"2016-02-18 15:34:38.000000000","message":"Where is \"self.cache\" of this class used? I\u0027m not sure this solves the issue. Could you add UT?","commit_id":"6900900b663c5f60cec6d68bb63bb243d127c6ea"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d93561582115482cf7f72259b5a7719723e77ee1","unresolved":false,"context_lines":[{"line_number":430,"context_line":"                namespace\u003dconstants.RPC_NAMESPACE_DHCP_PLUGIN,"},{"line_number":431,"context_line":"                version\u003d\u00271.0\u0027)"},{"line_number":432,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":433,"context_line":"        self.cache \u003d NetworkCache()"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    def get_active_networks_info(self):"},{"line_number":436,"context_line":"        \"\"\"Make a remote process call to retrieve all network info.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_a73305f5","line":433,"range":{"start_line":433,"start_character":8,"end_line":433,"end_character":35},"in_reply_to":"dae33548_84719f0e","updated":"2016-02-18 15:38:30.000000000","message":"+1 about the unit test","commit_id":"6900900b663c5f60cec6d68bb63bb243d127c6ea"},{"author":{"_account_id":19602,"name":"baoping wang","email":"wbaoping0704@gmail.com","username":"wbaoping"},"change_message_id":"b08d2af915ca8ecc4cd33662eabaf0ecccbf37b6","unresolved":false,"context_lines":[{"line_number":430,"context_line":"                namespace\u003dconstants.RPC_NAMESPACE_DHCP_PLUGIN,"},{"line_number":431,"context_line":"                version\u003d\u00271.0\u0027)"},{"line_number":432,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":433,"context_line":"        self.cache \u003d NetworkCache()"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    def get_active_networks_info(self):"},{"line_number":436,"context_line":"        \"\"\"Make a remote process call to retrieve all network info.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_fb23cfa5","line":433,"range":{"start_line":433,"start_character":8,"end_line":433,"end_character":35},"in_reply_to":"dae33548_84719f0e","updated":"2016-02-19 04:18:40.000000000","message":"Hi, thanks for your review, \"self.cache\" would be used in create_dhcp_port(self, port) method of this class, then \"self.cache.put_port()\" of this method would be used to put this new port into cache. I will add UT later, thanks :)","commit_id":"6900900b663c5f60cec6d68bb63bb243d127c6ea"},{"author":{"_account_id":19602,"name":"baoping wang","email":"wbaoping0704@gmail.com","username":"wbaoping"},"change_message_id":"b08d2af915ca8ecc4cd33662eabaf0ecccbf37b6","unresolved":false,"context_lines":[{"line_number":430,"context_line":"                namespace\u003dconstants.RPC_NAMESPACE_DHCP_PLUGIN,"},{"line_number":431,"context_line":"                version\u003d\u00271.0\u0027)"},{"line_number":432,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":433,"context_line":"        self.cache \u003d NetworkCache()"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    def get_active_networks_info(self):"},{"line_number":436,"context_line":"        \"\"\"Make a remote process call to retrieve all network info.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_fb7f4f64","line":433,"range":{"start_line":433,"start_character":8,"end_line":433,"end_character":35},"in_reply_to":"dae33548_a73305f5","updated":"2016-02-19 04:18:40.000000000","message":"OK, I will add unit test later, thanks for your review. :)","commit_id":"6900900b663c5f60cec6d68bb63bb243d127c6ea"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"f41f0598ed9c9fc3b78042f2cec3260497a220a8","unresolved":false,"context_lines":[{"line_number":430,"context_line":"                namespace\u003dconstants.RPC_NAMESPACE_DHCP_PLUGIN,"},{"line_number":431,"context_line":"                version\u003d\u00271.0\u0027)"},{"line_number":432,"context_line":"        self.client \u003d n_rpc.get_client(target)"},{"line_number":433,"context_line":"        self.cache \u003d NetworkCache()"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    def get_active_networks_info(self):"},{"line_number":436,"context_line":"        \"\"\"Make a remote process call to retrieve all network info.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"dae33548_8d724448","line":433,"range":{"start_line":433,"start_character":8,"end_line":433,"end_character":35},"in_reply_to":"dae33548_fb23cfa5","updated":"2016-02-19 05:10:54.000000000","message":"I meant, where is the cache picked out? I can see the put only.\n\nWell, I\u0027d like to see UT before.","commit_id":"6900900b663c5f60cec6d68bb63bb243d127c6ea"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"1d531d444ed58a3ec38f75519a504892238625f6","unresolved":false,"context_lines":[{"line_number":452,"context_line":"        cctxt \u003d self.client.prepare(version\u003d\u00271.1\u0027)"},{"line_number":453,"context_line":"        port \u003d cctxt.call(self.context, \u0027create_dhcp_port\u0027,"},{"line_number":454,"context_line":"                          port\u003dport, host\u003dself.host)"},{"line_number":455,"context_line":"        if port:"},{"line_number":456,"context_line":"            self.cache.put_port(dhcp.DictModel(port))"},{"line_number":457,"context_line":"            return dhcp.DictModel(port)"},{"line_number":458,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_7ce54a36","line":455,"updated":"2016-03-23 17:59:09.000000000","message":"no need to construct the DictModel twice\n\nport \u003d dhcp.DictModel(port)\nself.cache.put_port(port)\nreturn port","commit_id":"6900900b663c5f60cec6d68bb63bb243d127c6ea"}]}
