chore(e2e): Define docker attributes to prevent forced replacement on second launch #4918
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR modifies some enos modules to define some docker container attributes to prevent the containers from being regenerated on a second
launch
/terraform apply
.Currently, after launching a docker-based scenario, a subsequent launch would result all of the docker containers in being regenerated, which is not expected if they were generated successfully the first time around. This is caused because of...
Note how the
network_mode
attribute going back tonull
forces a replacement. This is potentially an issue with the provider for trying to set all of these values to null, but the workaround here is to definenetwork_mode = "bridge"
in our modules to prevent this replacement from occurring.This fixes an issue when an e2e test tries to retry. On the first run, we do a
launch
. If the test fails, the workflow tries to do a secondlaunch
, but it keeps failing because it the boundary docker container doesn't start up correctly. This is because the docker container was replaced/regenerated, but the other initialization steps of the module weren't executed (i.e. initializing the database).