)]}'
{"nova/tests/unit/network/test_network_info.py":[{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"e6bd0f388be29fa97d174cd2974dfc12e6745c4f","unresolved":false,"context_lines":[{"line_number":580,"context_line":"                            interface\u003d\u0027eth0\u0027"},{"line_number":581,"context_line":"                        )"},{"line_number":582,"context_line":"                    )]"},{"line_number":583,"context_line":"            else:"},{"line_number":584,"context_line":"                ipv6_subnet_dict[\u0027routes\u0027] \u003d []"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"            network.add_subnet(fake_network_cache_model.new_subnet("}],"source_content_type":"text/x-python","patch_set":5,"id":"5afe65bd_7c9fef5f","line":583,"updated":"2015-06-02 00:42:33.000000000","message":"Do we not want to honor preserve_routes here? (like line 551)","commit_id":"fff5aac460015972c76f184f6f400ed4b6f41248"}],"nova/virt/interfaces-static-routes.template":[{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"265fdbdcc37b5cbaa391f46a344b3e115a5842cd","unresolved":false,"context_lines":[{"line_number":22,"context_line":"{% endif %}"},{"line_number":23,"context_line":"{% for route in ifc.routes %}"},{"line_number":24,"context_line":"    post-up ip route add {{ route.cidr  }} via {{ route.gateway }} dev ${IFACE}"},{"line_number":25,"context_line":"    pre-down ip route del {{ route.cidr  }} via {{ route.gateway }} dev ${IFACE}"},{"line_number":26,"context_line":"{% endfor %}"},{"line_number":27,"context_line":"{% if use_ipv6 %}"},{"line_number":28,"context_line":"{% if libvirt_virt_type \u003d\u003d \u0027lxc\u0027 %}"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"ba3cc151_9182a251","line":25,"updated":"2015-06-29 19:09:10.000000000","message":"From mgagne: Extra space in `{{ routes.cidr  }}`","commit_id":"d107e104e2b1b3a8937ceefebf733308e7b7f5b0"},{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"44ae4b17956a424a3c9af22f2f7371fc06f5a8c6","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    dns-nameservers {{ ifc.dns }}"},{"line_number":22,"context_line":"{% endif %}"},{"line_number":23,"context_line":"{% for route in ifc.routes %}"},{"line_number":24,"context_line":"    post-up ip route add {{ route.cidr }} via {{ route.gateway }} dev ${IFACE}"},{"line_number":25,"context_line":"    pre-down ip route del {{ route.cidr }} via {{ route.gateway }} dev ${IFACE}"},{"line_number":26,"context_line":"{% endfor %}"},{"line_number":27,"context_line":"{% if use_ipv6 %}"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"9a41bdd9_b8f72d58","line":24,"updated":"2015-07-14 14:48:49.000000000","message":"Sorry I missed that one:\n\nCan we keep {{ ifc.name }} instead? Otherwise it makes it harder for people parsing this file (like cloud-init) because they will now have to do substitution.","commit_id":"29419556c9c6b0bd4118b34001118aec4cf04767"},{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"4730a85044432b3be701634ae7431fd8d97ece6a","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    dns-nameservers {{ ifc.dns }}"},{"line_number":22,"context_line":"{% endif %}"},{"line_number":23,"context_line":"{% for route in ifc.routes %}"},{"line_number":24,"context_line":"    post-up ip route add {{ route.cidr }} via {{ route.gateway }} dev ${IFACE}"},{"line_number":25,"context_line":"    pre-down ip route del {{ route.cidr }} via {{ route.gateway }} dev ${IFACE}"},{"line_number":26,"context_line":"{% endfor %}"},{"line_number":27,"context_line":"{% if use_ipv6 %}"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"9a41bdd9_3c950d86","line":24,"in_reply_to":"9a41bdd9_63d57a1a","updated":"2015-07-15 15:27:04.000000000","message":"Upon reviewing the main template, it also does this. So, this can be a follow-up fix. But, if I fix it here, we need to fix it in the base template also for consistency. I talked with mgagne about it, and he agreed.","commit_id":"29419556c9c6b0bd4118b34001118aec4cf04767"},{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"4ca81c47d011a53201f0a89b189a81f3e5136950","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    dns-nameservers {{ ifc.dns }}"},{"line_number":22,"context_line":"{% endif %}"},{"line_number":23,"context_line":"{% for route in ifc.routes %}"},{"line_number":24,"context_line":"    post-up ip route add {{ route.cidr }} via {{ route.gateway }} dev ${IFACE}"},{"line_number":25,"context_line":"    pre-down ip route del {{ route.cidr }} via {{ route.gateway }} dev ${IFACE}"},{"line_number":26,"context_line":"{% endfor %}"},{"line_number":27,"context_line":"{% if use_ipv6 %}"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"9a41bdd9_63d57a1a","line":24,"in_reply_to":"9a41bdd9_b8f72d58","updated":"2015-07-14 14:57:30.000000000","message":"Yes. I will update and re-push later today. Thanks!","commit_id":"29419556c9c6b0bd4118b34001118aec4cf04767"}],"nova/virt/netutils.py":[{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"b730face1d29fff04d7071fd3e005e351f7f0eb2","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                    gateway_v6 \u003d subnet_v6[\u0027gateway\u0027][\u0027address\u0027]"},{"line_number":154,"context_line":"                dns_v6 \u003d \u0027 \u0027.join([i[\u0027address\u0027] for i in subnet_v6[\u0027dns\u0027]])"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"            if len(subnet_v6[\u0027routes\u0027]) \u003e 0:"},{"line_number":157,"context_line":"                for route in subnet_v6[\u0027routes\u0027]:"},{"line_number":158,"context_line":"                    routes_v6.append({"},{"line_number":159,"context_line":"                        \"cidr\": route[\u0027cidr\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba3cc151_d62fc09f","line":156,"updated":"2015-06-29 19:03:34.000000000","message":"I don\u0027t think this conditional is required. See v4 implementation.","commit_id":"d107e104e2b1b3a8937ceefebf733308e7b7f5b0"},{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"265fdbdcc37b5cbaa391f46a344b3e115a5842cd","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                    gateway_v6 \u003d subnet_v6[\u0027gateway\u0027][\u0027address\u0027]"},{"line_number":154,"context_line":"                dns_v6 \u003d \u0027 \u0027.join([i[\u0027address\u0027] for i in subnet_v6[\u0027dns\u0027]])"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"            if len(subnet_v6[\u0027routes\u0027]) \u003e 0:"},{"line_number":157,"context_line":"                for route in subnet_v6[\u0027routes\u0027]:"},{"line_number":158,"context_line":"                    routes_v6.append({"},{"line_number":159,"context_line":"                        \"cidr\": route[\u0027cidr\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba3cc151_11b0d242","line":156,"in_reply_to":"ba3cc151_d62fc09f","updated":"2015-06-29 19:09:10.000000000","message":"Yeah. It\u0027s not necessary. It\u0027s looping over it anyway in the next line. Good catch!","commit_id":"d107e104e2b1b3a8937ceefebf733308e7b7f5b0"}]}
