mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 17:35:43 +03:00
The `TestTemplateUpdateTriggers` is flaky because of what turned out to be incompatibility between the Consul agent on the E2E cluster and the HCP Consul server we were running but hadn't upgraded in a while. Upgrading the HCP Consul server seems to have fixed the tests, but while I'm in here I've updated this test suite: * Port all the consul template test suite off of the old framework, and upgrade to using e2e "v3" where feasible. * Clean up some of the assertions in the update triggers test to make the purpose of the test more clear. * Remove unnecessary default fields from the job specs. Closes: #19075
e2e | v3
(!) These packages are experimental and breaking changes will be made. Also, expect bugs. Like a lot of bugs. Especially on non-happy paths.
The e2e/v3/ set of packages provide utilities for creating Nomad e2e tests in
a way that is convenient, reliable, and debuggable.
v3/cluster3- establish and verify the state of the clusterv3/jobs3- manage nomad jobs and wait for deployments, etc.v3/namespaces3- manage nomad namespacesv3/util3- helper methods specific to thev3utilities
Examples
simple
The simplest example, where we expect a cluster with a leader and at least one
Linux client in a ready state. The test case will submit the sleep.hcl job,
wait for the deployment to become succesfull (or fail / timeout), then cleanup
the job.
func TestExample(t *testing.T) {
cluster3.Establish(t,
cluster3.Leader(),
cluster3.LinuxClients(1),
)
t.Run("testSleep", testSleep)
}
func testSleep(t *testing.T) {
cleanup := jobs3.Submit(t, "./input/sleep.hcl")
t.Cleanup(cleanup)
}