)]}'
{"lib/neutron":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"c906901d5dc3e2529ee3d0ad1b1153cf59273ab5","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"    fi"},{"line_number":1025,"context_line":"}"},{"line_number":1026,"context_line":""},{"line_number":1027,"context_line":"# _neutron_deploy_rootwrap_filters() - deploy rootwrap filters to $Q_CONF_ROOTWRAP_D (owned by root)."},{"line_number":1028,"context_line":"function _neutron_deploy_rootwrap_filters {"},{"line_number":1029,"context_line":"    local srcdir\u003d$1"},{"line_number":1030,"context_line":"    mkdir -p -m 755 $Q_CONF_ROOTWRAP_D"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"3a961159_8feb9c11","line":1027,"updated":"2015-01-12 02:38:40.000000000","message":"this bit of the change seems to be unrelated?","commit_id":"30f2da46c1ef98cd7110f2d0951f49cc12acee48"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"f25245dd9c1285d39bcf25ad35ab2183fd636e93","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"    fi"},{"line_number":1025,"context_line":"}"},{"line_number":1026,"context_line":""},{"line_number":1027,"context_line":"# _neutron_deploy_rootwrap_filters() - deploy rootwrap filters to $Q_CONF_ROOTWRAP_D (owned by root)."},{"line_number":1028,"context_line":"function _neutron_deploy_rootwrap_filters {"},{"line_number":1029,"context_line":"    local srcdir\u003d$1"},{"line_number":1030,"context_line":"    mkdir -p -m 755 $Q_CONF_ROOTWRAP_D"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"3a961159_849c5a6c","line":1027,"in_reply_to":"3a961159_8feb9c11","updated":"2015-01-12 10:26:24.000000000","message":"Why? This code is moved from Line 1038-1042 into a separate function to be able to reuse it from other sub-modules.","commit_id":"30f2da46c1ef98cd7110f2d0951f49cc12acee48"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"fafca96ce51b415e42d318bcc7a27ac801d72800","unresolved":false,"context_lines":[{"line_number":1028,"context_line":"function _neutron_deploy_rootwrap_filters {"},{"line_number":1029,"context_line":"    local srcdir\u003d$1"},{"line_number":1030,"context_line":"    mkdir -p -m 755 $Q_CONF_ROOTWRAP_D"},{"line_number":1031,"context_line":"    sudo cp -pr $srcdir/etc/neutron/rootwrap.d/* $Q_CONF_ROOTWRAP_D/"},{"line_number":1032,"context_line":"    sudo chown -R root:root $Q_CONF_ROOTWRAP_D"},{"line_number":1033,"context_line":"    sudo chmod 644 $Q_CONF_ROOTWRAP_D/*"},{"line_number":1034,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"3a961159_77147be9","line":1031,"updated":"2015-01-12 12:19:42.000000000","message":"sudo here is needed because directory may have already been created by another module and have root only permissions.","commit_id":"5893cc7c5f14ecf645a010b930577eaaa01a3eb8"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"d2f7b7a9ca5667958977d93e39ee317e73c8c3cc","unresolved":false,"context_lines":[{"line_number":1030,"context_line":"    mkdir -p -m 755 $Q_CONF_ROOTWRAP_D"},{"line_number":1031,"context_line":"    sudo cp -pr $srcdir/etc/neutron/rootwrap.d/* $Q_CONF_ROOTWRAP_D/"},{"line_number":1032,"context_line":"    sudo chown -R root:root $Q_CONF_ROOTWRAP_D"},{"line_number":1033,"context_line":"    sudo chmod 644 $Q_CONF_ROOTWRAP_D/*"},{"line_number":1034,"context_line":"}"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"# _neutron_setup_rootwrap() - configure Neutron\u0027s rootwrap"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"3a961159_42cfb829","line":1033,"updated":"2015-01-12 15:55:23.000000000","message":"nit: \u0027install\u0027 can do this entire function in one line.","commit_id":"5893cc7c5f14ecf645a010b930577eaaa01a3eb8"}],"lib/neutron_plugins/services/firewall":[{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"d2f7b7a9ca5667958977d93e39ee317e73c8c3cc","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    :"},{"line_number":24,"context_line":"}"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"# Restore xtrace"},{"line_number":27,"context_line":"$FW_XTRACE"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"3a961159_8537eae3","side":"PARENT","line":26,"updated":"2015-01-12 15:55:23.000000000","message":"I\u0027m halfway thinking that this file should install rootwrap files if they exist, just to avoid that churn when it inevitably happens.  Which leads to to wonder if there\u0027s a general place to put it. The other half of me thinks that putting it in before it\u0027s used is madness.","commit_id":"5c0a3cfb71ef8c8faca92c19e4eee4968eb309e3"}]}
