)]}'
{"nova/api/metadata/base.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dfcba0da7ecb4f00d180adab36c3f0c2dd47b6ae","unresolved":false,"context_lines":[{"line_number":652,"context_line":""},{"line_number":653,"context_line":"def get_metadata_by_address(address):"},{"line_number":654,"context_line":"    ctxt \u003d context.get_admin_context()"},{"line_number":655,"context_line":"    fixed_ip \u003d network.API().get_fixed_ip_by_address(ctxt, address)"},{"line_number":656,"context_line":"    LOG.info(_LI(\u0027Fixed IP %(ip)s translates to instance UUID %(uuid)s\u0027),"},{"line_number":657,"context_line":"             {\u0027ip\u0027: address, \u0027uuid\u0027: fixed_ip[\u0027instance_uuid\u0027]})"},{"line_number":658,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_2825d7c1","line":655,"updated":"2017-01-12 23:30:55.000000000","message":"For the cells v1 job this would be nova-network, for everything else it\u0027s Neutron which is going to be global to Nova. I\u0027m not sure that we run anything with the metadata API in the cells v1 job to see if this would fail...","commit_id":"bedd7e0abc6426ef2316a5fecfd71b313b2f9faf"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dfcba0da7ecb4f00d180adab36c3f0c2dd47b6ae","unresolved":false,"context_lines":[{"line_number":671,"context_line":"        im \u003d objects.InstanceMapping.get_by_instance_uuid(ctxt, instance_id)"},{"line_number":672,"context_line":"    except exception.InstanceMappingNotFound:"},{"line_number":673,"context_line":"        LOG.warning(_LW(\u0027Instance mapping for %(uuid)s not found; \u0027"},{"line_number":674,"context_line":"                      \u0027cell setup is incomplete\u0027),"},{"line_number":675,"context_line":"                  uuid\u003dinstance_id)"},{"line_number":676,"context_line":"        instance \u003d objects.Instance.get_by_uuid(ctxt, instance_id,"},{"line_number":677,"context_line":"                                                expected_attrs\u003dattrs)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_831a2c6d","line":674,"updated":"2017-01-12 23:30:55.000000000","message":"omfg dan alignment!","commit_id":"bedd7e0abc6426ef2316a5fecfd71b313b2f9faf"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dfcba0da7ecb4f00d180adab36c3f0c2dd47b6ae","unresolved":false,"context_lines":[{"line_number":672,"context_line":"    except exception.InstanceMappingNotFound:"},{"line_number":673,"context_line":"        LOG.warning(_LW(\u0027Instance mapping for %(uuid)s not found; \u0027"},{"line_number":674,"context_line":"                      \u0027cell setup is incomplete\u0027),"},{"line_number":675,"context_line":"                  uuid\u003dinstance_id)"},{"line_number":676,"context_line":"        instance \u003d objects.Instance.get_by_uuid(ctxt, instance_id,"},{"line_number":677,"context_line":"                                                expected_attrs\u003dattrs)"},{"line_number":678,"context_line":"        return InstanceMetadata(instance, address)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_433764e3","line":675,"range":{"start_line":675,"start_character":18,"end_line":675,"end_character":34},"updated":"2017-01-12 23:30:55.000000000","message":"I\u0027m pretty sure this doesn\u0027t work, you have to use:\n\n{\u0027uuid\u0027: instance_id}","commit_id":"bedd7e0abc6426ef2316a5fecfd71b313b2f9faf"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9ffe32ae820bf53640ae14673415c59e6be5b3f8","unresolved":false,"context_lines":[{"line_number":672,"context_line":"    except exception.InstanceMappingNotFound:"},{"line_number":673,"context_line":"        LOG.warning(_LW(\u0027Instance mapping for %(uuid)s not found; \u0027"},{"line_number":674,"context_line":"                      \u0027cell setup is incomplete\u0027),"},{"line_number":675,"context_line":"                  uuid\u003dinstance_id)"},{"line_number":676,"context_line":"        instance \u003d objects.Instance.get_by_uuid(ctxt, instance_id,"},{"line_number":677,"context_line":"                                                expected_attrs\u003dattrs)"},{"line_number":678,"context_line":"        return InstanceMetadata(instance, address)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a3c09a3_35c98079","line":675,"range":{"start_line":675,"start_character":18,"end_line":675,"end_character":34},"in_reply_to":"7a3c09a3_433764e3","updated":"2017-01-13 20:53:37.000000000","message":"Yup, nice catch","commit_id":"bedd7e0abc6426ef2316a5fecfd71b313b2f9faf"}],"nova/compute/cells_api.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"bb030ffc29a3710ca5a4414c4d27867743502720","unresolved":false,"context_lines":[{"line_number":27,"context_line":"from nova.compute import rpcapi as compute_rpcapi"},{"line_number":28,"context_line":"from nova.compute import vm_states"},{"line_number":29,"context_line":"from nova import exception"},{"line_number":30,"context_line":"from nova.i18n import _LW"},{"line_number":31,"context_line":"from nova import objects"},{"line_number":32,"context_line":"from nova.objects import base as obj_base"},{"line_number":33,"context_line":"from nova import rpc"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5201f7_95d3bed4","line":30,"updated":"2017-01-11 16:27:12.000000000","message":"Are these changes artifacts from something that was there but then removed and the imports not cleaned up?","commit_id":"b003e8b977c3c5dcd737259c01952f678903f4b2"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"ee8d229c55b10515bccad3e5fd10cb693b79bc5b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"from nova import rpc"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":37,"context_line":"check_instance_state \u003d compute_api.check_instance_state"},{"line_number":38,"context_line":"check_instance_lock \u003d compute_api.check_instance_lock"},{"line_number":39,"context_line":"check_instance_cell \u003d compute_api.check_instance_cell"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5201f7_467a9689","line":36,"updated":"2017-01-11 14:56:52.000000000","message":"I assume that you need this to use local object when there is global API for metadata used.","commit_id":"b003e8b977c3c5dcd737259c01952f678903f4b2"}],"nova/tests/unit/test_metadata.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"b5e973522b0804a28924166b69f72dfba56def9f","unresolved":false,"context_lines":[{"line_number":1526,"context_line":"                base.get_metadata_by_instance_id(\u0027foo\u0027, \u0027bar\u0027, ctxt\u003dctxt)"},{"line_number":1527,"context_line":"                mock_tc.assert_called_once_with(ctxt, im.cell_mapping)"},{"line_number":1528,"context_line":""},{"line_number":1529,"context_line":"        mock_get_im.assert_called_once_with(ctxt, \u0027foo\u0027)"},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":""},{"line_number":1532,"context_line":"class MetadataPasswordTestCase(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a3c09a3_9b126261","line":1529,"updated":"2017-01-14 00:19:42.000000000","message":"Did you forget to assert something like:\n\n imd.assert_called_once_with(inst, \u0027bar\u0027)\n\nlike the other tests to verify the right thing is created/returned by get_metadata_by_instance_id? Otherwise all we know from this is that target_cell was called with the right thing.","commit_id":"a1df75bf85a419aa77ed00e723f3eb18410c6880"}]}
