)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"d47bea574ef1e29e8010e3b26058a461e7601fcf","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Both IMAGE_PENDING_UPLOAD and IMAGE_UPLOADING are task states set"},{"line_number":17,"context_line":"after the request has gotten to the compute manager and so we can"},{"line_number":18,"context_line":"clear these safely knwing the operation has ended/failed with the"},{"line_number":19,"context_line":"restart of the compute manager."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"With IMAGE-SNAPSHOT it\u0027s possible this state was set in the API so"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAATn%2F%2B3aw%3D","line":18,"updated":"2013-11-19 07:39:45.000000000","message":"s/knwing/knowing","commit_id":"b8ec1b1b58d6ea9014528efe28cdd7b0f25e18bb"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"16c4ba6d8114cac01ee9a2520ce0070f305218f7","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Both IMAGE_PENDING_UPLOAD and IMAGE_UPLOADING are task states set"},{"line_number":17,"context_line":"after the request has gotten to the compute manager and so we can"},{"line_number":18,"context_line":"clear these safely knwing the operation has ended/failed with the"},{"line_number":19,"context_line":"restart of the compute manager."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"With IMAGE-SNAPSHOT it\u0027s possible this state was set in the API so"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAATn%2F%2B1Ls%3D","line":18,"in_reply_to":"AAAATn%2F%2B3aw%3D","updated":"2013-11-19 16:03:03.000000000","message":"Done","commit_id":"b8ec1b1b58d6ea9014528efe28cdd7b0f25e18bb"},{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"d47bea574ef1e29e8010e3b26058a461e7601fcf","unresolved":false,"context_lines":[{"line_number":21,"context_line":"With IMAGE-SNAPSHOT it\u0027s possible this state was set in the API so"},{"line_number":22,"context_line":"we revert the instance to a task_state of None but the change also"},{"line_number":23,"context_line":"makes provision to set the task_state to IMAGE-SNAPSHOT once the"},{"line_number":24,"context_line":"request comes thrpough to the compute manager so the current"},{"line_number":25,"context_line":"operation is clear once it begins again after the compute manager is"},{"line_number":26,"context_line":"back up and running."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAATn%2F%2B3ak%3D","line":24,"updated":"2013-11-19 07:39:45.000000000","message":"s/thrpough/through","commit_id":"b8ec1b1b58d6ea9014528efe28cdd7b0f25e18bb"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"16c4ba6d8114cac01ee9a2520ce0070f305218f7","unresolved":false,"context_lines":[{"line_number":21,"context_line":"With IMAGE-SNAPSHOT it\u0027s possible this state was set in the API so"},{"line_number":22,"context_line":"we revert the instance to a task_state of None but the change also"},{"line_number":23,"context_line":"makes provision to set the task_state to IMAGE-SNAPSHOT once the"},{"line_number":24,"context_line":"request comes thrpough to the compute manager so the current"},{"line_number":25,"context_line":"operation is clear once it begins again after the compute manager is"},{"line_number":26,"context_line":"back up and running."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"AAAATn%2F%2B1Lo%3D","line":24,"in_reply_to":"AAAATn%2F%2B3ak%3D","updated":"2013-11-19 16:03:03.000000000","message":"Done","commit_id":"b8ec1b1b58d6ea9014528efe28cdd7b0f25e18bb"}],"nova/compute/api.py":[{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"20e94b460b25867c6bd444d629bc87c3a9ecc3a5","unresolved":false,"context_lines":[{"line_number":1854,"context_line":"                                        extra_properties\u003dextra_properties)"},{"line_number":1855,"context_line":""},{"line_number":1856,"context_line":"        # NOTE(comstud): Any changes to this method should also be made"},{"line_number":1857,"context_line":"        # to the snapshot_instance() method in nova/cells/messaging.py"},{"line_number":1858,"context_line":""},{"line_number":1859,"context_line":"        instance.task_state \u003d task_states.IMAGE_SNAPSHOT_PENDING"},{"line_number":1860,"context_line":"        instance.save(expected_task_state\u003dNone)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BPgs%3D","line":1857,"updated":"2013-11-28 12:26:43.000000000","message":"As the above note states, the cells code should be updated as well.","commit_id":"aabf1bf1858e7ea9b3890fa2e9c2dc1a1d2072db"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"e3708ebd81ed4c45b7253366be742607d6d4fb05","unresolved":false,"context_lines":[{"line_number":1854,"context_line":"                                        extra_properties\u003dextra_properties)"},{"line_number":1855,"context_line":""},{"line_number":1856,"context_line":"        # NOTE(comstud): Any changes to this method should also be made"},{"line_number":1857,"context_line":"        # to the snapshot_instance() method in nova/cells/messaging.py"},{"line_number":1858,"context_line":""},{"line_number":1859,"context_line":"        instance.task_state \u003d task_states.IMAGE_SNAPSHOT_PENDING"},{"line_number":1860,"context_line":"        instance.save(expected_task_state\u003dNone)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BF%2F4%3D","line":1857,"in_reply_to":"AAAATn%2F%2BPgs%3D","updated":"2013-12-02 16:45:54.000000000","message":"Done","commit_id":"aabf1bf1858e7ea9b3890fa2e9c2dc1a1d2072db"}],"nova/compute/manager.py":[{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"140164eedbc1b0f3f3f52237feffabad16267fcf","unresolved":false,"context_lines":[{"line_number":657,"context_line":"            instance[\u0027task_state\u0027] in [task_states.IMAGE_PENDING_UPLOAD,"},{"line_number":658,"context_line":"                                     task_states.IMAGE_UPLOADING,"},{"line_number":659,"context_line":"                                     task_states.IMAGE_SNAPSHOT]):"},{"line_number":660,"context_line":"            LOG.debug(_(\"Instance in transitional state %s at start-up\""},{"line_number":661,"context_line":"                        \"reverting to ACTIVE state\"),"},{"line_number":662,"context_line":"                        instance[\u0027task_state\u0027], instance\u003dinstance)"},{"line_number":663,"context_line":"            instance \u003d self._instance_update(context, instance[\u0027uuid\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FJ5Y%3D","line":660,"updated":"2013-11-13 16:53:54.000000000","message":"nit: there should be an extra space ending.","commit_id":"6456fe56e74cec1d2a2f67815623d8e636c2cb1f"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"0687fe405d3a1528152fabd80895d551a8b2ce7e","unresolved":false,"context_lines":[{"line_number":657,"context_line":"            instance[\u0027task_state\u0027] in [task_states.IMAGE_PENDING_UPLOAD,"},{"line_number":658,"context_line":"                                     task_states.IMAGE_UPLOADING,"},{"line_number":659,"context_line":"                                     task_states.IMAGE_SNAPSHOT]):"},{"line_number":660,"context_line":"            LOG.debug(_(\"Instance in transitional state %s at start-up\""},{"line_number":661,"context_line":"                        \"reverting to ACTIVE state\"),"},{"line_number":662,"context_line":"                        instance[\u0027task_state\u0027], instance\u003dinstance)"},{"line_number":663,"context_line":"            instance \u003d self._instance_update(context, instance[\u0027uuid\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FGxM%3D","line":660,"in_reply_to":"AAAATn%2F%2FJ5Y%3D","updated":"2013-11-14 13:49:00.000000000","message":"Done","commit_id":"6456fe56e74cec1d2a2f67815623d8e636c2cb1f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ac94d3ca31606456bdb252d574abce49e388530f","unresolved":false,"context_lines":[{"line_number":2430,"context_line":"        :param rotation: int representing how many backups to keep around;"},{"line_number":2431,"context_line":"            None if rotation shouldn\u0027t be used (as in the case of snapshots)"},{"line_number":2432,"context_line":"        \"\"\""},{"line_number":2433,"context_line":"        #NOTE (dave-mcnally) the task state will already be set by the api"},{"line_number":2434,"context_line":"        #but if the compute manager has crashed/been restarted prior to the"},{"line_number":2435,"context_line":"        #request getting here the task state may have been cleared so we set"},{"line_number":2436,"context_line":"        #it again and things continue normally"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FJ0o%3D","line":2433,"updated":"2013-11-13 17:17:34.000000000","message":"Spaces between the # and the first character, please.","commit_id":"6456fe56e74cec1d2a2f67815623d8e636c2cb1f"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"0687fe405d3a1528152fabd80895d551a8b2ce7e","unresolved":false,"context_lines":[{"line_number":2430,"context_line":"        :param rotation: int representing how many backups to keep around;"},{"line_number":2431,"context_line":"            None if rotation shouldn\u0027t be used (as in the case of snapshots)"},{"line_number":2432,"context_line":"        \"\"\""},{"line_number":2433,"context_line":"        #NOTE (dave-mcnally) the task state will already be set by the api"},{"line_number":2434,"context_line":"        #but if the compute manager has crashed/been restarted prior to the"},{"line_number":2435,"context_line":"        #request getting here the task state may have been cleared so we set"},{"line_number":2436,"context_line":"        #it again and things continue normally"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FGxI%3D","line":2433,"in_reply_to":"AAAATn%2F%2FJ0o%3D","updated":"2013-11-14 13:49:00.000000000","message":"Done","commit_id":"6456fe56e74cec1d2a2f67815623d8e636c2cb1f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ac94d3ca31606456bdb252d574abce49e388530f","unresolved":false,"context_lines":[{"line_number":2433,"context_line":"        #NOTE (dave-mcnally) the task state will already be set by the api"},{"line_number":2434,"context_line":"        #but if the compute manager has crashed/been restarted prior to the"},{"line_number":2435,"context_line":"        #request getting here the task state may have been cleared so we set"},{"line_number":2436,"context_line":"        #it again and things continue normally"},{"line_number":2437,"context_line":"        try:"},{"line_number":2438,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT"},{"line_number":2439,"context_line":"            instance.save(expected_task_state\u003dNone)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FJ0I%3D","line":2436,"updated":"2013-11-13 17:17:34.000000000","message":"Hmm, I don\u0027t understand this logic. How would we get back to this other than by the API issuing another snapshot request (and thus re-setting the task_state itself) ?","commit_id":"6456fe56e74cec1d2a2f67815623d8e636c2cb1f"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"0687fe405d3a1528152fabd80895d551a8b2ce7e","unresolved":false,"context_lines":[{"line_number":2433,"context_line":"        #NOTE (dave-mcnally) the task state will already be set by the api"},{"line_number":2434,"context_line":"        #but if the compute manager has crashed/been restarted prior to the"},{"line_number":2435,"context_line":"        #request getting here the task state may have been cleared so we set"},{"line_number":2436,"context_line":"        #it again and things continue normally"},{"line_number":2437,"context_line":"        try:"},{"line_number":2438,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT"},{"line_number":2439,"context_line":"            instance.save(expected_task_state\u003dNone)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FGDA%3D","line":2436,"in_reply_to":"AAAATn%2F%2FJ0I%3D","updated":"2013-11-14 13:49:00.000000000","message":"There\u0027s a slim possibility of a request being made just as the compute manager goes down or while the compute manager is down which could sit on the queue until the manager comes back but the init will clear this state before the manager picks up the message.","commit_id":"6456fe56e74cec1d2a2f67815623d8e636c2cb1f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ac94d3ca31606456bdb252d574abce49e388530f","unresolved":false,"context_lines":[{"line_number":2437,"context_line":"        try:"},{"line_number":2438,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT"},{"line_number":2439,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2440,"context_line":"        except Exception:"},{"line_number":2441,"context_line":"            #possiblity instance no longer exists this is handled further on"},{"line_number":2442,"context_line":"            LOG.warn(_(\"Problem setting task state %s on instance.\"),"},{"line_number":2443,"context_line":"                        task_states.IMAGE_SNAPSHOT, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FJ0Y%3D","line":2440,"updated":"2013-11-13 17:17:34.000000000","message":"Please catch the appropriate exception here.","commit_id":"6456fe56e74cec1d2a2f67815623d8e636c2cb1f"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"0687fe405d3a1528152fabd80895d551a8b2ce7e","unresolved":false,"context_lines":[{"line_number":2437,"context_line":"        try:"},{"line_number":2438,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT"},{"line_number":2439,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2440,"context_line":"        except Exception:"},{"line_number":2441,"context_line":"            #possiblity instance no longer exists this is handled further on"},{"line_number":2442,"context_line":"            LOG.warn(_(\"Problem setting task state %s on instance.\"),"},{"line_number":2443,"context_line":"                        task_states.IMAGE_SNAPSHOT, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FGss%3D","line":2440,"in_reply_to":"AAAATn%2F%2FJ0Y%3D","updated":"2013-11-14 13:49:00.000000000","message":"Done","commit_id":"6456fe56e74cec1d2a2f67815623d8e636c2cb1f"},{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"d47bea574ef1e29e8010e3b26058a461e7601fcf","unresolved":false,"context_lines":[{"line_number":669,"context_line":"            return"},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"        current_power_state \u003d self._get_power_state(context, instance)"},{"line_number":672,"context_line":"        if (current_power_state \u003d\u003d power_state.RUNNING and"},{"line_number":673,"context_line":"            instance.task_state in [task_states.IMAGE_PENDING_UPLOAD,"},{"line_number":674,"context_line":"                                    task_states.IMAGE_UPLOADING,"},{"line_number":675,"context_line":"                                    task_states.IMAGE_SNAPSHOT]):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2B3YQ%3D","line":672,"updated":"2013-11-19 07:39:45.000000000","message":"what if the vm_state is error here, will this logic revert it to active?","commit_id":"b8ec1b1b58d6ea9014528efe28cdd7b0f25e18bb"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"16c4ba6d8114cac01ee9a2520ce0070f305218f7","unresolved":false,"context_lines":[{"line_number":669,"context_line":"            return"},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"        current_power_state \u003d self._get_power_state(context, instance)"},{"line_number":672,"context_line":"        if (current_power_state \u003d\u003d power_state.RUNNING and"},{"line_number":673,"context_line":"            instance.task_state in [task_states.IMAGE_PENDING_UPLOAD,"},{"line_number":674,"context_line":"                                    task_states.IMAGE_UPLOADING,"},{"line_number":675,"context_line":"                                    task_states.IMAGE_SNAPSHOT]):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2B1c0%3D","line":672,"in_reply_to":"AAAATn%2F%2B3YQ%3D","updated":"2013-11-19 16:03:03.000000000","message":"Done","commit_id":"b8ec1b1b58d6ea9014528efe28cdd7b0f25e18bb"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d96dc3a361ec682e8ea486e705b46b402f25e1ef","unresolved":false,"context_lines":[{"line_number":2451,"context_line":"        # request getting here the task state may have been cleared so we set"},{"line_number":2452,"context_line":"        # it again and things continue normally"},{"line_number":2453,"context_line":"        try:"},{"line_number":2454,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT"},{"line_number":2455,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2456,"context_line":"        except exception.InstanceNotFound:"},{"line_number":2457,"context_line":"            # possiblity instance no longer exists this is handled further on"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2B2HM%3D","line":2454,"updated":"2013-11-19 12:42:11.000000000","message":"Can\u0027t we just add a new state so we can spot this error, like IMAGE_SNAPSHOT_REQUESTED?\n\nWe can change the API to return IMAGE_SNAPSHOT when it is IMAGE_SNAPSHOT_REQUESTED if we need to keep the API the same.","commit_id":"b8ec1b1b58d6ea9014528efe28cdd7b0f25e18bb"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"16c4ba6d8114cac01ee9a2520ce0070f305218f7","unresolved":false,"context_lines":[{"line_number":2451,"context_line":"        # request getting here the task state may have been cleared so we set"},{"line_number":2452,"context_line":"        # it again and things continue normally"},{"line_number":2453,"context_line":"        try:"},{"line_number":2454,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT"},{"line_number":2455,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2456,"context_line":"        except exception.InstanceNotFound:"},{"line_number":2457,"context_line":"            # possiblity instance no longer exists this is handled further on"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2B1aw%3D","line":2454,"in_reply_to":"AAAATn%2F%2B2HM%3D","updated":"2013-11-19 16:03:03.000000000","message":"I agree the extra state is less ambiguous, I have added it. I haven\u0027t altered the API at this time.","commit_id":"b8ec1b1b58d6ea9014528efe28cdd7b0f25e18bb"},{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"d47bea574ef1e29e8010e3b26058a461e7601fcf","unresolved":false,"context_lines":[{"line_number":2455,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2456,"context_line":"        except exception.InstanceNotFound:"},{"line_number":2457,"context_line":"            # possiblity instance no longer exists this is handled further on"},{"line_number":2458,"context_line":"            LOG.warn(_(\"Problem setting task state %s on instance.\"),"},{"line_number":2459,"context_line":"                        task_states.IMAGE_SNAPSHOT, instance\u003dinstance)"},{"line_number":2460,"context_line":"        if image_type is not None:"},{"line_number":2461,"context_line":"            # Old RPC version"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2B3Yo%3D","line":2458,"updated":"2013-11-19 07:39:45.000000000","message":"we might need more specific message here since the exception here is InstanceNotFound, besides in such circumstances which instance doesn\u0027t exist, why not just fail immediately? is there any chance the snapshot operation can still succeeds lately?","commit_id":"b8ec1b1b58d6ea9014528efe28cdd7b0f25e18bb"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"16c4ba6d8114cac01ee9a2520ce0070f305218f7","unresolved":false,"context_lines":[{"line_number":2455,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2456,"context_line":"        except exception.InstanceNotFound:"},{"line_number":2457,"context_line":"            # possiblity instance no longer exists this is handled further on"},{"line_number":2458,"context_line":"            LOG.warn(_(\"Problem setting task state %s on instance.\"),"},{"line_number":2459,"context_line":"                        task_states.IMAGE_SNAPSHOT, instance\u003dinstance)"},{"line_number":2460,"context_line":"        if image_type is not None:"},{"line_number":2461,"context_line":"            # Old RPC version"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2B1M0%3D","line":2458,"in_reply_to":"AAAATn%2F%2B3Yo%3D","updated":"2013-11-19 16:03:03.000000000","message":"Done","commit_id":"b8ec1b1b58d6ea9014528efe28cdd7b0f25e18bb"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"a7ab3fa18567ec3a8ca619a9815dff9f9b4f7254","unresolved":false,"context_lines":[{"line_number":395,"context_line":"        return self._compute.conductor_api.agent_build_get_by_triple("},{"line_number":396,"context_line":"            context, hypervisor, os, architecture)"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    def instance_type_get(self, context, instance_type_id):"},{"line_number":399,"context_line":"        return self._compute.conductor_api.instance_type_get(context,"},{"line_number":400,"context_line":"                                                             instance_type_id)"},{"line_number":401,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2Bw64%3D","line":398,"updated":"2013-11-20 14:30:11.000000000","message":"This should not be a part of the patch. Rebase fail?","commit_id":"ee4a589dfc09f8b8bccc9e8a8877b0754d2c1f1b"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"a65588c57f65b106cbdc57c7c791b97cbd22afe2","unresolved":false,"context_lines":[{"line_number":395,"context_line":"        return self._compute.conductor_api.agent_build_get_by_triple("},{"line_number":396,"context_line":"            context, hypervisor, os, architecture)"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    def instance_type_get(self, context, instance_type_id):"},{"line_number":399,"context_line":"        return self._compute.conductor_api.instance_type_get(context,"},{"line_number":400,"context_line":"                                                             instance_type_id)"},{"line_number":401,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2Bw0s%3D","line":398,"in_reply_to":"AAAATn%2F%2Bw64%3D","updated":"2013-11-20 14:48:27.000000000","message":"Thanks for spotting that. Fixed now.","commit_id":"ee4a589dfc09f8b8bccc9e8a8877b0754d2c1f1b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e64ee7a34f1f1edcf5c7c772b19c632a30a7c265","unresolved":false,"context_lines":[{"line_number":670,"context_line":"        if (current_power_state \u003d\u003d power_state.RUNNING and"},{"line_number":671,"context_line":"            instance.vm_state \u003d\u003d vm_states.ACTIVE and"},{"line_number":672,"context_line":"            instance.task_state in [task_states.IMAGE_PENDING_UPLOAD,"},{"line_number":673,"context_line":"                                    task_states.IMAGE_UPLOADING,"},{"line_number":674,"context_line":"                                    task_states.IMAGE_SNAPSHOT]):"},{"line_number":675,"context_line":"            LOG.debug(_(\"Instance in transitional state %s at start-up \""},{"line_number":676,"context_line":"                        \"reverting to ACTIVE state\"),"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2Bwz0%3D","line":673,"updated":"2013-11-20 14:59:03.000000000","message":"Should this not contain IMAGE_SNAPSHOT_REQUESTED or whatever it gets called?\n\nI guess it should not include IMAGE_SNAPSHOT, or whatever ends up getting set here:\nhttps://github.com/openstack/nova/blob/master/nova/compute/api.py#L1859\n\nI have got confused with all these states again :(","commit_id":"41bb3ca4bc23d0f009b8822dcd9a88393423fcce"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"23ba6a6b205c487c372ca6c4dddcbeb553e9e87d","unresolved":false,"context_lines":[{"line_number":670,"context_line":"        if (current_power_state \u003d\u003d power_state.RUNNING and"},{"line_number":671,"context_line":"            instance.vm_state \u003d\u003d vm_states.ACTIVE and"},{"line_number":672,"context_line":"            instance.task_state in [task_states.IMAGE_PENDING_UPLOAD,"},{"line_number":673,"context_line":"                                    task_states.IMAGE_UPLOADING,"},{"line_number":674,"context_line":"                                    task_states.IMAGE_SNAPSHOT]):"},{"line_number":675,"context_line":"            LOG.debug(_(\"Instance in transitional state %s at start-up \""},{"line_number":676,"context_line":"                        \"reverting to ACTIVE state\"),"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2Bsso%3D","line":673,"in_reply_to":"AAAATn%2F%2Bwz0%3D","updated":"2013-11-21 13:17:57.000000000","message":"This should now stay as it is since I\u0027ve made the other changes you suggested.","commit_id":"41bb3ca4bc23d0f009b8822dcd9a88393423fcce"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e64ee7a34f1f1edcf5c7c772b19c632a30a7c265","unresolved":false,"context_lines":[{"line_number":2450,"context_line":"        # request getting here the task state may have been cleared so we set"},{"line_number":2451,"context_line":"        # it again and things continue normally"},{"line_number":2452,"context_line":"        try:"},{"line_number":2453,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT_REQUESTED"},{"line_number":2454,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2455,"context_line":"        except exception.InstanceNotFound:"},{"line_number":2456,"context_line":"            # possiblity instance no longer exists, no point in continuing"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2BwzI%3D","line":2453,"updated":"2013-11-20 14:59:03.000000000","message":"Oh, so I was thinking about this state as what the API would set here:\nhttps://github.com/openstack/nova/blob/master/nova/compute/api.py#L1859\n\nThen maybe we would move to IMAGE_SNAPSHOT here.\n\nYou could make this something like IMAGE_SNAPSHOT_PENDING?\n\nAlso maybe IMAGE_SNAPSHOT_PENDING would be a better name for either location?","commit_id":"41bb3ca4bc23d0f009b8822dcd9a88393423fcce"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"23ba6a6b205c487c372ca6c4dddcbeb553e9e87d","unresolved":false,"context_lines":[{"line_number":2450,"context_line":"        # request getting here the task state may have been cleared so we set"},{"line_number":2451,"context_line":"        # it again and things continue normally"},{"line_number":2452,"context_line":"        try:"},{"line_number":2453,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT_REQUESTED"},{"line_number":2454,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2455,"context_line":"        except exception.InstanceNotFound:"},{"line_number":2456,"context_line":"            # possiblity instance no longer exists, no point in continuing"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2BssY%3D","line":2453,"in_reply_to":"AAAATn%2F%2BwzI%3D","updated":"2013-11-21 13:17:57.000000000","message":"You\u0027re correct it is clearer to use PENDING and set that in the API. I\u0027ve made the appropriate change.","commit_id":"41bb3ca4bc23d0f009b8822dcd9a88393423fcce"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e64ee7a34f1f1edcf5c7c772b19c632a30a7c265","unresolved":false,"context_lines":[{"line_number":2451,"context_line":"        # it again and things continue normally"},{"line_number":2452,"context_line":"        try:"},{"line_number":2453,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT_REQUESTED"},{"line_number":2454,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2455,"context_line":"        except exception.InstanceNotFound:"},{"line_number":2456,"context_line":"            # possiblity instance no longer exists, no point in continuing"},{"line_number":2457,"context_line":"            LOG.debug(_(\"Instance not found, could not set state %s \""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2Bw08%3D","line":2454,"updated":"2013-11-20 14:59:03.000000000","message":"I think this should be IMAGE_SNAPSHOT? or whatever the api sets it to, or maybe I got confused.\n\nBy the way, if you want the task_state to be None, you probably need this to read expected_task_state\u003d(None,)","commit_id":"41bb3ca4bc23d0f009b8822dcd9a88393423fcce"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"23ba6a6b205c487c372ca6c4dddcbeb553e9e87d","unresolved":false,"context_lines":[{"line_number":2451,"context_line":"        # it again and things continue normally"},{"line_number":2452,"context_line":"        try:"},{"line_number":2453,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT_REQUESTED"},{"line_number":2454,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2455,"context_line":"        except exception.InstanceNotFound:"},{"line_number":2456,"context_line":"            # possiblity instance no longer exists, no point in continuing"},{"line_number":2457,"context_line":"            LOG.debug(_(\"Instance not found, could not set state %s \""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2BssQ%3D","line":2454,"in_reply_to":"AAAATn%2F%2Bw08%3D","updated":"2013-11-21 13:17:57.000000000","message":"Done","commit_id":"41bb3ca4bc23d0f009b8822dcd9a88393423fcce"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e64ee7a34f1f1edcf5c7c772b19c632a30a7c265","unresolved":false,"context_lines":[{"line_number":2452,"context_line":"        try:"},{"line_number":2453,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT_REQUESTED"},{"line_number":2454,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2455,"context_line":"        except exception.InstanceNotFound:"},{"line_number":2456,"context_line":"            # possiblity instance no longer exists, no point in continuing"},{"line_number":2457,"context_line":"            LOG.debug(_(\"Instance not found, could not set state %s \""},{"line_number":2458,"context_line":"                       \"for instance.\"),"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2Bw0o%3D","line":2455,"updated":"2013-11-20 14:59:03.000000000","message":"I thought we handled this one in one of the decorators, but maybe that was in a different case.","commit_id":"41bb3ca4bc23d0f009b8822dcd9a88393423fcce"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"23ba6a6b205c487c372ca6c4dddcbeb553e9e87d","unresolved":false,"context_lines":[{"line_number":2452,"context_line":"        try:"},{"line_number":2453,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT_REQUESTED"},{"line_number":2454,"context_line":"            instance.save(expected_task_state\u003dNone)"},{"line_number":2455,"context_line":"        except exception.InstanceNotFound:"},{"line_number":2456,"context_line":"            # possiblity instance no longer exists, no point in continuing"},{"line_number":2457,"context_line":"            LOG.debug(_(\"Instance not found, could not set state %s \""},{"line_number":2458,"context_line":"                       \"for instance.\"),"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2Bsro%3D","line":2455,"in_reply_to":"AAAATn%2F%2Bw0o%3D","updated":"2013-11-21 13:17:57.000000000","message":"The behaviour of the unit tests and the similar logic in _snapshot_instance were what led me to think this was required here.","commit_id":"41bb3ca4bc23d0f009b8822dcd9a88393423fcce"},{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"8079659944f41b04c3efeaa5a57302d61a151040","unresolved":false,"context_lines":[{"line_number":654,"context_line":"                                    task_states.BLOCK_DEVICE_MAPPING,"},{"line_number":655,"context_line":"                                    task_states.NETWORKING,"},{"line_number":656,"context_line":"                                    task_states.SPAWNING]):"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"            # NOTE(dave-mcnally) compute stopped before instance was fully"},{"line_number":659,"context_line":"            # spawned so set to ERROR state. This is safe to do as the state"},{"line_number":660,"context_line":"            # may be set by the api but the host is not so if we get here the"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BjLY%3D","line":657,"updated":"2013-11-24 07:01:52.000000000","message":"this change is unnecessary and should not be made.","commit_id":"aabf1bf1858e7ea9b3890fa2e9c2dc1a1d2072db"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"e3708ebd81ed4c45b7253366be742607d6d4fb05","unresolved":false,"context_lines":[{"line_number":654,"context_line":"                                    task_states.BLOCK_DEVICE_MAPPING,"},{"line_number":655,"context_line":"                                    task_states.NETWORKING,"},{"line_number":656,"context_line":"                                    task_states.SPAWNING]):"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"            # NOTE(dave-mcnally) compute stopped before instance was fully"},{"line_number":659,"context_line":"            # spawned so set to ERROR state. This is safe to do as the state"},{"line_number":660,"context_line":"            # may be set by the api but the host is not so if we get here the"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BGBo%3D","line":657,"in_reply_to":"AAAATn%2F%2BjLY%3D","updated":"2013-12-02 16:45:54.000000000","message":"Done","commit_id":"aabf1bf1858e7ea9b3890fa2e9c2dc1a1d2072db"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"20e94b460b25867c6bd444d629bc87c3a9ecc3a5","unresolved":false,"context_lines":[{"line_number":2471,"context_line":"                       \"for instance.\"),"},{"line_number":2472,"context_line":"                        task_states.IMAGE_SNAPSHOT, instance\u003dinstance)"},{"line_number":2473,"context_line":"            return"},{"line_number":2474,"context_line":"        except exception.UnexpectedTaskStateError as e:"},{"line_number":2475,"context_line":"            actual_task_state \u003d e.kwargs.get(\u0027actual\u0027, None)"},{"line_number":2476,"context_line":"            if actual_task_state \u003d\u003d \u0027deleting\u0027:"},{"line_number":2477,"context_line":"                msg \u003d _(\u0027Instance was deleted during snapshot.\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BPjM%3D","line":2474,"updated":"2013-11-28 12:26:43.000000000","message":"Use the new UnexpectedDeletingTaskStateError here to avoid having to deal with the actual task state of the exception.","commit_id":"aabf1bf1858e7ea9b3890fa2e9c2dc1a1d2072db"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"e3708ebd81ed4c45b7253366be742607d6d4fb05","unresolved":false,"context_lines":[{"line_number":2471,"context_line":"                       \"for instance.\"),"},{"line_number":2472,"context_line":"                        task_states.IMAGE_SNAPSHOT, instance\u003dinstance)"},{"line_number":2473,"context_line":"            return"},{"line_number":2474,"context_line":"        except exception.UnexpectedTaskStateError as e:"},{"line_number":2475,"context_line":"            actual_task_state \u003d e.kwargs.get(\u0027actual\u0027, None)"},{"line_number":2476,"context_line":"            if actual_task_state \u003d\u003d \u0027deleting\u0027:"},{"line_number":2477,"context_line":"                msg \u003d _(\u0027Instance was deleted during snapshot.\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BGDE%3D","line":2474,"in_reply_to":"AAAATn%2F%2BPjM%3D","updated":"2013-12-02 16:45:54.000000000","message":"Done","commit_id":"aabf1bf1858e7ea9b3890fa2e9c2dc1a1d2072db"},{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"8079659944f41b04c3efeaa5a57302d61a151040","unresolved":false,"context_lines":[{"line_number":2472,"context_line":"                        task_states.IMAGE_SNAPSHOT, instance\u003dinstance)"},{"line_number":2473,"context_line":"            return"},{"line_number":2474,"context_line":"        except exception.UnexpectedTaskStateError as e:"},{"line_number":2475,"context_line":"            actual_task_state \u003d e.kwargs.get(\u0027actual\u0027, None)"},{"line_number":2476,"context_line":"            if actual_task_state \u003d\u003d \u0027deleting\u0027:"},{"line_number":2477,"context_line":"                msg \u003d _(\u0027Instance was deleted during snapshot.\u0027)"},{"line_number":2478,"context_line":"                LOG.debug(msg, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BjLQ%3D","line":2475,"updated":"2013-11-24 07:01:52.000000000","message":"by default get method return None, so we really don\u0027t need it here.","commit_id":"aabf1bf1858e7ea9b3890fa2e9c2dc1a1d2072db"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"e3708ebd81ed4c45b7253366be742607d6d4fb05","unresolved":false,"context_lines":[{"line_number":2472,"context_line":"                        task_states.IMAGE_SNAPSHOT, instance\u003dinstance)"},{"line_number":2473,"context_line":"            return"},{"line_number":2474,"context_line":"        except exception.UnexpectedTaskStateError as e:"},{"line_number":2475,"context_line":"            actual_task_state \u003d e.kwargs.get(\u0027actual\u0027, None)"},{"line_number":2476,"context_line":"            if actual_task_state \u003d\u003d \u0027deleting\u0027:"},{"line_number":2477,"context_line":"                msg \u003d _(\u0027Instance was deleted during snapshot.\u0027)"},{"line_number":2478,"context_line":"                LOG.debug(msg, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BGDA%3D","line":2475,"in_reply_to":"AAAATn%2F%2BjLQ%3D","updated":"2013-12-02 16:45:54.000000000","message":"Done","commit_id":"aabf1bf1858e7ea9b3890fa2e9c2dc1a1d2072db"},{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"8079659944f41b04c3efeaa5a57302d61a151040","unresolved":false,"context_lines":[{"line_number":2474,"context_line":"        except exception.UnexpectedTaskStateError as e:"},{"line_number":2475,"context_line":"            actual_task_state \u003d e.kwargs.get(\u0027actual\u0027, None)"},{"line_number":2476,"context_line":"            if actual_task_state \u003d\u003d \u0027deleting\u0027:"},{"line_number":2477,"context_line":"                msg \u003d _(\u0027Instance was deleted during snapshot.\u0027)"},{"line_number":2478,"context_line":"                LOG.debug(msg, instance\u003dinstance)"},{"line_number":2479,"context_line":"                return"},{"line_number":2480,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BjLI%3D","line":2477,"updated":"2013-11-24 07:01:52.000000000","message":"the message here is little bit confuse, it is being deleted but not was deleted considering the task_state is deleting. so, it should be \u0027Instance %(instance_uuid)s is being deleted during snapshot\u0027","commit_id":"aabf1bf1858e7ea9b3890fa2e9c2dc1a1d2072db"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"e3708ebd81ed4c45b7253366be742607d6d4fb05","unresolved":false,"context_lines":[{"line_number":2474,"context_line":"        except exception.UnexpectedTaskStateError as e:"},{"line_number":2475,"context_line":"            actual_task_state \u003d e.kwargs.get(\u0027actual\u0027, None)"},{"line_number":2476,"context_line":"            if actual_task_state \u003d\u003d \u0027deleting\u0027:"},{"line_number":2477,"context_line":"                msg \u003d _(\u0027Instance was deleted during snapshot.\u0027)"},{"line_number":2478,"context_line":"                LOG.debug(msg, instance\u003dinstance)"},{"line_number":2479,"context_line":"                return"},{"line_number":2480,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F%2BGB0%3D","line":2477,"in_reply_to":"AAAATn%2F%2BjLI%3D","updated":"2013-12-02 16:45:54.000000000","message":"Done","commit_id":"aabf1bf1858e7ea9b3890fa2e9c2dc1a1d2072db"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"dc647d5067fff02e5539196a5e3d79147ecb2e3d","unresolved":false,"context_lines":[{"line_number":684,"context_line":"                        \"clearing task state\"),"},{"line_number":685,"context_line":"                        instance[\u0027task_state\u0027], instance\u003dinstance)"},{"line_number":686,"context_line":"            instance \u003d self._instance_update(context, instance.uuid,"},{"line_number":687,"context_line":"                                   task_state\u003dNone)"},{"line_number":688,"context_line":""},{"line_number":689,"context_line":"        net_info \u003d compute_utils.get_nw_info_for_instance(instance)"},{"line_number":690,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F9%2FmA%3D","line":687,"updated":"2013-12-03 17:19:48.000000000","message":"I have a feeling we need to register this as an instance error, saying that the snapshot failed. And we may also need to clean up the glance snapshot that has been left behind.\n\nHowever, this is better than what we have now, so lets go for this behaviour for the moment!","commit_id":"56b4d81e1a2b1b0d30de87a16f6e96b205dbdd45"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cbb4ec3e2e5a3ffe41adf214174afa325d76bea7","unresolved":false,"context_lines":[{"line_number":2406,"context_line":"        # NOTE(dave-mcnally) the task state will already be set by the api"},{"line_number":2407,"context_line":"        # but if the compute manager has crashed/been restarted prior to the"},{"line_number":2408,"context_line":"        # request getting here the task state may have been cleared so we set"},{"line_number":2409,"context_line":"        # it again and things continue normally"},{"line_number":2410,"context_line":"        try:"},{"line_number":2411,"context_line":"            instance.task_state \u003d task_states.IMAGE_SNAPSHOT"},{"line_number":2412,"context_line":"            instance.save("}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F9%2Fk8%3D","line":2409,"updated":"2013-12-03 17:21:54.000000000","message":"Hmm, I am not sure you handle this case properly here, but I am willing to say we should test this code out, and see how it goes.","commit_id":"56b4d81e1a2b1b0d30de87a16f6e96b205dbdd45"}],"nova/tests/compute/test_compute_mgr.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e64ee7a34f1f1edcf5c7c772b19c632a30a7c265","unresolved":false,"context_lines":[{"line_number":412,"context_line":"                self.compute._init_instance(self.context, instance)"},{"line_number":413,"context_line":"                call \u003d mock.call(self.context, \u0027foo\u0027, task_state\u003dNone,"},{"line_number":414,"context_line":"                                  vm_state\u003dvm_states.ACTIVE)"},{"line_number":415,"context_line":"                _instance_update.assert_has_calls([call])"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def test_get_instances_on_driver(self):"},{"line_number":418,"context_line":"        fake_context \u003d context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2Bwx4%3D","line":415,"updated":"2013-11-20 14:59:03.000000000","message":"This is the same problem as the test in the other patch, not sure it actually tests quite what you want, once the first one had the correct call.","commit_id":"41bb3ca4bc23d0f009b8822dcd9a88393423fcce"},{"author":{"_account_id":1882,"name":"dave-mcnally","email":"dave.mcnally@hpe.com","username":"dave-mcnally"},"change_message_id":"23ba6a6b205c487c372ca6c4dddcbeb553e9e87d","unresolved":false,"context_lines":[{"line_number":412,"context_line":"                self.compute._init_instance(self.context, instance)"},{"line_number":413,"context_line":"                call \u003d mock.call(self.context, \u0027foo\u0027, task_state\u003dNone,"},{"line_number":414,"context_line":"                                  vm_state\u003dvm_states.ACTIVE)"},{"line_number":415,"context_line":"                _instance_update.assert_has_calls([call])"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    def test_get_instances_on_driver(self):"},{"line_number":418,"context_line":"        fake_context \u003d context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2BsXs%3D","line":415,"in_reply_to":"AAAATn%2F%2Bwx4%3D","updated":"2013-11-21 13:17:57.000000000","message":"Done","commit_id":"41bb3ca4bc23d0f009b8822dcd9a88393423fcce"}]}
