mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 01:15:43 +03:00
Just because an alloc is running does not mean nomad is ready to serve task logs. In a test case where you immediatly read logs after starting a task, it could be that nomad responds with "no logs found" when you try to read logs, in which case you just need to wait longer. Do so in the v3 TaskLogs helper function.
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)
}