diff --git a/internal/controllers/clusterclass/clusterclass_controller.go b/internal/controllers/clusterclass/clusterclass_controller.go index 058932e025e2..295c3416590c 100644 --- a/internal/controllers/clusterclass/clusterclass_controller.go +++ b/internal/controllers/clusterclass/clusterclass_controller.go @@ -463,10 +463,6 @@ func dropFalsePtrBool(in *clusterv1.JSONSchemaProps) *clusterv1.JSONSchemaProps return ret } -func refString(ref *corev1.ObjectReference) string { - return fmt.Sprintf("%s %s/%s", ref.GroupVersionKind().String(), ref.Namespace, ref.Name) -} - func (r *Reconciler) reconcileExternal(ctx context.Context, clusterClass *clusterv1.ClusterClass, ref *corev1.ObjectReference) error { obj, err := external.Get(ctx, r.Client, ref) if err != nil { diff --git a/internal/controllers/clusterclass/clusterclass_controller_status.go b/internal/controllers/clusterclass/clusterclass_controller_status.go index 212ea101a095..7d7904a3588e 100644 --- a/internal/controllers/clusterclass/clusterclass_controller_status.go +++ b/internal/controllers/clusterclass/clusterclass_controller_status.go @@ -50,9 +50,12 @@ func setRefVersionsUpToDateCondition(_ context.Context, clusterClass *clusterv1. } if len(outdatedRefs) > 0 { - var msg []string + var msg = []string{ + "The following templateRefs are not using the latest apiVersion:", + } for _, outdatedRef := range outdatedRefs { - msg = append(msg, fmt.Sprintf("* templateRef %q should be %q", refString(outdatedRef.Outdated), refString(outdatedRef.UpToDate))) + msg = append(msg, fmt.Sprintf("* %s %s: current: %s, latest: %s", outdatedRef.Outdated.Kind, outdatedRef.Outdated.Name, + outdatedRef.Outdated.GroupVersionKind().Version, outdatedRef.UpToDate.GroupVersionKind().Version)) } v1beta1conditions.Set(clusterClass, v1beta1conditions.FalseCondition( diff --git a/internal/controllers/clusterclass/clusterclass_controller_status_test.go b/internal/controllers/clusterclass/clusterclass_controller_status_test.go index 98a34ca1d4ef..b39f102f6f1f 100644 --- a/internal/controllers/clusterclass/clusterclass_controller_status_test.go +++ b/internal/controllers/clusterclass/clusterclass_controller_status_test.go @@ -81,10 +81,9 @@ func TestSetRefVersionsUpToDateCondition(t *testing.T) { Type: clusterv1.ClusterClassRefVersionsUpToDateCondition, Status: metav1.ConditionFalse, Reason: clusterv1.ClusterClassRefVersionsNotUpToDateReason, - Message: "* templateRef \"controlplane.cluster.x-k8s.io/v1beta2, Kind=KubeadmControlPlaneTemplate default/test-kcp\" should be " + - "\"controlplane.cluster.x-k8s.io/v99, Kind=KubeadmControlPlaneTemplate default/test-kcp\"\n" + - "* templateRef \"infrastructure.cluster.x-k8s.io/v1beta2, Kind=DockerMachineTemplate default/test-dmt\" should be " + - "\"infrastructure.cluster.x-k8s.io/v99, Kind=DockerMachineTemplate default/test-dmt\"", + Message: "The following templateRefs are not using the latest apiVersion:\n" + + "* KubeadmControlPlaneTemplate test-kcp: current: v1beta2, latest: v99\n" + + "* DockerMachineTemplate test-dmt: current: v1beta2, latest: v99", }, }, {