open-nomad/nomad/structs
Luiz Aoqui 7a8cacc9ec
allocrunner: refactor task coordinator (#14009)
The current implementation for the task coordinator unblocks tasks by
performing destructive operations over its internal state (like closing
channels and deleting maps from keys).

This presents a problem in situations where we would like to revert the
state of a task, such as when restarting an allocation with tasks that
have already exited.

With this new implementation the task coordinator behaves more like a
finite state machine where task may be blocked/unblocked multiple times
by performing a state transition.

This initial part of the work only refactors the task coordinator and
is functionally equivalent to the previous implementation. Future work
will build upon this to provide bug fixes and enhancements.
2022-08-22 18:38:49 -04:00
..
config client: fix data races in config handling (#14139) 2022-08-18 16:32:04 -07:00
alloc.go client: fixed a problem calculating a service namespace. (#13493) 2022-06-28 09:47:28 +02:00
alloc_test.go client: fixed a problem calculating a service namespace. (#13493) 2022-06-28 09:47:28 +02:00
batch_future.go drain: refactor batch_future into its own file 2018-04-02 16:40:06 -07:00
batch_future_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
bitmap.go
bitmap_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
check_test.go cleanup: use constants for on_update values 2022-07-21 13:09:47 -05:00
checks.go cleanup: use constants for on_update values 2022-07-21 13:09:47 -05:00
connect.go e2e: consul namespace tests from nomad ent 2021-04-19 15:35:31 -06:00
connect_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
consul.go jobspec: add service block provider parameter and validation. 2022-03-14 09:21:20 +01:00
consul_oss.go gofmt all the files 2021-10-01 10:14:28 -04:00
consul_oss_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
consul_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
csi.go Add stage_publish_base_dir field to csi_plugin stanza of a job (#13919) 2022-08-02 09:42:44 -04:00
csi_test.go CSI: enforce single access mode at validation time (#12337) 2022-03-23 09:21:26 -04:00
devices.go Initial implementation of device preemption 2018-11-15 11:09:26 -06:00
devices_test.go build: run gofmt on all go source files 2022-08-16 11:14:11 -05:00
diff.go template: use pointer values for gid and uid (#14203) 2022-08-22 16:25:49 -04:00
diff_test.go template: use pointer values for gid and uid (#14203) 2022-08-22 16:25:49 -04:00
encoding.go json handles were moved to a new package in #10202 2021-04-02 13:31:10 +00:00
errors.go api: enable selecting subset of services using rendezvous hashing 2022-06-25 10:37:37 -05:00
errors_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
eval.go core: allow deleting of evaluations (#13492) 2022-07-06 16:30:11 +02:00
event.go events: fixup service events and rename topic to service. 2022-04-05 08:25:22 +01:00
extensions.go remove end-user algorithm selection (#13190) 2022-07-11 13:34:04 -04:00
funcs.go core: merge reserved_ports into host_networks (#13651) 2022-07-12 14:40:25 -07:00
funcs_test.go vault: revert support for entity aliases (#12723) 2022-04-22 10:46:34 -04:00
generate.sh workload identity (#13223) 2022-07-11 13:34:05 -04:00
handlers.go json handles were moved to a new package in #10202 2021-04-02 13:31:10 +00:00
job.go job_hooks: add implicit constraint when using Consul for services. (#12602) 2022-04-20 14:09:13 +02:00
job_test.go job_hooks: add implicit constraint when using Consul for services. (#12602) 2022-04-20 14:09:13 +02:00
network.go core: merge reserved_ports into host_networks (#13651) 2022-07-12 14:40:25 -07:00
network_test.go core: merge reserved_ports into host_networks (#13651) 2022-07-12 14:40:25 -07:00
node.go build: run gofmt on all go source files 2022-08-16 11:14:11 -05:00
node_class.go use allow/deny instead of the colored alternatives (#9019) 2020-10-12 08:47:05 -04:00
node_class_test.go build: run gofmt on all go source files 2022-08-16 11:14:11 -05:00
node_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
operator.go client: fix data races in config handling (#14139) 2022-08-18 16:32:04 -07:00
search.go client: fix data races in config handling (#14139) 2022-08-18 16:32:04 -07:00
secure_variables.go move secure variable conflict resolution to state store (#13922) 2022-08-15 11:19:53 -04:00
secure_variables_test.go secure vars: rename automatically accessible vars path for jobs (#13848) 2022-07-19 16:17:34 -04:00
service_identities.go consul: plubming for specifying consul namespace in job/group 2021-04-05 10:03:19 -06:00
service_registration.go api: enable selecting subset of services using rendezvous hashing 2022-06-25 10:37:37 -05:00
service_registration_test.go api: enable selecting subset of services using rendezvous hashing 2022-06-25 10:37:37 -05:00
services.go cleanup: replace TypeToPtr helper methods with pointer.Of (#14151) 2022-08-17 18:26:34 +02:00
services_test.go cleanup: replace TypeToPtr helper methods with pointer.Of (#14151) 2022-08-17 18:26:34 +02:00
streaming_rpc.go Fix some errcheck errors (#9811) 2021-01-14 12:46:35 -08:00
structs.go allocrunner: refactor task coordinator (#14009) 2022-08-22 18:38:49 -04:00
structs_codegen.go Codecgen full package 2018-04-26 15:24:53 -07:00
structs_oss.go gofmt all the files 2021-10-01 10:14:28 -04:00
structs_periodic_test.go build: run gofmt on all go source files 2022-08-16 11:14:11 -05:00
structs_test.go template: use pointer values for gid and uid (#14203) 2022-08-22 16:25:49 -04:00
testing.go chore: fix incorrect docstring formatting. 2021-08-30 11:08:12 +02:00
uuid.go core: allow deleting of evaluations (#13492) 2022-07-06 16:30:11 +02:00
vault.go vault: revert support for entity aliases (#12723) 2022-04-22 10:46:34 -04:00
volume_test.go CSI: enforce single access mode at validation time (#12337) 2022-03-23 09:21:26 -04:00
volumes.go CSI: enforce single access mode at validation time (#12337) 2022-03-23 09:21:26 -04:00