)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"c19b3db0ef948f8686ead3ce91f40e37e0be4d77","unresolved":false,"context_lines":[{"line_number":2168,"context_line":"    # returned in the result"},{"line_number":2169,"context_line":"    for network in result:"},{"line_number":2170,"context_line":"        if network[\u0027host\u0027] is None:"},{"line_number":2171,"context_line":"            raise exception.NetworkHostNotSet(network_id\u003dnetwork[\u0027id\u0027])"},{"line_number":2172,"context_line":""},{"line_number":2173,"context_line":"    #check if the result contains all the networks"},{"line_number":2174,"context_line":"    #we are looking for"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FZc0%3D","side":"PARENT","line":2171,"updated":"2012-09-14 05:02:42.000000000","message":"This logic was incorrect. In multihost mode host is not set on the network. I think this was used as a way to ignore vlan networks that hadn\u0027t been associated with a project yet, but now that we are ignoring  project_id\u003dNone networks in vlan mode we can remove this faulty logic","commit_id":"9e81075621950afd86a129c7c9e8380019e15597"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"7a92a5de3fd2b4c5e7afc0535c342d2dfde8f430","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    \"\"\""},{"line_number":201,"context_line":"    session \u003d kwargs.get(\u0027session\u0027) or get_session()"},{"line_number":202,"context_line":"    read_deleted \u003d kwargs.get(\u0027read_deleted\u0027) or context.read_deleted"},{"line_number":203,"context_line":"    project_only \u003d kwargs.get(\u0027project_only\u0027, False)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    query \u003d session.query(model, *args)"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FYOs%3D","line":203,"updated":"2012-09-17 18:09:11.000000000","message":"Nitpick, but None seems like a better default here since this isn\u0027t passed in as a boolean","commit_id":"7937144fce54570b2da543663e6ee5e64b1c3cdb"}],"nova/network/manager.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"9a010f4ee3196436196824aa23e34bf1e5e03afc","unresolved":false,"context_lines":[{"line_number":1681,"context_line":""},{"line_number":1682,"context_line":"        network_uuids \u003d [uuid for (uuid, fixed_ip) in networks]"},{"line_number":1683,"context_line":""},{"line_number":1684,"context_line":"        self._get_networks_by_uuids(context, network_uuids)"},{"line_number":1685,"context_line":""},{"line_number":1686,"context_line":"        for network_uuid, address in networks:"},{"line_number":1687,"context_line":"            # check if the fixed IP address is valid and"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FcF8%3D","side":"PARENT","line":1684,"updated":"2012-09-11 12:30:48.000000000","message":"This leaves _get_networks_by_uuids() unused, so it can be removed\n\nHowever, I think this is actually doing some useful validation - e.g. checking whether the network exists, checking whether it\u0027s part of the user\u0027s project, etc.\n\nWould make more sense to me to just use context.elevated() here","commit_id":"3c4d097a6b88071339f075f4ad3234f36d9371d6"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"13d4a5d1d778fb36d6540d5809491ab9678a7fa9","unresolved":false,"context_lines":[{"line_number":1681,"context_line":""},{"line_number":1682,"context_line":"        network_uuids \u003d [uuid for (uuid, fixed_ip) in networks]"},{"line_number":1683,"context_line":""},{"line_number":1684,"context_line":"        self._get_networks_by_uuids(context, network_uuids)"},{"line_number":1685,"context_line":""},{"line_number":1686,"context_line":"        for network_uuid, address in networks:"},{"line_number":1687,"context_line":"            # check if the fixed IP address is valid and"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FaIw%3D","side":"PARENT","line":1684,"in_reply_to":"AAAALH%2F%2FaYw%3D","updated":"2012-09-13 09:13:25.000000000","message":"TBH I can\u0027t really convince myself either way whether deleting it changes behaviour, but I\u0027m happy to take your word for it :)\n\nPoint remains that the unused _get_networks_by_uuids() method should be deleted","commit_id":"3c4d097a6b88071339f075f4ad3234f36d9371d6"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"b1d94744f7af3cf1fb16c9edab17fa806c721b2c","unresolved":false,"context_lines":[{"line_number":1681,"context_line":""},{"line_number":1682,"context_line":"        network_uuids \u003d [uuid for (uuid, fixed_ip) in networks]"},{"line_number":1683,"context_line":""},{"line_number":1684,"context_line":"        self._get_networks_by_uuids(context, network_uuids)"},{"line_number":1685,"context_line":""},{"line_number":1686,"context_line":"        for network_uuid, address in networks:"},{"line_number":1687,"context_line":"            # check if the fixed IP address is valid and"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FaYw%3D","side":"PARENT","line":1684,"in_reply_to":"AAAALH%2F%2FcF8%3D","updated":"2012-09-13 01:28:38.000000000","message":"That was my first thought as well, but look below","commit_id":"3c4d097a6b88071339f075f4ad3234f36d9371d6"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"b1d94744f7af3cf1fb16c9edab17fa806c721b2c","unresolved":false,"context_lines":[{"line_number":1693,"context_line":"                fixed_ip_ref \u003d self.db.fixed_ip_get_by_address(context,"},{"line_number":1694,"context_line":"                                                               address)"},{"line_number":1695,"context_line":"                network \u003d self._get_network_by_id(context,"},{"line_number":1696,"context_line":"                                                  fixed_ip_ref[\u0027network_id\u0027])"},{"line_number":1697,"context_line":"                if network[\u0027uuid\u0027] !\u003d network_uuid:"},{"line_number":1698,"context_line":"                    raise exception.FixedIpNotFoundForNetwork("},{"line_number":1699,"context_line":"                        address\u003daddress, network_uuid\u003dnetwork_uuid)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FaYs%3D","side":"PARENT","line":1696,"updated":"2012-09-13 01:28:38.000000000","message":"this verifies that the context can access the network asociated with the fixed ip...","commit_id":"3c4d097a6b88071339f075f4ad3234f36d9371d6"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"13d4a5d1d778fb36d6540d5809491ab9678a7fa9","unresolved":false,"context_lines":[{"line_number":1693,"context_line":"                fixed_ip_ref \u003d self.db.fixed_ip_get_by_address(context,"},{"line_number":1694,"context_line":"                                                               address)"},{"line_number":1695,"context_line":"                network \u003d self._get_network_by_id(context,"},{"line_number":1696,"context_line":"                                                  fixed_ip_ref[\u0027network_id\u0027])"},{"line_number":1697,"context_line":"                if network[\u0027uuid\u0027] !\u003d network_uuid:"},{"line_number":1698,"context_line":"                    raise exception.FixedIpNotFoundForNetwork("},{"line_number":1699,"context_line":"                        address\u003daddress, network_uuid\u003dnetwork_uuid)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FaI4%3D","side":"PARENT","line":1696,"in_reply_to":"AAAALH%2F%2FaYs%3D","updated":"2012-09-13 09:13:25.000000000","message":"VlanManager overrides _get_networks_by_uuid() to require that the network belongs to the user\u0027s project - get_network_id() always requires that?\n\nAlso, FlatDHCPManager overrides _get_network_by_id() to pass an admin context but that doesn\u0027t apply for FlatManager and VlanManager. Huh?","commit_id":"3c4d097a6b88071339f075f4ad3234f36d9371d6"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"b1d94744f7af3cf1fb16c9edab17fa806c721b2c","unresolved":false,"context_lines":[{"line_number":1694,"context_line":"                                                               address)"},{"line_number":1695,"context_line":"                network \u003d self._get_network_by_id(context,"},{"line_number":1696,"context_line":"                                                  fixed_ip_ref[\u0027network_id\u0027])"},{"line_number":1697,"context_line":"                if network[\u0027uuid\u0027] !\u003d network_uuid:"},{"line_number":1698,"context_line":"                    raise exception.FixedIpNotFoundForNetwork("},{"line_number":1699,"context_line":"                        address\u003daddress, network_uuid\u003dnetwork_uuid)"},{"line_number":1700,"context_line":"                if fixed_ip_ref[\u0027instance_uuid\u0027] is not None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FaYo%3D","side":"PARENT","line":1697,"updated":"2012-09-13 01:28:38.000000000","message":"...and this verifies that the requested uuid is the one associated with the fixed ip.\n\nSo i don\u0027t think the validation above is necessary at all.","commit_id":"3c4d097a6b88071339f075f4ad3234f36d9371d6"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"a0b75e25c8f12fc00355cf726d2ed5a6dfd6e791","unresolved":false,"context_lines":[{"line_number":1996,"context_line":""},{"line_number":1997,"context_line":"    def _get_network_by_id(self, context, network_id):"},{"line_number":1998,"context_line":"        # NOTE(vish): Don\u0027t allow access to networks with project_id\u003dNone as"},{"line_number":1999,"context_line":"        #             these are networksa that haven\u0027t been allocated to a"},{"line_number":2000,"context_line":"        #             project yet."},{"line_number":2001,"context_line":"        return self.db.network_get(context, network_id, project_only\u003dTrue)"},{"line_number":2002,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FZcI%3D","line":1999,"updated":"2012-09-14 05:26:11.000000000","message":"networksa -\u003e networks","commit_id":"7937144fce54570b2da543663e6ee5e64b1c3cdb"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"a0b75e25c8f12fc00355cf726d2ed5a6dfd6e791","unresolved":false,"context_lines":[{"line_number":2002,"context_line":""},{"line_number":2003,"context_line":"    def _get_networks_by_uuids(self, context, network_uuids):"},{"line_number":2004,"context_line":"        # NOTE(vish): Don\u0027t allow access to networks with project_id\u003dNone as"},{"line_number":2005,"context_line":"        #             these are networksa that haven\u0027t been allocated to a"},{"line_number":2006,"context_line":"        #             project yet."},{"line_number":2007,"context_line":"        return self.db.network_get_all_by_uuids(context, network_uuids,"},{"line_number":2008,"context_line":"                                                project_only\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FZcE%3D","line":2005,"updated":"2012-09-14 05:26:11.000000000","message":"ditto","commit_id":"7937144fce54570b2da543663e6ee5e64b1c3cdb"}],"nova/tests/image/test_s3.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"c19b3db0ef948f8686ead3ce91f40e37e0be4d77","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        img \u003d self.image_service._s3_create(self.context, metadata)"},{"line_number":189,"context_line":"        eventlet.sleep()"},{"line_number":190,"context_line":"        translated \u003d self.image_service._translate_id_to_uuid(self.context,"},{"line_number":191,"context_line":"                                                              img)"},{"line_number":192,"context_line":"        uuid \u003d translated[\u0027id\u0027]"},{"line_number":193,"context_line":"        image_service \u003d fake.FakeImageService()"},{"line_number":194,"context_line":"        updated_image \u003d image_service.update(self.context, uuid,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FZc4%3D","line":191,"updated":"2012-09-14 05:02:42.000000000","message":"note: changes uncovered a bug in this test.","commit_id":"7937144fce54570b2da543663e6ee5e64b1c3cdb"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"a0b75e25c8f12fc00355cf726d2ed5a6dfd6e791","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        img \u003d self.image_service._s3_create(self.context, metadata)"},{"line_number":189,"context_line":"        eventlet.sleep()"},{"line_number":190,"context_line":"        translated \u003d self.image_service._translate_id_to_uuid(self.context,"},{"line_number":191,"context_line":"                                                              img)"},{"line_number":192,"context_line":"        uuid \u003d translated[\u0027id\u0027]"},{"line_number":193,"context_line":"        image_service \u003d fake.FakeImageService()"},{"line_number":194,"context_line":"        updated_image \u003d image_service.update(self.context, uuid,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FZcA%3D","line":191,"in_reply_to":"AAAALH%2F%2FZc4%3D","updated":"2012-09-14 05:26:11.000000000","message":"Wild","commit_id":"7937144fce54570b2da543663e6ee5e64b1c3cdb"}]}
