
to limit the number of reschedules as we cannot guarantee an error-free job definition. We also set reasonable delays and intervals to increase the likelihood that one deployment has enough time, but there is no second deployment within the interval.
85 lines
1.8 KiB
HCL
85 lines
1.8 KiB
HCL
// This is the default job configuration that is used when no path to another default configuration is given
|
|
|
|
job "template-0" {
|
|
datacenters = ["dc1"]
|
|
type = "batch"
|
|
|
|
group "default-group" {
|
|
ephemeral_disk {
|
|
migrate = false
|
|
size = 10
|
|
sticky = false
|
|
}
|
|
count = 1
|
|
spread {
|
|
// see https://www.nomadproject.io/docs/job-specification/spread#even-spread-across-data-center
|
|
// This spreads the load evenly amongst our nodes
|
|
attribute = "${node.unique.name}"
|
|
weight = 100
|
|
}
|
|
restart {
|
|
attempts = 3
|
|
delay = "15s"
|
|
interval = "1h"
|
|
mode = "fail"
|
|
}
|
|
reschedule {
|
|
unlimited = false
|
|
attempts = 3
|
|
interval = "6h"
|
|
delay = "1m"
|
|
max_delay = "4m"
|
|
delay_function = "exponential"
|
|
}
|
|
|
|
task "default-task" {
|
|
driver = "docker"
|
|
kill_timeout = "0s"
|
|
kill_signal = "SIGKILL"
|
|
|
|
config {
|
|
image = "openhpi/docker_exec_phusion"
|
|
command = "sleep"
|
|
args = ["infinity"]
|
|
network_mode = "none"
|
|
}
|
|
|
|
logs {
|
|
max_files = 1
|
|
max_file_size = 1
|
|
}
|
|
|
|
resources {
|
|
cpu = 40
|
|
memory = 30
|
|
}
|
|
}
|
|
}
|
|
|
|
group "config" {
|
|
// We want to store whether a task is in use in order to recover from a downtime.
|
|
// Without a separate config task, marking a task as used would result in a restart of that task,
|
|
// as the meta information is passed to the container as environment variables.
|
|
count = 0
|
|
task "config" {
|
|
driver = "exec"
|
|
config {
|
|
command = "true"
|
|
}
|
|
logs {
|
|
max_files = 1
|
|
max_file_size = 1
|
|
}
|
|
resources {
|
|
// minimum values
|
|
cpu = 1
|
|
memory = 10
|
|
}
|
|
}
|
|
meta {
|
|
used = "false"
|
|
prewarmingPoolSize = "0"
|
|
}
|
|
}
|
|
}
|