)]}'
{"nova/api/ec2/ec2utils.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"5f932507b527b31094cf6a8424f1e0d0e77a6b0a","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    except (ValueError, KeyError, AttributeError):"},{"line_number":123,"context_line":"        # NOTE(jkoelker) If the json load (ValueError) or the"},{"line_number":124,"context_line":"        #                sqlalchemy FK (KeyError, AttributeError)"},{"line_number":125,"context_line":"        #                fail fall back to calling out the the"},{"line_number":126,"context_line":"        #                network api"},{"line_number":127,"context_line":"        return get_ip_for_instance_from_nwinfo(context, instance)"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAC3%2F%2F92U%3D","line":125,"updated":"2011-12-11 02:01:04.000000000","message":"\u0027the the\u0027","commit_id":"0265ede7a6087cf441d626ba089dd1840d0aa58d"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"7f2703f64e9474e7bf5b75398f846c591fb3cf4e","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    except (ValueError, KeyError, AttributeError):"},{"line_number":123,"context_line":"        # NOTE(jkoelker) If the json load (ValueError) or the"},{"line_number":124,"context_line":"        #                sqlalchemy FK (KeyError, AttributeError)"},{"line_number":125,"context_line":"        #                fail fall back to calling out the the"},{"line_number":126,"context_line":"        #                network api"},{"line_number":127,"context_line":"        return get_ip_for_instance_from_nwinfo(context, instance)"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAC3%2F%2F9uo%3D","line":125,"in_reply_to":"AAAAC3%2F%2F92U%3D","updated":"2011-12-12 15:53:54.000000000","message":"\u0027the the\u0027 copy and paste and then edit ;)","commit_id":"0265ede7a6087cf441d626ba089dd1840d0aa58d"}],"nova/api/openstack/common.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"5f932507b527b31094cf6a8424f1e0d0e77a6b0a","unresolved":false,"context_lines":[{"line_number":297,"context_line":"    for vif in nw_info:"},{"line_number":298,"context_line":"        net \u003d {\u0027ips\u0027: vif.fixed_ips(),"},{"line_number":299,"context_line":"               \u0027floating_ips\u0027: vif.floating_ips()}"},{"line_number":300,"context_line":"        networks[vif[\u0027network\u0027][\u0027label\u0027]] \u003d net"},{"line_number":301,"context_line":"    return networks"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAC3%2F%2F92Q%3D","line":300,"updated":"2011-12-11 02:01:04.000000000","message":"Is it not possible someone might have 2 vifs on the same network?  If so, you\u0027re only storing the last set of IPs.","commit_id":"0265ede7a6087cf441d626ba089dd1840d0aa58d"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"7f2703f64e9474e7bf5b75398f846c591fb3cf4e","unresolved":false,"context_lines":[{"line_number":297,"context_line":"    for vif in nw_info:"},{"line_number":298,"context_line":"        net \u003d {\u0027ips\u0027: vif.fixed_ips(),"},{"line_number":299,"context_line":"               \u0027floating_ips\u0027: vif.floating_ips()}"},{"line_number":300,"context_line":"        networks[vif[\u0027network\u0027][\u0027label\u0027]] \u003d net"},{"line_number":301,"context_line":"    return networks"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAC3%2F%2F9u4%3D","line":300,"in_reply_to":"AAAAC3%2F%2F92Q%3D","updated":"2011-12-12 15:53:54.000000000","message":"I\u0027m not sure that is possible without manually editing the DB. If they did, the nw manager would currently return duplicate ips for each of the vifs. Regardless, I\u0027ve updated it to check and extend so in the future we can support this setup.","commit_id":"0265ede7a6087cf441d626ba089dd1840d0aa58d"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"5f932507b527b31094cf6a8424f1e0d0e77a6b0a","unresolved":false,"context_lines":[{"line_number":325,"context_line":"        if \u0027ip6s\u0027 in info:"},{"line_number":326,"context_line":"            for ip in info[\u0027ip6s\u0027]:"},{"line_number":327,"context_line":"                net[\u0027ips\u0027].append(_emit_addr(ip[\u0027ip\u0027], 6))"},{"line_number":328,"context_line":"        networks[info[\u0027label\u0027]] \u003d net"},{"line_number":329,"context_line":"    return networks"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAC3%2F%2F92M%3D","line":328,"updated":"2011-12-11 02:01:04.000000000","message":"Guessing this doesn\u0027t have the same problem as above, since all vif info is under network?","commit_id":"0265ede7a6087cf441d626ba089dd1840d0aa58d"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"7f2703f64e9474e7bf5b75398f846c591fb3cf4e","unresolved":false,"context_lines":[{"line_number":325,"context_line":"        if \u0027ip6s\u0027 in info:"},{"line_number":326,"context_line":"            for ip in info[\u0027ip6s\u0027]:"},{"line_number":327,"context_line":"                net[\u0027ips\u0027].append(_emit_addr(ip[\u0027ip\u0027], 6))"},{"line_number":328,"context_line":"        networks[info[\u0027label\u0027]] \u003d net"},{"line_number":329,"context_line":"    return networks"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAC3%2F%2F9us%3D","line":328,"in_reply_to":"AAAAC3%2F%2F92M%3D","updated":"2011-12-12 15:53:54.000000000","message":"Well so the way the NW manager returns, its possible if you manually edit the DB. Updated to check and extend as well (caveat of dupe ips applies as well).","commit_id":"0265ede7a6087cf441d626ba089dd1840d0aa58d"}],"nova/tests/api/ec2/test_cloud.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"a382bb3ea8657b34ff81a712dbfaf0796a35ca1a","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import functools"},{"line_number":22,"context_line":"import os"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from eventlet import greenthread"},{"line_number":25,"context_line":"from M2Crypto import BIO"},{"line_number":26,"context_line":"from M2Crypto import RSA"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAC3%2F%2F8pI%3D","side":"PARENT","line":24,"updated":"2011-12-15 11:27:06.000000000","message":"This does not seem to belong in this patch.","commit_id":"1b4a0f859e76de4c6e5cb7b51a12e9bf2fb3e295"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7c394a070b85ed73353593b9c09c3ba1985db0b0","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import functools"},{"line_number":22,"context_line":"import os"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from eventlet import greenthread"},{"line_number":25,"context_line":"from M2Crypto import BIO"},{"line_number":26,"context_line":"from M2Crypto import RSA"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAC3%2F%2F8jE%3D","side":"PARENT","line":24,"in_reply_to":"AAAAC3%2F%2F8j8%3D","updated":"2011-12-15 17:07:29.000000000","message":"Fine with me, I don\u0027t think it should block the merge of this patch anyway (this is why I did not  -1 :-)","commit_id":"1b4a0f859e76de4c6e5cb7b51a12e9bf2fb3e295"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"b5be82f58ba543fa3814d867f58fec46e1d4052f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import functools"},{"line_number":22,"context_line":"import os"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from eventlet import greenthread"},{"line_number":25,"context_line":"from M2Crypto import BIO"},{"line_number":26,"context_line":"from M2Crypto import RSA"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAC3%2F%2F8j8%3D","side":"PARENT","line":24,"in_reply_to":"AAAAC3%2F%2F8kc%3D","updated":"2011-12-15 16:52:05.000000000","message":"So I do agree with you 100%, but I guess I\u0027m more lenient in the specific case of unused imports since the code is littered with them. How about we let this one go in, then we can follow it up with a branch that removes *all* unused imports. At that point, I would feel a lot more comfortable enforcing separation of concerns like you suggest here. What do you think?","commit_id":"1b4a0f859e76de4c6e5cb7b51a12e9bf2fb3e295"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"a5012c61b887617a793a86b511ea4e1c37bf66b4","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import functools"},{"line_number":22,"context_line":"import os"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from eventlet import greenthread"},{"line_number":25,"context_line":"from M2Crypto import BIO"},{"line_number":26,"context_line":"from M2Crypto import RSA"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAC3%2F%2F8kc%3D","side":"PARENT","line":24,"in_reply_to":"AAAAC3%2F%2F8lA%3D","updated":"2011-12-15 16:25:37.000000000","message":"Brian: I\u0027m OK too but I hate to see commit polluted with (good) things that are irrelevant to it. That deserves another commit, so a revert is easy and do not revert things that are unrelated. :)\n\nI know I\u0027m picky, but it\u0027s for the good. I hope. :)","commit_id":"1b4a0f859e76de4c6e5cb7b51a12e9bf2fb3e295"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"6cd42cb7b1e648da3d78d7c3a6547953460bd5da","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import functools"},{"line_number":22,"context_line":"import os"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from eventlet import greenthread"},{"line_number":25,"context_line":"from M2Crypto import BIO"},{"line_number":26,"context_line":"from M2Crypto import RSA"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAC3%2F%2F8lA%3D","side":"PARENT","line":24,"in_reply_to":"AAAAC3%2F%2F8lY%3D","updated":"2011-12-15 16:20:22.000000000","message":"Julien: we\u0027re typically ok with removing unused imports like this.","commit_id":"1b4a0f859e76de4c6e5cb7b51a12e9bf2fb3e295"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"b9ff2ea5c33fdb2ac73fc3a8814ce9e0fa7bc1a8","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import functools"},{"line_number":22,"context_line":"import os"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from eventlet import greenthread"},{"line_number":25,"context_line":"from M2Crypto import BIO"},{"line_number":26,"context_line":"from M2Crypto import RSA"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAC3%2F%2F8lY%3D","side":"PARENT","line":24,"in_reply_to":"AAAAC3%2F%2F8pI%3D","updated":"2011-12-15 16:12:40.000000000","message":"Why not, the file was updated with this patch, and I cleaned up the unused import.","commit_id":"1b4a0f859e76de4c6e5cb7b51a12e9bf2fb3e295"}],"nova/tests/api/openstack/fakes.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"5f932507b527b31094cf6a8424f1e0d0e77a6b0a","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import webob.dec"},{"line_number":22,"context_line":"import webob.request"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from glance import client as glance_client"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"import nova.api.openstack.v2.auth"},{"line_number":27,"context_line":"from nova.api import auth as api_auth"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAC3%2F%2F92I%3D","side":"PARENT","line":24,"updated":"2011-12-11 02:01:04.000000000","message":"I know you didn\u0027t put this here, but this should probably be in the same block as webob... at the top of the block.","commit_id":"0c6c7700299e225aee2c86fbe725c8e146b9f0d4"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"7f2703f64e9474e7bf5b75398f846c591fb3cf4e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import webob.dec"},{"line_number":22,"context_line":"import webob.request"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from glance import client as glance_client"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"import nova.api.openstack.v2.auth"},{"line_number":27,"context_line":"from nova.api import auth as api_auth"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAC3%2F%2F9vQ%3D","side":"PARENT","line":24,"in_reply_to":"AAAAC3%2F%2F92I%3D","updated":"2011-12-12 15:53:54.000000000","message":"Done","commit_id":"0c6c7700299e225aee2c86fbe725c8e146b9f0d4"}]}
