open-nomad/nomad/state
Tim Gross 4c9688271a
CSI: fix potential state store corruptions (#16256)
The `CSIVolume` struct has references to allocations that are "denormalized"; we
don't store them on the `CSIVolume` struct but hydrate them on read. Tests
detecting potential state store corruptions found two locations where we're not
copying the volume before denormalizing:

* When garbage collecting CSI volume claims.
* When checking if it's safe to force-deregister the volume.

There are no known user-visible problems associated with these bugs but both
have the potential of mutating volume claims outside of a FSM transaction. This
changeset also cleans up state mutations in some CSI tests so as to avoid having
working tests cover up potential future bugs.
2023-02-27 08:47:08 -05:00
..
indexer core: add ACL token expiry state, struct, and RPC handling. (#13718) 2022-07-13 15:40:34 +02:00
paginator build: run gofmt on all go source files 2022-08-16 11:14:11 -05:00
autopilot.go autopilot: correctly return errors within state functions. (#12714) 2022-04-21 08:54:50 +02:00
autopilot_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
deployment_events_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
events.go events: add ACL binding rules to core events stream topics. (#15544) 2022-12-14 14:49:49 +01:00
events_test.go events: add ACL binding rules to core events stream topics. (#15544) 2022-12-14 14:49:49 +01:00
iterator.go csi: use node MaxVolumes during scheduling (#7565) 2020-03-31 17:16:47 -04:00
schema.go acl: add binding rule object state schema and functionality. (#15511) 2022-12-14 08:48:18 +01:00
schema_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
state_changes.go events: Use single eventsFromChanges func (#9281) 2020-11-05 13:06:52 -08:00
state_store.go CSI: fix potential state store corruptions (#16256) 2023-02-27 08:47:08 -05:00
state_store_acl.go acl: add ACL roles to event stream topic and resolve policies. (#14923) 2022-10-20 09:43:35 +02:00
state_store_acl_binding_rule.go acl: add binding rule object state schema and functionality. (#15511) 2022-12-14 08:48:18 +01:00
state_store_acl_binding_rule_test.go bugfix: unit test for GetACLBindingRules (#15583) 2022-12-20 15:06:09 +01:00
state_store_acl_sso.go acl: make auth method default across all types (#15869) 2023-01-26 14:17:11 +01:00
state_store_acl_sso_test.go acl: make auth method default across all types (#15869) 2023-01-26 14:17:11 +01:00
state_store_acl_test.go cleanup: rename Equals to Equal for consistency (#14759) 2022-10-10 09:28:46 -05:00
state_store_oss.go gofmt all the files 2021-10-01 10:14:28 -04:00
state_store_restore.go acl: add binding rule object state schema and functionality. (#15511) 2022-12-14 08:48:18 +01:00
state_store_restore_test.go acl: add binding rule object state schema and functionality. (#15511) 2022-12-14 08:48:18 +01:00
state_store_service_regisration_test.go cleanup: rename Equals to Equal for consistency (#14759) 2022-10-10 09:28:46 -05:00
state_store_service_registration.go cleanup: rename Equals to Equal for consistency (#14759) 2022-10-10 09:28:46 -05:00
state_store_test.go CSI: fix potential state store corruptions (#16256) 2023-02-27 08:47:08 -05:00
state_store_variables.go cleanup: rename Equals to Equal for consistency (#14759) 2022-10-10 09:28:46 -05:00
state_store_variables_oss.go rename SecureVariables to Variables throughout 2022-08-26 16:06:24 -04:00
state_store_variables_test.go cleanup: rename Equals to Equal for consistency (#14759) 2022-10-10 09:28:46 -05:00
testing.go CSI: allow updates to volumes on re-registration (#12167) 2022-03-07 11:06:59 -05:00