)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"01b531124837baf5c0ec88b54cb6d4e27ba513cc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Huan Xie \u003chuan.xie@citrix.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-26 01:39:29 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"POC for neutron rootwrap with XenServer"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ic5c40473256570b452fb2a2eaa1e457f6866dccc"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9abb7d3a_4e2b0fec","line":7,"updated":"2016-05-27 17:14:23.000000000","message":"please add:\n\nRelated-bug: 1585510","commit_id":"fd4813c745d5a013f42205edad38def9d830eb55"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"576f1c5bfc296258572725ad9bede73e9f4aa776","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Huan Xie \u003chuan.xie@citrix.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-26 01:39:29 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"POC for neutron rootwrap with XenServer"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ic5c40473256570b452fb2a2eaa1e457f6866dccc"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9abb7d3a_dc631140","line":7,"in_reply_to":"9abb7d3a_4e2b0fec","updated":"2016-05-30 06:14:21.000000000","message":"Sure, will add Related-bug tag","commit_id":"fd4813c745d5a013f42205edad38def9d830eb55"}],"neutron/agent/linux/rootwrap_daemon_xen_client.py":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"a55494b127cf56842adfa5331abf74f598295991","unresolved":false,"context_lines":[{"line_number":28,"context_line":"XenClientManager \u003d daemon.get_manager_class()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class XenClient(client.Client):"},{"line_number":32,"context_line":"    def __init__(self, rootwrap_daemon_cmd):"},{"line_number":33,"context_line":"        super(XenClient, self).__init__(rootwrap_daemon_cmd)"},{"line_number":34,"context_line":"        LOG.debug(\"rootwrap daemon XenClient init\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_b1b38ee8","line":31,"updated":"2016-05-31 13:15:53.000000000","message":"Why do we need a specific client for XenAPI?\nIs it just that we\u0027re importing rootwrap_daemon_xen_dom0 as the daemon?\nIf this is the case, surely it\u0027d be better to change oslo_rootwrap to take the class it\u0027s going to be a daemon to as a parameter?","commit_id":"af868aeee65a88cb0418d0b469dc911a7fd06b58"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"08e7b3d38366fe4b7e737675ee3eafeddc5f3245","unresolved":false,"context_lines":[{"line_number":28,"context_line":"XenClientManager \u003d daemon.get_manager_class()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class XenClient(client.Client):"},{"line_number":32,"context_line":"    def __init__(self, rootwrap_daemon_cmd):"},{"line_number":33,"context_line":"        super(XenClient, self).__init__(rootwrap_daemon_cmd)"},{"line_number":34,"context_line":"        LOG.debug(\"rootwrap daemon XenClient init\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_5612f409","line":31,"in_reply_to":"9abb7d3a_b1b38ee8","updated":"2016-06-01 01:33:57.000000000","message":"The main reason for this class is that I cannot hook our own XenClientManager(Line:28, Line:62) and I don\u0027t want to change oslo_rootwrap code, so I made this specific client. But agree with you, if we change some oslo_rootwrap code, it\u0027s much easier and clearer in neutron code","commit_id":"af868aeee65a88cb0418d0b469dc911a7fd06b58"}],"neutron/agent/linux/utils.py":[{"author":{"_account_id":20256,"name":"Zhigang Li","email":"li.zhigang3@zte.com.cn","username":"lizhigang"},"change_message_id":"11b0c827164bc318492d12736557ed15c299dbe5","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    def get_client(cls):"},{"line_number":56,"context_line":"        with cls.__lock:"},{"line_number":57,"context_line":"            if cls.__client is None:"},{"line_number":58,"context_line":"                a \u003d shlex.split(cfg.CONF.AGENT.root_helper_daemon)"},{"line_number":59,"context_line":"                LOG.debug(\"RootwrapDaemonHelper, a: %s\", a)"},{"line_number":60,"context_line":"                # a: [\u0027sudo\u0027, \u0027/usr/local/bin/neutron-rootwrap-daemon\u0027, \u0027/etc/neutron/rootwrap.conf\u0027]"},{"line_number":61,"context_line":"                if \u0027neutron-rootwrap-daemon-xenserver\u0027 in cfg.CONF.AGENT.root_helper_daemon:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_52185775","line":58,"range":{"start_line":58,"start_character":15,"end_line":58,"end_character":19},"updated":"2016-05-26 09:52:00.000000000","message":"variable name is too simple.","commit_id":"fd4813c745d5a013f42205edad38def9d830eb55"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"d38544f2f1bc0cfaa552e7ca7c860638af7320cf","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    def get_client(cls):"},{"line_number":56,"context_line":"        with cls.__lock:"},{"line_number":57,"context_line":"            if cls.__client is None:"},{"line_number":58,"context_line":"                a \u003d shlex.split(cfg.CONF.AGENT.root_helper_daemon)"},{"line_number":59,"context_line":"                LOG.debug(\"RootwrapDaemonHelper, a: %s\", a)"},{"line_number":60,"context_line":"                # a: [\u0027sudo\u0027, \u0027/usr/local/bin/neutron-rootwrap-daemon\u0027, \u0027/etc/neutron/rootwrap.conf\u0027]"},{"line_number":61,"context_line":"                if \u0027neutron-rootwrap-daemon-xenserver\u0027 in cfg.CONF.AGENT.root_helper_daemon:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_4d80918b","line":58,"range":{"start_line":58,"start_character":15,"end_line":58,"end_character":19},"in_reply_to":"bab6814e_52185775","updated":"2016-05-27 01:13:26.000000000","message":"yes, thanks a lot. Sorry for that the code is not totally formal, just POC to investigate on whether it\u0027s workable","commit_id":"fd4813c745d5a013f42205edad38def9d830eb55"}]}
