-
Notifications
You must be signed in to change notification settings - Fork 27
Need support for AWS tests #52
Copy link
Copy link
Open
Labels
Aspect: RSpecTriage: Needs InformationIndicates an issue needs more information in order to work on it.Indicates an issue needs more information in order to work on it.Type: EnhancementAdds new functionality.Adds new functionality.
Milestone
Metadata
Metadata
Assignees
Labels
Aspect: RSpecTriage: Needs InformationIndicates an issue needs more information in order to work on it.Indicates an issue needs more information in order to work on it.Type: EnhancementAdds new functionality.Adds new functionality.
The
expect_recipematcher currently converges the recipe. The matchers inside the AWS integration tests run converge themselves. We need to expose a new matcher that basically callsexpect( recipe {...})without converging the recipe.The
be_idempotentmatcher should check to see if the recipe that just ran had any failures. If it did, we shouldn't try to run it again - this will just cause the recipe to fail again and in the AWS case it will spin up more AWS resource. Insidebe_idempotentit looks like we can check chef_run#converge_failed?Finally, when running the AWS tests (even without
expect_recipe) something is trying to converge a failing recipe an additional time. Adding a breakpoint here and you can see it getting called twice (if the recipe being converged raises an exception). A fix might be as simple as checkingconverge_failed?and not re-converge, but I would like to understand why the converge is being called a second time on a failure. Is it called a second time on success? Is it called a second time if usingexpect_recipeinstead ofexpect(recipe {?\cc @jkeiser @metadave