)]}'
{"nova/cmd/manage.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"e93459ded5037f3a92b487c88f4b7c9817ccd4f5","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"            return 1"},{"line_number":1420,"context_line":"        print(\u0027Instance %s is in cell: %s (%s)\u0027 % ("},{"line_number":1421,"context_line":"            instance,"},{"line_number":1422,"context_line":"            mapping.cell_mapping.name,"},{"line_number":1423,"context_line":"            mapping.cell_mapping.uuid))"},{"line_number":1424,"context_line":"        return 0"},{"line_number":1425,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad45d7e_8edf0439","line":1422,"updated":"2016-08-11 17:18:22.000000000","message":"It\u0027s possible for cell_mapping to be None, if the instance is pre-scheduling. Probably worth checking on that just to avoid the raised exception here.","commit_id":"79b098810ac5bfcfbde8ef29df13e5ee7b5d4886"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"87a434ace80c315bcf56942d4b0b7eb2208dfa62","unresolved":false,"context_lines":[{"line_number":1405,"context_line":"        return 0"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    @args(\u0027--instance\u0027, metavar\u003d\u0027\u003cuuid\u003e\u0027, dest\u003d\u0027instance\u0027,"},{"line_number":1408,"context_line":"          help\u003d\u0027The instance UUID to verify\u0027)"},{"line_number":1409,"context_line":"    def verify_instance(self, instance\u003dNone):"},{"line_number":1410,"context_line":"        if not instance:"},{"line_number":1411,"context_line":"            print(\u0027Must specify --instance\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_5fe014cd","line":1408,"updated":"2016-08-11 18:15:50.000000000","message":"You should be able to use \"required\u003dTrue\" as an argument here and then leave off the \"\u003dNone\" default for instance below.","commit_id":"e7d518220a2d483d453e0a2d70b80648d7e75d9f"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"87a434ace80c315bcf56942d4b0b7eb2208dfa62","unresolved":false,"context_lines":[{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    @args(\u0027--instance\u0027, metavar\u003d\u0027\u003cuuid\u003e\u0027, dest\u003d\u0027instance\u0027,"},{"line_number":1408,"context_line":"          help\u003d\u0027The instance UUID to verify\u0027)"},{"line_number":1409,"context_line":"    def verify_instance(self, instance\u003dNone):"},{"line_number":1410,"context_line":"        if not instance:"},{"line_number":1411,"context_line":"            print(\u0027Must specify --instance\u0027)"},{"line_number":1412,"context_line":"            return 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_5f077481","line":1409,"range":{"start_line":1409,"start_character":30,"end_line":1409,"end_character":38},"updated":"2016-08-11 18:15:50.000000000","message":"Would be better to use \u0027uuid\u0027 as the variable. Actually, the CLI argument should be --uuid as well.","commit_id":"e7d518220a2d483d453e0a2d70b80648d7e75d9f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"98ea1df889f68190925ad1b899f266550cdbd9c7","unresolved":false,"context_lines":[{"line_number":1405,"context_line":"        return 0"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    @args(\u0027--uuid\u0027, metavar\u003d\u0027\u003cuuid\u003e\u0027, dest\u003d\u0027uuid\u0027, required\u003dTrue,"},{"line_number":1408,"context_line":"          help\u003d\u0027The instance UUID to verify\u0027)"},{"line_number":1409,"context_line":"    def verify_instance(self, uuid):"},{"line_number":1410,"context_line":"        if not uuid:"},{"line_number":1411,"context_line":"            print(\u0027Must specify --uuid\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_7d867b14","line":1408,"range":{"start_line":1408,"start_character":15,"end_line":1408,"end_character":44},"updated":"2016-08-12 19:08:17.000000000","message":"nit: could mark this for translation with _().","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"98ea1df889f68190925ad1b899f266550cdbd9c7","unresolved":false,"context_lines":[{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    @args(\u0027--uuid\u0027, metavar\u003d\u0027\u003cuuid\u003e\u0027, dest\u003d\u0027uuid\u0027, required\u003dTrue,"},{"line_number":1408,"context_line":"          help\u003d\u0027The instance UUID to verify\u0027)"},{"line_number":1409,"context_line":"    def verify_instance(self, uuid):"},{"line_number":1410,"context_line":"        if not uuid:"},{"line_number":1411,"context_line":"            print(\u0027Must specify --uuid\u0027)"},{"line_number":1412,"context_line":"            return 1"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_9d340f4b","line":1409,"range":{"start_line":1409,"start_character":8,"end_line":1409,"end_character":23},"updated":"2016-08-12 19:08:17.000000000","message":"nit: I might call this verify_instance_mapping, since verify_instance is pretty broad.","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"31eaeec51907f5b7b618a5631465304c9f48e733","unresolved":false,"context_lines":[{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    @args(\u0027--uuid\u0027, metavar\u003d\u0027\u003cuuid\u003e\u0027, dest\u003d\u0027uuid\u0027, required\u003dTrue,"},{"line_number":1408,"context_line":"          help\u003d\u0027The instance UUID to verify\u0027)"},{"line_number":1409,"context_line":"    def verify_instance(self, uuid):"},{"line_number":1410,"context_line":"        if not uuid:"},{"line_number":1411,"context_line":"            print(\u0027Must specify --uuid\u0027)"},{"line_number":1412,"context_line":"            return 1"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_7d483b88","line":1409,"range":{"start_line":1409,"start_character":8,"end_line":1409,"end_character":23},"in_reply_to":"9ad45d7e_9d340f4b","updated":"2016-08-12 19:13:00.000000000","message":"It\u0027s \"cell_v2 verify_instance\" so I think it\u0027s plenty specific. We could add more things in here in the future.","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"98ea1df889f68190925ad1b899f266550cdbd9c7","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"    @args(\u0027--uuid\u0027, metavar\u003d\u0027\u003cuuid\u003e\u0027, dest\u003d\u0027uuid\u0027, required\u003dTrue,"},{"line_number":1408,"context_line":"          help\u003d\u0027The instance UUID to verify\u0027)"},{"line_number":1409,"context_line":"    def verify_instance(self, uuid):"},{"line_number":1410,"context_line":"        if not uuid:"},{"line_number":1411,"context_line":"            print(\u0027Must specify --uuid\u0027)"},{"line_number":1412,"context_line":"            return 1"},{"line_number":1413,"context_line":"        ctxt \u003d context.RequestContext()"},{"line_number":1414,"context_line":"        try:"},{"line_number":1415,"context_line":"            mapping \u003d objects.InstanceMapping.get_by_instance_uuid("}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_bdf47387","line":1412,"range":{"start_line":1410,"start_character":8,"end_line":1412,"end_character":20},"updated":"2016-08-12 19:08:17.000000000","message":"Won\u0027t \u0027required\u003dTrue\u0027 make argparse fail on parsing the args for us automatically if uuid isn\u0027t specified?","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"31eaeec51907f5b7b618a5631465304c9f48e733","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"    @args(\u0027--uuid\u0027, metavar\u003d\u0027\u003cuuid\u003e\u0027, dest\u003d\u0027uuid\u0027, required\u003dTrue,"},{"line_number":1408,"context_line":"          help\u003d\u0027The instance UUID to verify\u0027)"},{"line_number":1409,"context_line":"    def verify_instance(self, uuid):"},{"line_number":1410,"context_line":"        if not uuid:"},{"line_number":1411,"context_line":"            print(\u0027Must specify --uuid\u0027)"},{"line_number":1412,"context_line":"            return 1"},{"line_number":1413,"context_line":"        ctxt \u003d context.RequestContext()"},{"line_number":1414,"context_line":"        try:"},{"line_number":1415,"context_line":"            mapping \u003d objects.InstanceMapping.get_by_instance_uuid("}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_bd73d3e6","line":1412,"range":{"start_line":1410,"start_character":8,"end_line":1412,"end_character":20},"in_reply_to":"9ad45d7e_bdf47387","updated":"2016-08-12 19:13:00.000000000","message":"I think you can pass an empty string and get to here.","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"98ea1df889f68190925ad1b899f266550cdbd9c7","unresolved":false,"context_lines":[{"line_number":1417,"context_line":"        except exception.InstanceMappingNotFound:"},{"line_number":1418,"context_line":"            print(\u0027Instance %s is not mapped to a cell \u0027"},{"line_number":1419,"context_line":"                  \u0027(upgrade is incomplete)\u0027 % uuid)"},{"line_number":1420,"context_line":"            return 1"},{"line_number":1421,"context_line":"        if mapping.cell_mapping is None:"},{"line_number":1422,"context_line":"            print(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"},{"line_number":1423,"context_line":"            return 1"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_9de7efab","line":1420,"updated":"2016-08-12 19:08:17.000000000","message":"If I were scripting a validation check against this, I\u0027d probably want distinct error codes between \u0027you didn\u0027t provide a uuid\u0027 above and \u0027instance is not mapped\u0027 here (and below).","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"31eaeec51907f5b7b618a5631465304c9f48e733","unresolved":false,"context_lines":[{"line_number":1417,"context_line":"        except exception.InstanceMappingNotFound:"},{"line_number":1418,"context_line":"            print(\u0027Instance %s is not mapped to a cell \u0027"},{"line_number":1419,"context_line":"                  \u0027(upgrade is incomplete)\u0027 % uuid)"},{"line_number":1420,"context_line":"            return 1"},{"line_number":1421,"context_line":"        if mapping.cell_mapping is None:"},{"line_number":1422,"context_line":"            print(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"},{"line_number":1423,"context_line":"            return 1"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_bd2113b7","line":1420,"in_reply_to":"9ad45d7e_9de7efab","updated":"2016-08-12 19:13:00.000000000","message":"I didn\u0027t see a lot of distinct error codes in the file here, but I see some, so sure. If they\u0027re not documented without reading the code I\u0027m not sure how useful it is.","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"836557806eb8dbbd0874a542a1cd56b62444e553","unresolved":false,"context_lines":[{"line_number":1417,"context_line":"        except exception.InstanceMappingNotFound:"},{"line_number":1418,"context_line":"            print(\u0027Instance %s is not mapped to a cell \u0027"},{"line_number":1419,"context_line":"                  \u0027(upgrade is incomplete)\u0027 % uuid)"},{"line_number":1420,"context_line":"            return 1"},{"line_number":1421,"context_line":"        if mapping.cell_mapping is None:"},{"line_number":1422,"context_line":"            print(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"},{"line_number":1423,"context_line":"            return 1"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_989edd05","line":1420,"in_reply_to":"9ad45d7e_bd2113b7","updated":"2016-08-12 19:27:14.000000000","message":"You could document them for the command via the docstring on the method. :)","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"dfdce38e027d2e1a362f9d1b9439c86c912ec8e4","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"                  \u0027(upgrade is incomplete)\u0027 % uuid)"},{"line_number":1420,"context_line":"            return 1"},{"line_number":1421,"context_line":"        if mapping.cell_mapping is None:"},{"line_number":1422,"context_line":"            print(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"},{"line_number":1423,"context_line":"            return 1"},{"line_number":1424,"context_line":"        else:"},{"line_number":1425,"context_line":"            print(\u0027Instance %s is in cell: %s (%s)\u0027 % ("}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_c861b9aa","line":1422,"updated":"2016-08-12 14:27:30.000000000","message":"What\u0027s the difference between this and the exception raised on 1417 as far as the operator is concerned? In the exception case, you have \"(update is incomplete)\" in the error message but not here... does that mean the operator needs to do something different if the code got here than if the code raised an exception.InstanceMappingNotFound?","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"98ea1df889f68190925ad1b899f266550cdbd9c7","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"                  \u0027(upgrade is incomplete)\u0027 % uuid)"},{"line_number":1420,"context_line":"            return 1"},{"line_number":1421,"context_line":"        if mapping.cell_mapping is None:"},{"line_number":1422,"context_line":"            print(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"},{"line_number":1423,"context_line":"            return 1"},{"line_number":1424,"context_line":"        else:"},{"line_number":1425,"context_line":"            print(\u0027Instance %s is in cell: %s (%s)\u0027 % ("}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_bd691328","line":1422,"in_reply_to":"9ad45d7e_6208a929","updated":"2016-08-12 19:08:17.000000000","message":"It would be nice if we could have some sort of distinction between the error messages. Even if not actionable, it\u0027s hard to tell how informative this is.\n\nCan we provide some sort of \u0027check this\u0027 or \u0027try again\u0027 type recourse?","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"c3b680c8be9885ac452e06ae1f1aca72d7d14dd7","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"                  \u0027(upgrade is incomplete)\u0027 % uuid)"},{"line_number":1420,"context_line":"            return 1"},{"line_number":1421,"context_line":"        if mapping.cell_mapping is None:"},{"line_number":1422,"context_line":"            print(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"},{"line_number":1423,"context_line":"            return 1"},{"line_number":1424,"context_line":"        else:"},{"line_number":1425,"context_line":"            print(\u0027Instance %s is in cell: %s (%s)\u0027 % ("}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_f8e39931","line":1422,"in_reply_to":"9ad45d7e_bd691328","updated":"2016-08-12 19:16:04.000000000","message":"The value I see in this command is not to try to guess what has happened to an instance or what state a deployment is in based on the mapping state, just to clearly say what the state is.\n\nThe challenge has been to distinguish between there is no instance_mapping and there is an instance_mapping with no cell_mapping. It\u0027s informative to know which case has been hit. But I don\u0027t see either as a \"something is messed up, go check this\" situation.","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"31eaeec51907f5b7b618a5631465304c9f48e733","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"                  \u0027(upgrade is incomplete)\u0027 % uuid)"},{"line_number":1420,"context_line":"            return 1"},{"line_number":1421,"context_line":"        if mapping.cell_mapping is None:"},{"line_number":1422,"context_line":"            print(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"},{"line_number":1423,"context_line":"            return 1"},{"line_number":1424,"context_line":"        else:"},{"line_number":1425,"context_line":"            print(\u0027Instance %s is in cell: %s (%s)\u0027 % ("}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_b80f612d","line":1422,"in_reply_to":"9ad45d7e_bd691328","updated":"2016-08-12 19:13:00.000000000","message":"There\u0027s nothing to check in this case. This is for an instance that is either in error, or scheduling, or something like that. We could fetch up the whole instance record and try to decode it here, but that\u0027s not really what we\u0027re trying to do.\n\nThe reason I\u0027m adding this is because sdague said I couldn\u0027t do a SELECT query in grenade to check this record :)","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"d6dd0a047810c34f9e3b7a300cac5a683a6ce1fe","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"                  \u0027(upgrade is incomplete)\u0027 % uuid)"},{"line_number":1420,"context_line":"            return 1"},{"line_number":1421,"context_line":"        if mapping.cell_mapping is None:"},{"line_number":1422,"context_line":"            print(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"},{"line_number":1423,"context_line":"            return 1"},{"line_number":1424,"context_line":"        else:"},{"line_number":1425,"context_line":"            print(\u0027Instance %s is in cell: %s (%s)\u0027 % ("}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_6208a929","line":1422,"in_reply_to":"9ad45d7e_c861b9aa","updated":"2016-08-12 15:06:04.000000000","message":"These messages aren\u0027t error messages and aren\u0027t really actionable for an operator, just informative. \n\nLine 1417 means either that some nova-api process has not been upgraded to a point where it creates instance_mappings or nova-conductor has not been upgraded past a point where it deletes them (current behavior).\n\nThis message here indicates that the instance_mapping was created but does not point to a cell. This indicates that the deployment is new enough to create the mappings and that the instance should be in a pre-scheduled state. However it doesn\u0027t explicitly say that because it may also just be a bug that the instance isn\u0027t mapped in which case saying it\u0027s pre-scheduling would be confusing.","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"836557806eb8dbbd0874a542a1cd56b62444e553","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"                  \u0027(upgrade is incomplete)\u0027 % uuid)"},{"line_number":1420,"context_line":"            return 1"},{"line_number":1421,"context_line":"        if mapping.cell_mapping is None:"},{"line_number":1422,"context_line":"            print(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"},{"line_number":1423,"context_line":"            return 1"},{"line_number":1424,"context_line":"        else:"},{"line_number":1425,"context_line":"            print(\u0027Instance %s is in cell: %s (%s)\u0027 % ("}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_98437d6c","line":1422,"in_reply_to":"9ad45d7e_f8e39931","updated":"2016-08-12 19:27:14.000000000","message":"OK.","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"98ea1df889f68190925ad1b899f266550cdbd9c7","unresolved":false,"context_lines":[{"line_number":1421,"context_line":"        if mapping.cell_mapping is None:"},{"line_number":1422,"context_line":"            print(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"},{"line_number":1423,"context_line":"            return 1"},{"line_number":1424,"context_line":"        else:"},{"line_number":1425,"context_line":"            print(\u0027Instance %s is in cell: %s (%s)\u0027 % ("},{"line_number":1426,"context_line":"                uuid,"},{"line_number":1427,"context_line":"                mapping.cell_mapping.name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_bdfe3336","line":1424,"updated":"2016-08-12 19:08:17.000000000","message":"nit: don\u0027t need the else since we return in the block above.","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"98ea1df889f68190925ad1b899f266550cdbd9c7","unresolved":false,"context_lines":[{"line_number":1422,"context_line":"            print(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"},{"line_number":1423,"context_line":"            return 1"},{"line_number":1424,"context_line":"        else:"},{"line_number":1425,"context_line":"            print(\u0027Instance %s is in cell: %s (%s)\u0027 % ("},{"line_number":1426,"context_line":"                uuid,"},{"line_number":1427,"context_line":"                mapping.cell_mapping.name,"},{"line_number":1428,"context_line":"                mapping.cell_mapping.uuid))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_1d4e5fc1","line":1425,"updated":"2016-08-12 19:08:17.000000000","message":"nit: I could see maybe wanting to only print this on a --verbose flag or something, but meh. Anyone scripting around this has the return codes to deal with pass/fail.","commit_id":"04aba10cf78cc28b509313c88b70299a9a1e4eaa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"96f1ae2071e717f0463343f8606a45297c0e23b9","unresolved":false,"context_lines":[{"line_number":1420,"context_line":"        due to an incomplete upgrade (1), or unmapped due to normally transient"},{"line_number":1421,"context_line":"        state (2)."},{"line_number":1422,"context_line":"        \"\"\""},{"line_number":1423,"context_line":"        if not uuid:"},{"line_number":1424,"context_line":"            print(_(\u0027Must specify --uuid\u0027))"},{"line_number":1425,"context_line":"            return 16"},{"line_number":1426,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_4c866a14","line":1423,"updated":"2016-08-12 19:33:52.000000000","message":"nit: we could also verify this is a uuid so you don\u0027t get a not found below due to someone f\u0027ing up what they passed in, but meh.","commit_id":"d0e9c514de403a4d1edbe3b8e7ad1a3d041c9e3a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"95d7383f79fa1d117b3434895c5e4191322ee8ab","unresolved":false,"context_lines":[{"line_number":1420,"context_line":"        due to an incomplete upgrade (1), or unmapped due to normally transient"},{"line_number":1421,"context_line":"        state (2)."},{"line_number":1422,"context_line":"        \"\"\""},{"line_number":1423,"context_line":"        if not uuid:"},{"line_number":1424,"context_line":"            print(_(\u0027Must specify --uuid\u0027))"},{"line_number":1425,"context_line":"            return 16"},{"line_number":1426,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_8cfea236","line":1423,"in_reply_to":"9ad45d7e_4c866a14","updated":"2016-08-12 19:39:40.000000000","message":"That doesn\u0027t really help us because you could just put a volume uuid by accident or something and get the same result.","commit_id":"d0e9c514de403a4d1edbe3b8e7ad1a3d041c9e3a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e7878d510e4b901e7bddcdd8352a8eb57bc3e2d","unresolved":false,"context_lines":[{"line_number":1434,"context_line":"                ctxt, uuid)"},{"line_number":1435,"context_line":"        except exception.InstanceMappingNotFound:"},{"line_number":1436,"context_line":"            say(\u0027Instance %s is not mapped to a cell \u0027"},{"line_number":1437,"context_line":"              \u0027(upgrade is incomplete)\u0027 % uuid)"},{"line_number":1438,"context_line":"            return 1"},{"line_number":1439,"context_line":"        if mapping.cell_mapping is None:"},{"line_number":1440,"context_line":"            say(\u0027Instance %s is not mapped to a cell\u0027 % uuid)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_2cb976ed","line":1437,"updated":"2016-08-12 19:32:22.000000000","message":"omfg alignment","commit_id":"d0e9c514de403a4d1edbe3b8e7ad1a3d041c9e3a"}]}
