@@ -35,7 +35,7 @@ type Manager interface {
35
35
GenerateRemediationCRBase (gvk schema.GroupVersionKind ) * unstructured.Unstructured
36
36
GenerateRemediationCRBaseNamed (gvk schema.GroupVersionKind , namespace string , name string ) * unstructured.Unstructured
37
37
GenerateRemediationCRForNode (node * corev1.Node , owner client.Object , template * unstructured.Unstructured ) (* unstructured.Unstructured , error )
38
- GenerateRemediationCRForMachine (machine * machinev1beta1.Machine , owner client.Object , template * unstructured.Unstructured ) (* unstructured.Unstructured , error )
38
+ GenerateRemediationCRForMachine (machine * machinev1beta1.Machine , owner client.Object , template * unstructured.Unstructured , nodeName string ) (* unstructured.Unstructured , error )
39
39
CreateRemediationCR (remediationCR * unstructured.Unstructured , owner client.Object , nodeName * string , currentRemediationDuration , previousRemediationsDuration time.Duration ) (bool , * time.Duration , * unstructured.Unstructured , error )
40
40
DeleteRemediationCR (remediationCR * unstructured.Unstructured , owner client.Object ) (bool , error )
41
41
UpdateRemediationCR (remediationCR * unstructured.Unstructured ) error
@@ -98,10 +98,10 @@ func (m *manager) GenerateRemediationCRForNode(node *corev1.Node, owner client.O
98
98
}
99
99
}
100
100
101
- return m .generateRemediationCR (node .GetName (), nhcOwnerRef , machineOwnerRef , template )
101
+ return m .generateRemediationCR (node .GetName (), node . GetName (), nhcOwnerRef , machineOwnerRef , template )
102
102
}
103
103
104
- func (m * manager ) GenerateRemediationCRForMachine (machine * machinev1beta1.Machine , owner client.Object , template * unstructured.Unstructured ) (* unstructured.Unstructured , error ) {
104
+ func (m * manager ) GenerateRemediationCRForMachine (machine * machinev1beta1.Machine , owner client.Object , template * unstructured.Unstructured , nodeName string ) (* unstructured.Unstructured , error ) {
105
105
106
106
mhcOwnerRef := createOwnerRef (owner )
107
107
@@ -116,23 +116,24 @@ func (m *manager) GenerateRemediationCRForMachine(machine *machinev1beta1.Machin
116
116
// So it can be ignored here.
117
117
}
118
118
119
- return m .generateRemediationCR (machine .GetName (), mhcOwnerRef , machineOwnerRef , template )
119
+ return m .generateRemediationCR (machine .GetName (), nodeName , mhcOwnerRef , machineOwnerRef , template )
120
120
}
121
121
122
- func (m * manager ) generateRemediationCR (name string , healthCheckOwnerRef * metav1.OwnerReference , machineOwnerRef * metav1.OwnerReference , template * unstructured.Unstructured ) (* unstructured.Unstructured , error ) {
122
+ func (m * manager ) generateRemediationCR (name string , nodeName string , healthCheckOwnerRef * metav1.OwnerReference , machineOwnerRef * metav1.OwnerReference , template * unstructured.Unstructured ) (* unstructured.Unstructured , error ) {
123
123
124
124
remediationCR := m .GenerateRemediationCRBase (template .GroupVersionKind ())
125
125
126
126
// can't go wrong, we already checked for correct spec
127
127
templateSpec , _ , _ := unstructured .NestedMap (template .Object , "spec" , "template" , "spec" )
128
128
unstructured .SetNestedField (remediationCR .Object , templateSpec , "spec" )
129
129
130
- if annotations .HasMultipleTemplatesAnnotation (template ) {
130
+ isMHCRemediation := name != nodeName
131
+ if annotations .HasMultipleTemplatesAnnotation (template ) && ! isMHCRemediation {
131
132
remediationCR .SetGenerateName (fmt .Sprintf ("%s-" , name ))
132
133
} else {
133
134
remediationCR .SetName (name )
134
135
}
135
- remediationCR .SetAnnotations (map [string ]string {commonannotations .NodeNameAnnotation : name , annotations .TemplateNameAnnotation : template .GetName ()})
136
+ remediationCR .SetAnnotations (map [string ]string {commonannotations .NodeNameAnnotation : nodeName , annotations .TemplateNameAnnotation : template .GetName ()})
136
137
137
138
remediationCR .SetNamespace (template .GetNamespace ())
138
139
remediationCR .SetResourceVersion ("" )
0 commit comments