'Update a stack using the same template doesn\'t work when FAILED.'

def test_stack_update_existing_failed(self):

    stack_name = 'service_update_test_stack_existing_template'
    api_args = {rpc_api.PARAM_TIMEOUT: 60, rpc_api.PARAM_EXISTING: True}
    t = template_format.parse(tools.wp_template)
    self.man.thread_group_mgr = tools.DummyThreadGroupMgrLogStart()
    params = {}
    stack = utils.parse_stack(t, stack_name=stack_name, params=params)
    stack.set_stack_user_project_id('1234')
    self.assertEqual(t, stack.t.t)
    stack.action = stack.UPDATE
    stack.status = stack.FAILED
    ex = self.assertRaises(dispatcher.ExpectedException, self.man.update_stack, self.ctx, stack.identifier(), None, params, None, api_args)
    self.assertEqual(exception.NotSupported, ex.exc_info[0])
    self.assertIn('PATCH    update    to    non-COMPLETE    stack', six.text_type(ex.exc_info[1]))
