diff --git a/.changelog/24127.txt b/.changelog/24127.txt new file mode 100644 index 00000000000..b872196d0b4 --- /dev/null +++ b/.changelog/24127.txt @@ -0,0 +1,3 @@ +```release-note:bug +state: Fixed a bug where compatibility updates for node topology for nodes older than 1.7.0 were not being correctly applied +``` diff --git a/nomad/structs/structs.go b/nomad/structs/structs.go index 3a68aea1fdd..699a51caf6e 100644 --- a/nomad/structs/structs.go +++ b/nomad/structs/structs.go @@ -2246,7 +2246,7 @@ func (n *Node) Canonicalize() { n.SchedulingEligibility = NodeSchedulingEligible } - // COMPAT remove in 1.9+ + // COMPAT remove in 1.10+ // In v1.7 we introduce Topology into the NodeResources struct which the client // will fingerprint. Since the upgrade path must cover servers that get upgraded // before clients which will send the old struct, we synthesize a pseudo topology @@ -3209,9 +3209,9 @@ func (n *NodeResources) Copy() *NodeResources { } } - // COMPAT remove in 1.9+ + // COMPAT remove in 1.10+ // apply compatibility fixups covering node topology - n.Compatibility() + newN.Compatibility() return newN } @@ -3273,7 +3273,7 @@ func (n *NodeResources) Merge(o *NodeResources) { } } - // COMPAT remove in 1.9+ + // COMPAT remove in 1.10+ // apply compatibility fixups covering node topology n.Compatibility() }