Stepwise docker env#9292
Conversation
* master: Entity and alias counts (#9262) Token gauge metrics implementation. (#9239) mfa: fix import path on test file (#9303) doc: update vault helm enterprise image examples (#9299) raft: add support for using backend for ha_storage (#9193) Document new and previously undocumented telemetry metrics: (#9283) Improve the performance of snapshot installs by using rename (#9247) docs: add additional info around transform for tweak and template type (#9203) Update CHANGELOG.md CL++: Add go version to server message output
| return nil | ||
| } | ||
|
|
||
| func (rc *DockerCluster) setupCA(opts *DockerClusterOptions) error { |
There was a problem hiding this comment.
You don't need to do anything for this PR, but I'm curious if an existing library could be used here instead of doing all of the cert generation logic here? Maybe https://github.com/hashicorp/vault/blob/master/helper/testhelpers/certhelpers/cert_helpers.go ?
|
|
||
| // Cleanup kills the container of the node | ||
| func (n *DockerClusterNode) Cleanup() error { | ||
| return n.dockerAPI.ContainerKill(context.Background(), n.container.ID, "KILL") |
There was a problem hiding this comment.
Note for future iterations: this could potentially hang forever since there isn't any timeout or way of cancelling the underlying request since this is using context.Background()
There was a problem hiding this comment.
Maybe we could add this via context.WithTimeout and use a relatively long value. Log something along the lines of "Waiting for cleanup to finish", and output the container ID if the cleanup times out so that users can clean them up manually.
haha thanks :D Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com>
Great catch, thanks Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com>
Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com>
Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com>
Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com>
Co-authored-by: Calvin Leung Huang <cleung2010@gmail.com>
Co-authored-by: Calvin Leung Huang <cleung2010@gmail.com>
Co-authored-by: Calvin Leung Huang <cleung2010@gmail.com>
Co-authored-by: Calvin Leung Huang <cleung2010@gmail.com>
|
|
* add first stepwise test env, Docker, with example transit test * update transit stepwise test * add other tests that use stepwise * cleanup test, make names different than just 'transit' * return the stderr if compile fails with error * minor cleanups * minor cleanups * go mod vendor * cleanups * remove some extra code, and un-export some fields/methods * update vendor * remove reference to vault.CoreConfig, which really wasn't used anyway * update with go mod vendor * restore Precheck method to test cases * clean up some networking things; create networks with UUID, clean up during teardown * vendor stepwise * Update sdk/testing/stepwise/environments/docker/environment.go haha thanks :D Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com> * Update sdk/testing/stepwise/environments/docker/environment.go Great catch, thanks Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com> * fix redundant name * update error message in test * Update builtin/credential/userpass/stepwise_test.go More explicit error checking and responding Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com> * Update builtin/logical/aws/stepwise_test.go `test` -> `testFunc` Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com> * Update builtin/logical/transit/stepwise_test.go Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com> * fix typos * update error messages to provide clarity * Update sdk/testing/stepwise/environments/docker/environment.go Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com> * update error handling / collection in Teardown * panic if GenerateUUID returns an error * Update sdk/testing/stepwise/environments/docker/environment.go Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com> * Update builtin/credential/userpass/stepwise_test.go Co-authored-by: Calvin Leung Huang <cleung2010@gmail.com> * Update builtin/logical/aws/stepwise_test.go Co-authored-by: Calvin Leung Huang <cleung2010@gmail.com> * Update builtin/logical/transit/stepwise_test.go Co-authored-by: Calvin Leung Huang <cleung2010@gmail.com> * Update sdk/testing/stepwise/environments/docker/environment.go Co-authored-by: Calvin Leung Huang <cleung2010@gmail.com> * import ordering * standardize on dc from rc for cluster * lowercase name * CreateAPIClient -> NewAPIClient * testWait -> ensure * go mod cleanup * cleanups * move fields and method around * make start and dockerclusternode private; use better random serial number * use better random for SerialNumber * add a timeout to the context used for terminating the docker container * Use a constant for the Docker client version * rearrange import statements Co-authored-by: Michael Golowka <72365+pcman312@users.noreply.github.com> Co-authored-by: Calvin Leung Huang <cleung2010@gmail.com>
Co-authored-by: Dan Rivera <dan.rivera@hashicorp.com>
This PR introduces the first environment for the Stepwise plugin testing framework, as well as 3 plugin tests that utilizes it:
TEST_AWS_ACCESS_KEYandTEST_AWS_SECRET_KEYenvironment variables)With a local instance of Docker accessible, the tests can be ran using with the
make testaccstep:This is a work in progress which will continue beyond this PR, including tests for this environment which will follow later.