open-nomad/api
Seth Hoenig 3371214431 core: implement system batch scheduler
This PR implements a new "System Batch" scheduler type. Jobs can
make use of this new scheduler by setting their type to 'sysbatch'.

Like the name implies, sysbatch can be thought of as a hybrid between
system and batch jobs - it is for running short lived jobs intended to
run on every compatible node in the cluster.

As with batch jobs, sysbatch jobs can also be periodic and/or parameterized
dispatch jobs. A sysbatch job is considered complete when it has been run
on all compatible nodes until reaching a terminal state (success or failed
on retries).

Feasibility and preemption are governed the same as with system jobs. In
this PR, the update stanza is not yet supported. The update stanza is sill
limited in functionality for the underlying system scheduler, and is
not useful yet for sysbatch jobs. Further work in #4740 will improve
support for the update stanza and deployments.

Closes #2527
2021-08-03 10:30:47 -04:00
..
contexts api: implement fuzzy search API 2021-04-16 16:36:07 -06:00
internal/testutil Fixup uses of sanity (#10187) 2021-03-16 18:05:08 -04:00
acl.go HTTP API support for 'nomad ui -login' 2021-03-10 08:17:56 -05:00
acl_test.go HTTP API support for 'nomad ui -login' 2021-03-10 08:17:56 -05:00
agent.go
agent_test.go
allocations.go exec: api: handle closing errors differently 2021-05-25 11:19:42 -04:00
allocations_exec.go add a note about node connection failure and fallback 2021-05-25 14:24:24 -04:00
allocations_test.go api: add Allocation client and server terminal status funcs. 2021-03-25 08:52:59 +01:00
api.go api: revert to defaulting to http/1 (#10958) 2021-07-28 11:21:53 -04:00
api_test.go Set/parse idempotency_token query param 2021-07-07 16:26:55 -05:00
compose_test.go
constraint.go
constraint_test.go
consul.go consul: plubming for specifying consul namespace in job/group 2021-04-05 10:03:19 -06:00
consul_test.go consul: plubming for specifying consul namespace in job/group 2021-04-05 10:03:19 -06:00
csi.go CSI: fix URL for volume snapshot list 2021-04-07 12:00:33 -04:00
csi_test.go
deployments.go
evaluations.go
evaluations_test.go
event_stream.go
event_stream_test.go Node Drain Metadata (#10250) 2021-05-07 13:58:40 -04:00
fs.go
fs_test.go
go.mod
go.sum
ioutil.go
ioutil_test.go
jobs.go api: Added NewSystemJob job creation helper function. 2021-07-07 11:03:20 +02:00
jobs_test.go api: Added NewSystemJob job creation helper function. 2021-07-07 11:03:20 +02:00
namespace.go
namespace_test.go
nodes.go Node Drain Metadata (#10250) 2021-05-07 13:58:40 -04:00
nodes_test.go Node Drain Metadata (#10250) 2021-05-07 13:58:40 -04:00
operator.go core: implement system batch scheduler 2021-08-03 10:30:47 -04:00
operator_autopilot.go
operator_metrics.go
operator_metrics_test.go agent: return req error if prometheus metrics are disabled. 2021-03-09 15:28:58 +01:00
operator_test.go
quota.go
quota_test.go
raw.go
recommendations.go
regions.go
regions_test.go
resources.go oversubscription: adds CLI and API support 2021-03-30 16:55:58 -04:00
resources_test.go api: add Resource.Canonicalize test and fix tests to handle ReservedCores field 2021-03-19 22:08:27 -04:00
scaling.go chore: bump golangci-lint from v1.24 to v1.39 2021-04-03 09:50:23 +02:00
scaling_test.go
search.go api: implement fuzzy search API 2021-04-16 16:36:07 -06:00
search_test.go api: include ent fuzzy struct types in oss 2021-04-20 11:19:38 -06:00
sentinel.go
sentinel_test.go
services.go Enable parsing of terminating gateways 2021-06-30 05:34:16 +00:00
services_test.go consul/connect: fix tests for mesh gateway mode 2021-06-04 09:31:38 -05:00
status.go
status_test.go
system.go
system_test.go
tasks.go clarify docs from pr comments 2021-04-30 08:31:31 -07:00
tasks_test.go consul: plubming for specifying consul namespace in job/group 2021-04-05 10:03:19 -06:00
util_test.go appease the linter and fix an incorrect test 2021-01-08 19:38:25 +00:00
utils.go
utils_test.go