)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"29dd32ce9393e09f67096225f23a70b230b9c6df","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix problem of deleting dhcp port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"when network is deleted, the dhcp port in that network will be deleted, so"},{"line_number":10,"context_line":"\u0027_cleanup_ports\u0027 should not clean dhcp port,I already hava a patch to fix"},{"line_number":11,"context_line":"the problem of deleting dhcp port."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I92f90a3dad6d76954d466e4b30ab7c46434ba7df"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAVn%2F%2Fu4Q%3D","line":10,"updated":"2014-03-04 12:41:51.000000000","message":"* hava\u003dhave.\n* There is a blank missing between \"port,I\" and I think it should be a period not a comma.","commit_id":"26117bb2aa4dc40fd9f34747de8e11673c9ef42c"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"4af83eeff0af75f0d70907f395f6b847cf40a71c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix problem of deleting dhcp port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"when network is deleted, the dhcp port in that network will be deleted, so"},{"line_number":10,"context_line":"\u0027_cleanup_ports\u0027 should not clean dhcp port,I already hava a patch to fix"},{"line_number":11,"context_line":"the problem of deleting dhcp port."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I92f90a3dad6d76954d466e4b30ab7c46434ba7df"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAVn%2F%2FQH4%3D","line":10,"in_reply_to":"AAAAVn%2F%2Fu4Q%3D","updated":"2014-03-07 09:07:23.000000000","message":"thanks for your review and suggestion, I\u0027ll do as you suggest.","commit_id":"26117bb2aa4dc40fd9f34747de8e11673c9ef42c"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"29dd32ce9393e09f67096225f23a70b230b9c6df","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"when network is deleted, the dhcp port in that network will be deleted, so"},{"line_number":10,"context_line":"\u0027_cleanup_ports\u0027 should not clean dhcp port,I already hava a patch to fix"},{"line_number":11,"context_line":"the problem of deleting dhcp port."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I92f90a3dad6d76954d466e4b30ab7c46434ba7df"},{"line_number":14,"context_line":"Closes-bug: #1279683"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAVn%2F%2Fuxs%3D","line":11,"updated":"2014-03-04 12:41:51.000000000","message":"For me this commit message was a bit hard to understand. Can you have a look to\nhttps://wiki.openstack.org/wiki/GitCommitMessages to find good examples how it could look like. I tried to comment what would it make more readable.","commit_id":"26117bb2aa4dc40fd9f34747de8e11673c9ef42c"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"de9eae45fba46921758175379fd97be5b6899316","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix problem of deleting dhcp port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"when network is deleted, the dhcp port in that network will be deleted"},{"line_number":10,"context_line":"automaticly, so \u0027_cleanup_ports\u0027 should not clean dhcp port. I already"},{"line_number":11,"context_line":"have a patch to fix the problem of deleting dhcp port."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I92f90a3dad6d76954d466e4b30ab7c46434ba7df"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAVn%2F%2FMPQ%3D","line":10,"updated":"2014-03-07 18:36:07.000000000","message":"automaticly -\u003e automatically","commit_id":"bef5875413f3ac7fa7ddf5767ef86ca9a85ef5c1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"de9eae45fba46921758175379fd97be5b6899316","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"when network is deleted, the dhcp port in that network will be deleted"},{"line_number":10,"context_line":"automaticly, so \u0027_cleanup_ports\u0027 should not clean dhcp port. I already"},{"line_number":11,"context_line":"have a patch to fix the problem of deleting dhcp port."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I92f90a3dad6d76954d466e4b30ab7c46434ba7df"},{"line_number":14,"context_line":"Closes-bug: #1279683"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAVn%2F%2FMPA%3D","line":11,"updated":"2014-03-07 18:36:07.000000000","message":"I would like to know the patch? Could you share the link?","commit_id":"bef5875413f3ac7fa7ddf5767ef86ca9a85ef5c1"}],"tempest/common/isolated_creds.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"77d3e9894ffe86026be4b153b6936e3219576037","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            for port in self.ports"},{"line_number":458,"context_line":"            if (port[\u0027network_id\u0027] \u003d\u003d network_id and"},{"line_number":459,"context_line":"                port[\u0027device_owner\u0027] !\u003d \u0027network:router_interface\u0027 and"},{"line_number":460,"context_line":"                port[\u0027device_owner\u0027] !\u003d \u0027network:dhcp\u0027)"},{"line_number":461,"context_line":"        ]"},{"line_number":462,"context_line":"        for port in ports_to_delete:"},{"line_number":463,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2BYsc%3D","line":460,"updated":"2014-02-21 13:48:55.000000000","message":"Use a \"not in\" statement with a list.","commit_id":"f6f99a48a8ed6db7e690998e23137d6221c9bddc"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"29dd32ce9393e09f67096225f23a70b230b9c6df","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"CONF \u003d config.CONF"},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"AUTO_DELETE_PORT_OWNERS \u003d [\u0027network:dhcp\u0027, \u0027network:router_interface\u0027]"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class IsolatedCreds(object):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2Fu00%3D","line":28,"updated":"2014-03-04 12:41:51.000000000","message":"Is this variable name correct? What is the meaning of \"AUTO_DELETE\"? Isn\u0027t it more the opposite since it\u0027s a \"not in\" list?\nI am not sure if we really need this variable at all.","commit_id":"26117bb2aa4dc40fd9f34747de8e11673c9ef42c"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"4af83eeff0af75f0d70907f395f6b847cf40a71c","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"CONF \u003d config.CONF"},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"AUTO_DELETE_PORT_OWNERS \u003d [\u0027network:dhcp\u0027, \u0027network:router_interface\u0027]"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class IsolatedCreds(object):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2FQDs%3D","line":28,"in_reply_to":"AAAAVn%2F%2FQGk%3D","updated":"2014-03-07 09:07:23.000000000","message":"thanks for your suggestion","commit_id":"26117bb2aa4dc40fd9f34747de8e11673c9ef42c"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"a535394e380cab9ea28526c901a47463ea4528da","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"CONF \u003d config.CONF"},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"AUTO_DELETE_PORT_OWNERS \u003d [\u0027network:dhcp\u0027, \u0027network:router_interface\u0027]"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class IsolatedCreds(object):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2FueM%3D","line":28,"in_reply_to":"AAAAVn%2F%2Fu00%3D","updated":"2014-03-04 13:15:57.000000000","message":"thanks for your review firstly.the meaning of \"AUTO_DELETE\" is that dhcp port will be deleted when network is deleted, router interface port will be deleted when the subnet remove from the router.","commit_id":"26117bb2aa4dc40fd9f34747de8e11673c9ef42c"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d14fb11d812b2e5bb62a0fcfc979186a42c2493f","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"CONF \u003d config.CONF"},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"AUTO_DELETE_PORT_OWNERS \u003d [\u0027network:dhcp\u0027, \u0027network:router_interface\u0027]"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class IsolatedCreds(object):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2FQGk%3D","line":28,"in_reply_to":"AAAAVn%2F%2FueM%3D","updated":"2014-03-07 09:01:17.000000000","message":"AUTO_DELETE_PORT_OWNERS is a constant name used in neutron code. Ports owned by a network itself will be deleted during network-delete. In general, neutron raises an error NetworkInUse if there is a port on the network, but network-owned port (dhcp-agent port is the only such port now) is an exception on this.\n\nFor naming, it sounds NETWORK_OWNED_PORTS or similar name sounds good to me. AUTO_DELETE_PORT_OWNERS is too specific to neutron internal.\n\nFrom the point of tempest view, trying to delete dhcp-port sometimes fails and sometimes succeeds. It depends on which comes first port-delete from tempest or release_dhcp_ports from dhcp-agent triggered by subnet-delete. To avoid unnecessary error, this change sounds reasonable.\n\nAs already commented, router:interface is not this kind of ports. It needs to be removed from the list above.","commit_id":"26117bb2aa4dc40fd9f34747de8e11673c9ef42c"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"de9eae45fba46921758175379fd97be5b6899316","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"CONF \u003d config.CONF"},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"NETWORK_OWNED_PORTS \u003d [\u0027network:dhcp\u0027, \u0027network:router_interface\u0027]"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class IsolatedCreds(object):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2FMRY%3D","line":28,"updated":"2014-03-07 18:36:07.000000000","message":"Hmm... router_interface is not network-owned ports. router_interface ports are owed by routers.\nPerhaps you want to have a list of ports which we do not need to delete explicitly. It is better to explore a better name.","commit_id":"bef5875413f3ac7fa7ddf5767ef86ca9a85ef5c1"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"cf6d67df21a538ed5978f7e16711871b1d1abcf9","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"CONF \u003d config.CONF"},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"NETWORK_OWNED_PORTS \u003d [\u0027network:dhcp\u0027, \u0027network:router_interface\u0027]"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class IsolatedCreds(object):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2FHWQ%3D","line":28,"in_reply_to":"AAAAVn%2F%2FMRY%3D","updated":"2014-03-09 08:49:45.000000000","message":"Done","commit_id":"bef5875413f3ac7fa7ddf5767ef86ca9a85ef5c1"}]}
