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 79f900b6e19..6f3ab818c16 100644 --- a/nomad/structs/structs.go +++ b/nomad/structs/structs.go @@ -2251,7 +2251,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 @@ -3262,9 +3262,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 } @@ -3326,7 +3326,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() }