)]}'
{"nova/api/openstack/compute/contrib/fixed_ips.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"203ab02be1b983f9f2f0aaa2c4eb2c9fbbeee076","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            raise webob.exc.HTTPNotFound(\"Fixed IP address not found\")"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"class Fixed_ips(extensions.ExtensionDescriptor):"},{"line_number":132,"context_line":"    \"\"\"Fixed IPs support\"\"\""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    name \u003d \"FixedIPs\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2F9hw%3D","line":131,"updated":"2012-10-24 18:12:22.000000000","message":"Non-PEP8 class name.","commit_id":"4131e61096c3cf4267bfe9d53c45d8c17ec9d9df"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"f7faa3151091f531d192ba6365bf7d70bf8c6bf7","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        instances \u003d db.instance_get_all(context)"},{"line_number":62,"context_line":"        instances_by_uuid \u003d {}"},{"line_number":63,"context_line":"        for instance in instances:"},{"line_number":64,"context_line":"            instances_by_uuid[instance[\u0027uuid\u0027]] \u003d instance"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        # Get network information"},{"line_number":67,"context_line":"        all_networks \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALn%2F%2F86g%3D","line":64,"updated":"2012-10-25 03:35:48.000000000","message":"I know this is pre-existing, but I\u0027m a bit worried about this block. There are potentially a large number of instances, and its ok for nova-manage to lock up for a while doing its thing. That\u0027s not really true of our api servers though.\n\nI wonder if there\u0027s something we can do at the database layer to make all this more efficient? It seems this is here as a cache so we can display the instance for a given fixed IP below. That feels like it could be done as a method which implements a join in nova/db/sqlalchemy/api.py.","commit_id":"0caa5199b3a518050027c2e8546bc1dfbb4a4a9d"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"cc520b8d06a60822d0441ff6ddee20dbaef12243","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            raise webob.exc.HTTPNotFound(\"Fixed IP address not found\")"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"class Fixed_ips(extensions.ExtensionDescriptor):"},{"line_number":132,"context_line":"    \"\"\"Fixed IPs support\"\"\""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    name \u003d \"FixedIPs\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALn%2F%2F8p8%3D","line":131,"updated":"2012-10-25 13:10:50.000000000","message":"Non-PEP8 class name.  I think it should be FixedIPs, unless there\u0027s a good reason it can\u0027t?","commit_id":"0caa5199b3a518050027c2e8546bc1dfbb4a4a9d"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"ee92de632655ba3b40390d6df9078a970ca1565b","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            raise webob.exc.HTTPNotFound(\"Fixed IP address not found\")"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"class Fixed_ips(extensions.ExtensionDescriptor):"},{"line_number":132,"context_line":"    \"\"\"Fixed IPs support\"\"\""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    name \u003d \"FixedIPs\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALn%2F%2F7%2BU%3D","line":131,"in_reply_to":"AAAALn%2F%2F8p8%3D","updated":"2012-10-26 00:25:30.000000000","message":"Extension Descriptors need to be specified this way currently do to the way they are detected. It would be awesome if someone wrote a patch to fix this issue and renamed all of the extensions to the nicer syntax.","commit_id":"0caa5199b3a518050027c2e8546bc1dfbb4a4a9d"},{"author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"change_message_id":"6eb2971f31ccd042a37ec95420fd1f5430d85817","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from nova.api.openstack import extensions"},{"line_number":22,"context_line":"from nova.api.openstack import wsgi"},{"line_number":23,"context_line":"from nova.api.openstack import xmlutil"},{"line_number":24,"context_line":"from nova import db"},{"line_number":25,"context_line":"from nova import exception"},{"line_number":26,"context_line":"from nova.openstack.common import log as logging"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALn%2F%2FuZU%3D","line":23,"updated":"2012-11-09 20:11:15.000000000","message":"It doesn\u0027t appear we actually need this right?","commit_id":"15386d94145c4a953c602653a72a09624f2aa064"},{"author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"change_message_id":"6eb2971f31ccd042a37ec95420fd1f5430d85817","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            fixed_ip_info[\u0027fixed_ip\u0027][\u0027cidr\u0027] \u003d network[\u0027cidr\u0027]"},{"line_number":71,"context_line":"            fixed_ip_info[\u0027fixed_ip\u0027][\u0027address\u0027] \u003d fixed_ip[\u0027address\u0027]"},{"line_number":72,"context_line":"            fixed_ip_info[\u0027fixed_ip\u0027][\u0027hostname\u0027] \u003d hostname"},{"line_number":73,"context_line":"            fixed_ip_info[\u0027fixed_ip\u0027][\u0027host\u0027] \u003d host"},{"line_number":74,"context_line":"            return fixed_ip_info"},{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            msg \u003d _(\"Fixed IP %s has been deleted\") % id"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALn%2F%2FuY8%3D","line":73,"updated":"2012-11-09 20:11:15.000000000","message":"Is returning the host name where the instance is running a good idea here? If the intent is for this to be used by an admin only I think it is Okay. But if this is user accessible then I think perhaps we\u0027ll want to guard the \u0027host\u0027 a bit more closely.\n\nSimilar to something like this openstack/compute/views/servers.py (_get_host_id)","commit_id":"15386d94145c4a953c602653a72a09624f2aa064"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"333da7940eeee50c50ea163e2fa1ad77340ed1e3","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            # this is to ensure that IPs associated with deleted"},{"line_number":48,"context_line":"            # networks will not throw exceptions."},{"line_number":49,"context_line":"            for network in db.network_get_all(context):"},{"line_number":50,"context_line":"                all_networks[network.id] \u003d network"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        except exception.NoNetworksFound:"},{"line_number":53,"context_line":"            # do not have any networks, so even if there are IPs, these"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALn%2F%2Ftuk%3D","line":50,"updated":"2012-11-11 05:58:35.000000000","message":"Why would fixed_ip_get_network() not work here?","commit_id":"78cf8a7c496351dfb17b05d4487fea7a89940ed8"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"6cf711602c8c400ddace40d8bf6adb56b23b4c11","unresolved":false,"context_lines":[{"line_number":1154,"context_line":"@require_admin_context"},{"line_number":1155,"context_line":"def fixed_ip_get_by_address_detailed(context, address, session\u003dNone):"},{"line_number":1156,"context_line":"    # This method returns a tuple of (models.FixedIp, models.Network,"},{"line_number":1157,"context_line":"    # models.Instance)."},{"line_number":1158,"context_line":"    if not session:"},{"line_number":1159,"context_line":"        session \u003d get_session()"},{"line_number":1160,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAMH%2F%2F%2Bag%3D","line":1157,"updated":"2012-11-13 14:05:01.000000000","message":"This comment should be a docstring.","commit_id":"f1e19b46cb6efdcd4b446095ef5efcb2a7c8359c"}],"nova/tests/api/openstack/compute/contrib/test_fixed_ips.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"203ab02be1b983f9f2f0aaa2c4eb2c9fbbeee076","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                   \u0027allocated\u0027: False,"},{"line_number":41,"context_line":"                   \u0027leased\u0027: False,"},{"line_number":42,"context_line":"                   \u0027reserved\u0027: False,"},{"line_number":43,"context_line":"                   \u0027host\u0027: None}]"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def fake_fixed_ip_get_all(context):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2F9ik%3D","line":43,"updated":"2012-10-24 18:12:22.000000000","message":"It would be more maintainable to have a trailing comma after the second dict, and the closing bracket on its own line.","commit_id":"4131e61096c3cf4267bfe9d53c45d8c17ec9d9df"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"203ab02be1b983f9f2f0aaa2c4eb2c9fbbeee076","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        fakes.stub_instance(1,"},{"line_number":69,"context_line":"                            uuid\u003d1),"},{"line_number":70,"context_line":"        fakes.stub_instance(2,"},{"line_number":71,"context_line":"                            uuid\u003d2)"},{"line_number":72,"context_line":"        ]"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2F9ig%3D","line":71,"updated":"2012-10-24 18:12:22.000000000","message":"trailing comma","commit_id":"4131e61096c3cf4267bfe9d53c45d8c17ec9d9df"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"203ab02be1b983f9f2f0aaa2c4eb2c9fbbeee076","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                                  {\u0027cidr\u0027: \u0027192.168.1.0/24\u0027,"},{"line_number":126,"context_line":"                                   \u0027hostname\u0027: None,"},{"line_number":127,"context_line":"                                   \u0027host\u0027: None,"},{"line_number":128,"context_line":"                                   \u0027address\u0027: \u0027192.168.1.2\u0027}]}"},{"line_number":129,"context_line":"        self.assertEqual(res_dict, response)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def test_fixed_ip_reserve(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2F9ic%3D","line":128,"updated":"2012-10-24 18:12:22.000000000","message":"trailing comma and newline before closing bracket","commit_id":"4131e61096c3cf4267bfe9d53c45d8c17ec9d9df"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"f7faa3151091f531d192ba6365bf7d70bf8c6bf7","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        fakes.stub_instance(1,"},{"line_number":70,"context_line":"                            uuid\u003d1),"},{"line_number":71,"context_line":"        fakes.stub_instance(2,"},{"line_number":72,"context_line":"                            uuid\u003d2),"},{"line_number":73,"context_line":"        ]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALn%2F%2F86c%3D","line":72,"updated":"2012-10-25 03:35:48.000000000","message":"These should probably be a single line each.","commit_id":"0caa5199b3a518050027c2e8546bc1dfbb4a4a9d"}],"nova/tests/integrated/api_samples/all_extensions/extensions-get-resp.json.tpl":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"203ab02be1b983f9f2f0aaa2c4eb2c9fbbeee076","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            \"name\": \"FixedIPs\", "},{"line_number":144,"context_line":"            \"namespace\": \"http://docs.openstack.org/compute/ext/fixed_ips/api/v2\", "},{"line_number":145,"context_line":"            \"updated\": \"2012-10-18T13:25:27-06:00\""},{"line_number":146,"context_line":"        }, "},{"line_number":147,"context_line":"        {"},{"line_number":148,"context_line":"            \"alias\": \"os-flavor-access\","},{"line_number":149,"context_line":"            \"description\": \"%(text)s\","}],"source_content_type":"text/x-smarty","patch_set":1,"id":"AAAALn%2F%2F9i0%3D","line":146,"updated":"2012-10-24 18:12:22.000000000","message":"trailing whitespace","commit_id":"4131e61096c3cf4267bfe9d53c45d8c17ec9d9df"}],"nova/tests/policy.json":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"203ab02be1b983f9f2f0aaa2c4eb2c9fbbeee076","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    \"compute_extension:disk_config\": \"\","},{"line_number":95,"context_line":"    \"compute_extension:extended_server_attributes\": \"\","},{"line_number":96,"context_line":"    \"compute_extension:extended_status\": \"\","},{"line_number":97,"context_line":"    \"compute_extension:fixed_ips\": [],"},{"line_number":98,"context_line":"    \"compute_extension:flavor_access\": \"\","},{"line_number":99,"context_line":"    \"compute_extension:flavor_disabled\": \"\","},{"line_number":100,"context_line":"    \"compute_extension:flavor_rxtx\": \"\","}],"source_content_type":"application/json","patch_set":1,"id":"AAAALn%2F%2F9hg%3D","line":97,"updated":"2012-10-24 18:12:22.000000000","message":"Why is this value a list when every other value in the dict is a str?","commit_id":"4131e61096c3cf4267bfe9d53c45d8c17ec9d9df"}]}
