)]}'
{"ironic/drivers/modules/agent.py":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"a5c757b76edb11a9e807cc0a152216791999e82e","unresolved":false,"context_lines":[{"line_number":389,"context_line":"        LOG.debug(\u0027prepare_image got response %(res)s for node %(node)s\u0027,"},{"line_number":390,"context_line":"                  {\u0027res\u0027: res, \u0027node\u0027: node.uuid})"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"        node.provision_state \u003d states.DEPLOYING"},{"line_number":393,"context_line":"        node.save()"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"    def _check_deploy_success(self, node):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_1541e838","side":"PARENT","line":392,"updated":"2015-01-07 00:48:08.000000000","message":"DEPLOYWAIT -\u003e DEPLOYING","commit_id":"776bcda2ee0a388ba339709e63fb6188eaf6ddf3"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"a5c757b76edb11a9e807cc0a152216791999e82e","unresolved":false,"context_lines":[{"line_number":417,"context_line":""},{"line_number":418,"context_line":"        manager_utils.node_set_boot_device(task, \u0027disk\u0027, persistent\u003dTrue)"},{"line_number":419,"context_line":"        manager_utils.node_power_action(task, states.REBOOT)"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"        node.provision_state \u003d states.ACTIVE"},{"line_number":422,"context_line":"        node.target_provision_state \u003d states.NOSTATE"},{"line_number":423,"context_line":"        node.save()"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_353ee4b8","side":"PARENT","line":420,"updated":"2015-01-07 00:48:08.000000000","message":"DEPLOYING -\u003e ACTIVE\n\nnote that it never goes to DEPLOYDONE ...","commit_id":"776bcda2ee0a388ba339709e63fb6188eaf6ddf3"}],"ironic/drivers/modules/deploy_utils.py":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"a5c757b76edb11a9e807cc0a152216791999e82e","unresolved":false,"context_lines":[{"line_number":456,"context_line":"    :param msg: the message to set in last_error of the node."},{"line_number":457,"context_line":"    \"\"\""},{"line_number":458,"context_line":"    node \u003d task.node"},{"line_number":459,"context_line":"    node.provision_state \u003d states.DEPLOYFAIL"},{"line_number":460,"context_line":"    node.target_provision_state \u003d states.NOSTATE"},{"line_number":461,"context_line":"    node.save()"},{"line_number":462,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_f558dc32","side":"PARENT","line":459,"updated":"2015-01-07 00:48:08.000000000","message":"this could be any of DEPLOYWAIT or DEPLOYING, prior to becoming DEPLOYFAIL.\n\nit does not go to ERROR here","commit_id":"776bcda2ee0a388ba339709e63fb6188eaf6ddf3"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"b8175cf73aeedc635d413b3d93ce588fdf2563c3","unresolved":false,"context_lines":[{"line_number":453,"context_line":"    with the given error message. It also powers off the baremetal node."},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"    :param task: a TaskManager instance containing the node to act on."},{"line_number":456,"context_line":"    :param msg: the message to set in last_error of the node."},{"line_number":457,"context_line":"    \"\"\""},{"line_number":458,"context_line":"    task.process_event(\u0027fail\u0027)"},{"line_number":459,"context_line":"    node \u003d task.node"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a961159_5e60930d","line":456,"updated":"2015-01-10 01:25:08.000000000","message":"Needs a :raises: InvalidState","commit_id":"509f3b696da71eab9735be3b0a46716a91b7385a"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"ac224a747c4816d869ee33cd19f9d1962c4e9d3b","unresolved":false,"context_lines":[{"line_number":453,"context_line":"    with the given error message. It also powers off the baremetal node."},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"    :param task: a TaskManager instance containing the node to act on."},{"line_number":456,"context_line":"    :param msg: the message to set in last_error of the node."},{"line_number":457,"context_line":"    \"\"\""},{"line_number":458,"context_line":"    task.process_event(\u0027fail\u0027)"},{"line_number":459,"context_line":"    node \u003d task.node"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a961159_b2f4cd55","line":456,"in_reply_to":"3a961159_5e60930d","updated":"2015-01-14 19:16:55.000000000","message":"Done","commit_id":"509f3b696da71eab9735be3b0a46716a91b7385a"}],"ironic/drivers/modules/ilo/deploy.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"95942d8fac8881be59d335cca94c68369b789ca3","unresolved":false,"context_lines":[{"line_number":514,"context_line":"        :param kwargs: kwargs containing parameters for iSCSI deployment."},{"line_number":515,"context_line":"        \"\"\""},{"line_number":516,"context_line":"        node \u003d task.node"},{"line_number":517,"context_line":"        task.process_event(\u0027resume\u0027)"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"        ilo_common.cleanup_vmedia_boot(task)"},{"line_number":520,"context_line":"        root_uuid \u003d iscsi_deploy.continue_deploy(task, **kwargs)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_202a7d90","line":517,"updated":"2014-12-18 03:12:32.000000000","message":"the original code logged an error if the provision state is wrong. This will cause an exception to be raised, but do we want to log something here still?","commit_id":"c20b0c4e8853595b0f5366aabfe700ce32df5014"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"a5c757b76edb11a9e807cc0a152216791999e82e","unresolved":false,"context_lines":[{"line_number":519,"context_line":"            return"},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"        ilo_common.cleanup_vmedia_boot(task)"},{"line_number":522,"context_line":"        root_uuid \u003d iscsi_deploy.continue_deploy(task, **kwargs)"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"        if not root_uuid:"},{"line_number":525,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_5547f04b","side":"PARENT","line":522,"updated":"2015-01-07 00:48:08.000000000","message":"this does the DEPLOYWAIT -\u003e DEPLOYING transition. it\u0027s not obvious from reading this file, though","commit_id":"776bcda2ee0a388ba339709e63fb6188eaf6ddf3"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"a5c757b76edb11a9e807cc0a152216791999e82e","unresolved":false,"context_lines":[{"line_number":536,"context_line":""},{"line_number":537,"context_line":"            address \u003d kwargs.get(\u0027address\u0027)"},{"line_number":538,"context_line":"            deploy_utils.notify_deploy_complete(address)"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":"            node.provision_state \u003d states.ACTIVE"},{"line_number":541,"context_line":"            node.target_provision_state \u003d states.NOSTATE"},{"line_number":542,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_7544ec46","side":"PARENT","line":539,"updated":"2015-01-07 00:48:08.000000000","message":"again, DEPLOYING -\u003e ACTIVE. there\u0027s no use of DEPLOYDONE ...","commit_id":"776bcda2ee0a388ba339709e63fb6188eaf6ddf3"}],"ironic/drivers/modules/iscsi_deploy.py":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"b8175cf73aeedc635d413b3d93ce588fdf2563c3","unresolved":false,"context_lines":[{"line_number":257,"context_line":"    node \u003d task.node"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    node.provision_state \u003d states.DEPLOYING"},{"line_number":260,"context_line":"    node.save()"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    params \u003d get_deploy_info(node, **kwargs)"},{"line_number":263,"context_line":"    ramdisk_error \u003d kwargs.get(\u0027error\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a961159_be6fb7fb","side":"PARENT","line":260,"updated":"2015-01-10 01:25:08.000000000","message":"Shouldn\u0027t this change to process_event(\u0027resume\u0027)?","commit_id":"0c928b55199e90e12de31c7eea14ce18f02e4814"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"cbcd9841e7caaf60b8c1dff07c64b319a0154f24","unresolved":false,"context_lines":[{"line_number":257,"context_line":"    node \u003d task.node"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    node.provision_state \u003d states.DEPLOYING"},{"line_number":260,"context_line":"    node.save()"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    params \u003d get_deploy_info(node, **kwargs)"},{"line_number":263,"context_line":"    ramdisk_error \u003d kwargs.get(\u0027error\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a961159_854b74b0","side":"PARENT","line":260,"in_reply_to":"3a961159_be6fb7fb","updated":"2015-01-12 12:04:38.000000000","message":"I guess it should be done by a caller (see e.g. pxe.py)","commit_id":"0c928b55199e90e12de31c7eea14ce18f02e4814"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"b8175cf73aeedc635d413b3d93ce588fdf2563c3","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    :param task: a TaskManager instance containing the node to act on."},{"line_number":253,"context_line":"    :param kwargs: the kwargs to be passed to deploy."},{"line_number":254,"context_line":"    :returns: UUID of the root partition or None on error."},{"line_number":255,"context_line":"    \"\"\""},{"line_number":256,"context_line":"    node \u003d task.node"},{"line_number":257,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3a961159_fe705fdc","line":254,"updated":"2015-01-10 01:25:08.000000000","message":"needs a :raises: InvalidState.","commit_id":"509f3b696da71eab9735be3b0a46716a91b7385a"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"ac224a747c4816d869ee33cd19f9d1962c4e9d3b","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    :param task: a TaskManager instance containing the node to act on."},{"line_number":253,"context_line":"    :param kwargs: the kwargs to be passed to deploy."},{"line_number":254,"context_line":"    :returns: UUID of the root partition or None on error."},{"line_number":255,"context_line":"    \"\"\""},{"line_number":256,"context_line":"    node \u003d task.node"},{"line_number":257,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3a961159_32a0dd41","line":254,"in_reply_to":"3a961159_fe705fdc","updated":"2015-01-14 19:16:55.000000000","message":"Done","commit_id":"509f3b696da71eab9735be3b0a46716a91b7385a"}],"ironic/drivers/modules/pxe.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"95942d8fac8881be59d335cca94c68369b789ca3","unresolved":false,"context_lines":[{"line_number":463,"context_line":"            LOG.error(_LE(\u0027Node %s is not waiting to be deployed.\u0027), node.uuid)"},{"line_number":464,"context_line":"            return"},{"line_number":465,"context_line":"        else:"},{"line_number":466,"context_line":"            task.process_event(\u0027resume\u0027)"},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"        _destroy_token_file(node)"},{"line_number":469,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_e21f95b5","line":466,"updated":"2014-12-18 03:12:32.000000000","message":"ilo\u0027s version is slightly different from this one; the check for DEPLOYWAIT was removed from ilo, but kept here.","commit_id":"c20b0c4e8853595b0f5366aabfe700ce32df5014"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"a5c757b76edb11a9e807cc0a152216791999e82e","unresolved":false,"context_lines":[{"line_number":465,"context_line":""},{"line_number":466,"context_line":"        _destroy_token_file(node)"},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"        root_uuid \u003d iscsi_deploy.continue_deploy(task, **kwargs)"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"        if not root_uuid:"},{"line_number":471,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_b552d410","side":"PARENT","line":468,"updated":"2015-01-07 00:48:08.000000000","message":"again, DEPLOYWAIT -\u003e DEPLOYING","commit_id":"776bcda2ee0a388ba339709e63fb6188eaf6ddf3"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"a5c757b76edb11a9e807cc0a152216791999e82e","unresolved":false,"context_lines":[{"line_number":477,"context_line":""},{"line_number":478,"context_line":"            deploy_utils.notify_deploy_complete(kwargs[\u0027address\u0027])"},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"            LOG.info(_LI(\u0027Deployment to node %s done\u0027), node.uuid)"},{"line_number":481,"context_line":"            node.provision_state \u003d states.ACTIVE"},{"line_number":482,"context_line":"            node.target_provision_state \u003d states.NOSTATE"},{"line_number":483,"context_line":"            node.save()"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_d553e013","side":"PARENT","line":480,"updated":"2015-01-07 00:48:08.000000000","message":"and again, there\u0027s no use of DEPLOYDONE","commit_id":"776bcda2ee0a388ba339709e63fb6188eaf6ddf3"}],"ironic/tests/drivers/ilo/test_deploy.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"95942d8fac8881be59d335cca94c68369b789ca3","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        continue_deploy_mock.return_value \u003d \u0027root-uuid\u0027"},{"line_number":343,"context_line":"        get_boot_iso_mock.return_value \u003d \u0027boot-iso\u0027"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        self.node.provision_state \u003d states.DEPLOYWAIT"},{"line_number":346,"context_line":"        self.node.save()"},{"line_number":347,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"},{"line_number":348,"context_line":"                                  shared\u003dFalse) as task:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_6ce71ee5","line":345,"updated":"2014-12-18 03:12:32.000000000","message":"if provision_state gets set to DEPLOYWAIT, target_provision_state will always be DEPLOYDONE.\n\nWhich doesn\u0027t seem to matter much in this test, except that task.fsm._target_state will be initially None, not DEPLOYDONE.","commit_id":"c20b0c4e8853595b0f5366aabfe700ce32df5014"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"95942d8fac8881be59d335cca94c68369b789ca3","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        notify_deploy_complete_mock.assert_called_once_with(\u0027123456\u0027)"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"    @mock.patch.object(ilo_deploy, \u0027LOG\u0027)"},{"line_number":363,"context_line":"    def test__continue_deploy_bad(self, log_mock):"},{"line_number":364,"context_line":"        kwargs \u003d {\u0027method\u0027: \u0027pass_deploy_info\u0027, \u0027address\u0027: \u0027123456\u0027}"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"        self.node.provision_state \u003d states.NOSTATE"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_2c04367d","line":363,"updated":"2014-12-18 03:12:32.000000000","message":"don\u0027t need \u0027log_mock\u0027 or the @mock line above this.","commit_id":"c20b0c4e8853595b0f5366aabfe700ce32df5014"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8559fda065dec922db620cf301d1e3fe6d5ca464","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        self.node.target_provision_state \u003d states.DEPLOYDONE"},{"line_number":347,"context_line":"        self.node.save()"},{"line_number":348,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"},{"line_number":349,"context_line":"                                  shared\u003dFalse) as task:"},{"line_number":350,"context_line":"            vendor \u003d ilo_deploy.VendorPassthru()"},{"line_number":351,"context_line":"            vendor._continue_deploy(task, **kwargs)"},{"line_number":352,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_2053e717","line":349,"updated":"2014-12-23 01:08:48.000000000","message":"In task.fsm.initialize(), do you think task.fsm._target_state should be None or DEPLOYDONE? (node.target_provision_state is DEPLOYDONE.)","commit_id":"b0590b14e9da22d3df3a780fa55716cc26a8759f"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"4b50977d673e1ec05928fcbec7fbcd9e9d0dc4a7","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        self.node.target_provision_state \u003d states.DEPLOYDONE"},{"line_number":347,"context_line":"        self.node.save()"},{"line_number":348,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"},{"line_number":349,"context_line":"                                  shared\u003dFalse) as task:"},{"line_number":350,"context_line":"            vendor \u003d ilo_deploy.VendorPassthru()"},{"line_number":351,"context_line":"            vendor._continue_deploy(task, **kwargs)"},{"line_number":352,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_93785790","line":349,"in_reply_to":"3a961159_2053e717","updated":"2015-01-08 18:49:21.000000000","message":"good catch. actually, it should be ACTIVE now.","commit_id":"b0590b14e9da22d3df3a780fa55716cc26a8759f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8559fda065dec922db620cf301d1e3fe6d5ca464","unresolved":false,"context_lines":[{"line_number":357,"context_line":"            set_boot_device_mock.assert_called_once_with(task,"},{"line_number":358,"context_line":"                                                         boot_devices.CDROM)"},{"line_number":359,"context_line":"            self.assertEqual(\u0027boot-iso\u0027,"},{"line_number":360,"context_line":"                             task.node.instance_info[\u0027ilo_boot_iso\u0027])"},{"line_number":361,"context_line":"        notify_deploy_complete_mock.assert_called_once_with(\u0027123456\u0027)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    def test__continue_deploy_bad(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_203da78f","line":360,"updated":"2014-12-23 01:08:48.000000000","message":"check the node\u0027s [target_]provision state?","commit_id":"b0590b14e9da22d3df3a780fa55716cc26a8759f"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"4b50977d673e1ec05928fcbec7fbcd9e9d0dc4a7","unresolved":false,"context_lines":[{"line_number":357,"context_line":"            set_boot_device_mock.assert_called_once_with(task,"},{"line_number":358,"context_line":"                                                         boot_devices.CDROM)"},{"line_number":359,"context_line":"            self.assertEqual(\u0027boot-iso\u0027,"},{"line_number":360,"context_line":"                             task.node.instance_info[\u0027ilo_boot_iso\u0027])"},{"line_number":361,"context_line":"        notify_deploy_complete_mock.assert_called_once_with(\u0027123456\u0027)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    def test__continue_deploy_bad(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_b36b93b7","line":360,"in_reply_to":"3a961159_203da78f","updated":"2015-01-08 18:49:21.000000000","message":"Done","commit_id":"b0590b14e9da22d3df3a780fa55716cc26a8759f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8559fda065dec922db620cf301d1e3fe6d5ca464","unresolved":false,"context_lines":[{"line_number":375,"context_line":"            # NOTE(deva): this test previously asserted that a bad state"},{"line_number":376,"context_line":"            #             resulted in a LOG message. Since states are now"},{"line_number":377,"context_line":"            #             checked by the state machine, this test"},{"line_number":378,"context_line":"            #             doesn\u0027t really do anything..."},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"    @mock.patch.object(iscsi_deploy, \u0027continue_deploy\u0027)"},{"line_number":381,"context_line":"    @mock.patch.object(ilo_common, \u0027cleanup_vmedia_boot\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_c08ea378","line":378,"updated":"2014-12-23 01:08:48.000000000","message":"It is now testing that InvalidState is raised.\n\nWere you going to leave this NOTE in here, or was it a note for the reviewers? (I think it would be confusing to leave the NOTE in.)","commit_id":"b0590b14e9da22d3df3a780fa55716cc26a8759f"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"4b50977d673e1ec05928fcbec7fbcd9e9d0dc4a7","unresolved":false,"context_lines":[{"line_number":375,"context_line":"            # NOTE(deva): this test previously asserted that a bad state"},{"line_number":376,"context_line":"            #             resulted in a LOG message. Since states are now"},{"line_number":377,"context_line":"            #             checked by the state machine, this test"},{"line_number":378,"context_line":"            #             doesn\u0027t really do anything..."},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"    @mock.patch.object(iscsi_deploy, \u0027continue_deploy\u0027)"},{"line_number":381,"context_line":"    @mock.patch.object(ilo_common, \u0027cleanup_vmedia_boot\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_b306331a","line":378,"in_reply_to":"3a961159_c08ea378","updated":"2015-01-08 18:49:21.000000000","message":"I took another look at vendor._continue_deploy and think it is better to add a negative assertion here -- so I\u0027ve done that in the next rev.","commit_id":"b0590b14e9da22d3df3a780fa55716cc26a8759f"}]}
