Skip to content

🌱 Drop usage of v1beta1 conditions #12109

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
c7684b5
Accept usage of clusterv1.ResizedV1Beta1Condition (it is for v1beta1 …
fabriziopandini Apr 17, 2025
f6cc58a
Stop using clusterv1.ClusterClassVariablesReconciledV1Beta1Condition …
fabriziopandini Apr 17, 2025
8c5b241
Stop using clusterv1.TopologyReconciledV1Beta1Condition in controllers
fabriziopandini Apr 17, 2025
63fbfb7
Stop using clusterv1.MachineNodeHealthyV1Beta1Condition in controllers
fabriziopandini Apr 17, 2025
bda6a89
Stop using clusterv1.PreTerminateDeleteHookSucceededV1Beta1Condition …
fabriziopandini Apr 18, 2025
35e79cc
Stop using clusterv1.DrainingSucceededV1Beta1Condition in controllers
fabriziopandini Apr 18, 2025
0a7a72d
Stop using clusterv1.VolumeDetachSucceededV1Beta1Condition in control…
fabriziopandini Apr 18, 2025
9e440ef
Stop using clusterv1.BootstrapReadyV1Beta1Condition in controllers
fabriziopandini Apr 18, 2025
2ba98f9
Stop using clusterv1.ControlPlaneInitializedV1Beta1Condition in contr…
fabriziopandini Apr 18, 2025
5553721
Stop using clusterv1.InfrastructureReadyV1Beta1Condition in controllers
fabriziopandini Apr 18, 2025
498f277
Stop using clusterv1.ReadyV1Beta1Condition in controllers
fabriziopandini Apr 22, 2025
5d2d5c9
Stop using clusterv1.MachineOwnerRemediatedV1Beta1Condition and clust…
fabriziopandini Apr 22, 2025
e14b75b
Stop using clusterv1.bootstrapv1.DataSecretAvailableV1Beta1Condition …
fabriziopandini Apr 22, 2025
da2d1f5
Stop using controlplanev1.KubeadmControlPlaneMachine*HealthyCondition…
fabriziopandini Apr 22, 2025
7e67c9e
Stop using controlplanev1.controlplanev1.AvailableV1Beta1Condition in…
fabriziopandini Apr 22, 2025
5033489
Stop using controlplanev1..EtcdClusterHealthyV1Beta1Condition and con…
fabriziopandini Apr 22, 2025
b0df78e
Drop unnecessary TODO
fabriziopandini Apr 23, 2025
3c138c7
Small cleanups
fabriziopandini Apr 23, 2025
e06c3bc
Fix tests
fabriziopandini May 8, 2025
0cb1aee
Address comments
fabriziopandini May 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -358,8 +358,7 @@ func (r *KubeadmConfigReconciler) reconcile(ctx context.Context, scope *Scope, c
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Audited for usages of the deprecated v1beta1 condition packages.

These are the results:

  • test/e2e: 1x v1beta1conditions.IsFalse + 1x v1beta1conditions.Get directly below
  • CAPD:
    • 2x v1beta1conditions.GetReason
    • 1x v1beta1conditions.Has
    • a few times v1beta1conditions.IsTrue
    • a few times v1beta1conditions.Get

I suspect CAPD is expected at this point. Can you please check that this remaining work is properly tracked?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I got it right:

  • test/e2e: 1x v1beta1conditions.IsFalse -> MachinePool 😢
  • test/e2e: 1x v1beta1conditions.Get directly below -> It is a check for MS MachinesCreated condition, which doesn't have an equivalent in v1beta2
  • I suspect CAPD is expected at this point -> Correct, it is tracked


// Note: can't use IsFalse here because we need to handle the absence of the condition as well as false.
// TODO (v1beta2): test for v1beta2 conditions
if !v1beta1conditions.IsTrue(cluster, clusterv1.ControlPlaneInitializedV1Beta1Condition) {
if !conditions.IsTrue(cluster, clusterv1.ClusterControlPlaneInitializedCondition) {
return r.handleClusterNotInitialized(ctx, scope)
}

Expand Down Expand Up @@ -483,8 +482,7 @@ func (r *KubeadmConfigReconciler) handleClusterNotInitialized(ctx context.Contex
// initialize the DataSecretAvailableCondition if missing.
// this is required in order to avoid the condition's LastTransitionTime to flicker in case of errors surfacing
// using the DataSecretGeneratedFailedReason
// TODO (v1beta2): test for v1beta2 conditions
if v1beta1conditions.GetReason(scope.Config, bootstrapv1.DataSecretAvailableV1Beta1Condition) != bootstrapv1.DataSecretGenerationFailedV1Beta1Reason {
if !conditions.Has(scope.Config, bootstrapv1.KubeadmConfigDataSecretAvailableCondition) {
v1beta1conditions.MarkFalse(scope.Config, bootstrapv1.DataSecretAvailableV1Beta1Condition, clusterv1.WaitingForControlPlaneAvailableV1Beta1Reason, clusterv1.ConditionSeverityInfo, "")
conditions.Set(scope.Config, metav1.Condition{
Type: bootstrapv1.KubeadmConfigDataSecretAvailableCondition,
Expand Down

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions cmd/clusterctl/client/cluster/mover.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import (
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta2"
clusterctlv1 "sigs.k8s.io/cluster-api/cmd/clusterctl/api/v1alpha3"
logf "sigs.k8s.io/cluster-api/cmd/clusterctl/log"
v1beta1conditions "sigs.k8s.io/cluster-api/util/conditions/deprecated/v1beta1"
"sigs.k8s.io/cluster-api/util/conditions"
"sigs.k8s.io/cluster-api/util/patch"
"sigs.k8s.io/cluster-api/util/yaml"
)
Expand Down Expand Up @@ -246,8 +246,7 @@ func (o *objectMover) checkProvisioningCompleted(ctx context.Context, graph *obj
}

// Note: can't use IsFalse here because we need to handle the absence of the condition as well as false.
// TODO (v1beta2): test for v1beta2 conditions
if !v1beta1conditions.IsTrue(clusterObj, clusterv1.ControlPlaneInitializedV1Beta1Condition) {
if !conditions.IsTrue(clusterObj, clusterv1.ClusterControlPlaneInitializedCondition) {
errList = append(errList, errors.Errorf("cannot start the move operation while the control plane for %q %s/%s is not yet initialized", clusterObj.GroupVersionKind(), clusterObj.GetNamespace(), clusterObj.GetName()))
continue
}
Expand Down
41 changes: 10 additions & 31 deletions cmd/clusterctl/client/cluster/mover_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ import (
clusterctlv1 "sigs.k8s.io/cluster-api/cmd/clusterctl/api/v1alpha3"
"sigs.k8s.io/cluster-api/cmd/clusterctl/internal/test"
"sigs.k8s.io/cluster-api/cmd/clusterctl/internal/test/providers/infrastructure"
v1beta1conditions "sigs.k8s.io/cluster-api/util/conditions/deprecated/v1beta1"
)

type moveTestsFields struct {
Expand Down Expand Up @@ -1461,12 +1460,8 @@ func Test_objectMover_checkProvisioningCompleted(t *testing.T) {
},
Status: clusterv1.ClusterStatus{
Initialization: &clusterv1.ClusterInitializationStatus{InfrastructureProvisioned: false},
Deprecated: &clusterv1.ClusterDeprecatedStatus{
V1Beta1: &clusterv1.ClusterV1Beta1DeprecatedStatus{
Conditions: clusterv1.Conditions{
*v1beta1conditions.TrueCondition(clusterv1.ControlPlaneInitializedV1Beta1Condition),
},
},
Conditions: []metav1.Condition{
{Type: clusterv1.ClusterControlPlaneInitializedCondition, Status: metav1.ConditionTrue},
},
},
},
Expand Down Expand Up @@ -1510,12 +1505,8 @@ func Test_objectMover_checkProvisioningCompleted(t *testing.T) {
},
Status: clusterv1.ClusterStatus{
Initialization: &clusterv1.ClusterInitializationStatus{InfrastructureProvisioned: true},
Deprecated: &clusterv1.ClusterDeprecatedStatus{
V1Beta1: &clusterv1.ClusterV1Beta1DeprecatedStatus{
Conditions: clusterv1.Conditions{
*v1beta1conditions.FalseCondition(clusterv1.ControlPlaneInitializedV1Beta1Condition, "", clusterv1.ConditionSeverityInfo, ""),
},
},
Conditions: []metav1.Condition{
{Type: clusterv1.ClusterControlPlaneInitializedCondition, Status: metav1.ConditionFalse},
},
},
},
Expand All @@ -1541,12 +1532,8 @@ func Test_objectMover_checkProvisioningCompleted(t *testing.T) {
},
Status: clusterv1.ClusterStatus{
Initialization: &clusterv1.ClusterInitializationStatus{InfrastructureProvisioned: true},
Deprecated: &clusterv1.ClusterDeprecatedStatus{
V1Beta1: &clusterv1.ClusterV1Beta1DeprecatedStatus{
Conditions: clusterv1.Conditions{
*v1beta1conditions.TrueCondition(clusterv1.ControlPlaneInitializedV1Beta1Condition),
},
},
Conditions: []metav1.Condition{
{Type: clusterv1.ClusterControlPlaneInitializedCondition, Status: metav1.ConditionTrue},
},
},
},
Expand All @@ -1570,12 +1557,8 @@ func Test_objectMover_checkProvisioningCompleted(t *testing.T) {
},
Status: clusterv1.ClusterStatus{
Initialization: &clusterv1.ClusterInitializationStatus{InfrastructureProvisioned: true},
Deprecated: &clusterv1.ClusterDeprecatedStatus{
V1Beta1: &clusterv1.ClusterV1Beta1DeprecatedStatus{
Conditions: clusterv1.Conditions{
*v1beta1conditions.TrueCondition(clusterv1.ControlPlaneInitializedV1Beta1Condition),
},
},
Conditions: []metav1.Condition{
{Type: clusterv1.ClusterControlPlaneInitializedCondition, Status: metav1.ConditionTrue},
},
},
},
Expand Down Expand Up @@ -1620,12 +1603,8 @@ func Test_objectMover_checkProvisioningCompleted(t *testing.T) {
},
Status: clusterv1.ClusterStatus{
Initialization: &clusterv1.ClusterInitializationStatus{InfrastructureProvisioned: true, ControlPlaneInitialized: true},
Deprecated: &clusterv1.ClusterDeprecatedStatus{
V1Beta1: &clusterv1.ClusterV1Beta1DeprecatedStatus{
Conditions: clusterv1.Conditions{
*v1beta1conditions.TrueCondition(clusterv1.ControlPlaneInitializedV1Beta1Condition),
},
},
Conditions: []metav1.Condition{
{Type: clusterv1.ClusterControlPlaneInitializedCondition, Status: metav1.ConditionTrue},
},
},
},
Expand Down
54 changes: 27 additions & 27 deletions cmd/clusterctl/client/tree/tree.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,17 +97,17 @@ func (od ObjectTree) Add(parent, obj client.Object, opts ...AddObjectOption) (ad

// Get a small set of conditions that will be used to determine e.g. when grouping or when an object is just an echo of
// its parent.
var objReady, parentReady *clusterv1.Condition
var objAvailableV1Beta2, objReadyV1Beta2, objUpToDateV1Beta2, parentReadyV1Beta2 *metav1.Condition
var objReadyV1Beta1, parentReadyV1Beta1 *clusterv1.Condition
var objAvailable, objReady, objUpToDate, parentReady *metav1.Condition
switch od.options.V1Beta2 {
case true:
objAvailableV1Beta2 = GetAvailableV1Beta2Condition(obj)
objReadyV1Beta2 = GetReadyV1Beta2Condition(obj)
objUpToDateV1Beta2 = GetMachineUpToDateV1Beta2Condition(obj)
parentReadyV1Beta2 = GetReadyV1Beta2Condition(parent)
default:
objAvailable = GetAvailableCondition(obj)
objReady = GetReadyCondition(obj)
objUpToDate = GetMachineUpToDateCondition(obj)
parentReady = GetReadyCondition(parent)
default:
objReadyV1Beta1 = GetV1Beta1ReadyCondition(obj)
parentReadyV1Beta1 = GetV1Beta1ReadyCondition(parent)
}

// If it is requested to show all the conditions for the object, add
Expand All @@ -121,11 +121,11 @@ func (od ObjectTree) Add(parent, obj client.Object, opts ...AddObjectOption) (ad
if addOpts.NoEcho && !od.options.Echo {
switch od.options.V1Beta2 {
case true:
if (objReadyV1Beta2 != nil && objReadyV1Beta2.Status == metav1.ConditionTrue) || hasSameAvailableReadyUptoDateStatusAndReason(nil, nil, parentReadyV1Beta2, objReadyV1Beta2, nil, nil) {
if (objReady != nil && objReady.Status == metav1.ConditionTrue) || hasSameAvailableReadyUptoDateStatusAndReason(nil, nil, parentReady, objReady, nil, nil) {
return false, false
}
default:
if (objReady != nil && objReady.Status == corev1.ConditionTrue) || hasSameReadyStatusSeverityAndReason(parentReady, objReady) {
if (objReadyV1Beta1 != nil && objReadyV1Beta1.Status == corev1.ConditionTrue) || hasSameReadyStatusSeverityAndReason(parentReadyV1Beta1, objReadyV1Beta1) {
return false, false
}
}
Expand Down Expand Up @@ -154,24 +154,24 @@ func (od ObjectTree) Add(parent, obj client.Object, opts ...AddObjectOption) (ad
for i := range siblings {
s := siblings[i]

var sReady *clusterv1.Condition
var sAvailableV1Beta2, sReadyV1Beta2, sUpToDateV1Beta2 *metav1.Condition
var sReadyV1Beta1 *clusterv1.Condition
var sAvailable, sReady, sUpToDate *metav1.Condition
switch od.options.V1Beta2 {
case true:
// If the object's ready condition has a different Available/ReadyUpToDate condition than the sibling object,
// move on (they should not be grouped).
sAvailableV1Beta2 = GetAvailableV1Beta2Condition(s)
sReadyV1Beta2 = GetReadyV1Beta2Condition(s)
sUpToDateV1Beta2 = GetMachineUpToDateV1Beta2Condition(s)
if !hasSameAvailableReadyUptoDateStatusAndReason(objAvailableV1Beta2, sAvailableV1Beta2, objReadyV1Beta2, sReadyV1Beta2, objUpToDateV1Beta2, sUpToDateV1Beta2) {
sAvailable = GetAvailableCondition(s)
sReady = GetReadyCondition(s)
sUpToDate = GetMachineUpToDateCondition(s)
if !hasSameAvailableReadyUptoDateStatusAndReason(objAvailable, sAvailable, objReady, sReady, objUpToDate, sUpToDate) {
continue
}
default:
sReady = GetReadyCondition(s)
sReadyV1Beta1 = GetV1Beta1ReadyCondition(s)

// If the object's ready condition has a different Status, Severity and Reason than the sibling object,
// move on (they should not be grouped).
if !hasSameReadyStatusSeverityAndReason(objReady, sReady) {
if !hasSameReadyStatusSeverityAndReason(objReadyV1Beta1, sReadyV1Beta1) {
continue
}
}
Expand All @@ -183,9 +183,9 @@ func (od ObjectTree) Add(parent, obj client.Object, opts ...AddObjectOption) (ad
if s.GetObjectKind().GroupVersionKind().Kind == obj.GetObjectKind().GroupVersionKind().Kind+"Group" {
switch od.options.V1Beta2 {
case true:
updateGroupNode(s, sReadyV1Beta2, obj, objAvailableV1Beta2, objReadyV1Beta2, objUpToDateV1Beta2)
updateGroupNode(s, sReady, obj, objAvailable, objReady, objUpToDate)
default:
updateV1Beta1GroupNode(s, sReady, obj, objReady)
updateV1Beta1GroupNode(s, sReadyV1Beta1, obj, objReadyV1Beta1)
}

return true, false
Expand All @@ -201,9 +201,9 @@ func (od ObjectTree) Add(parent, obj client.Object, opts ...AddObjectOption) (ad
var groupNode *NodeObject
switch od.options.V1Beta2 {
case true:
groupNode = createGroupNode(s, sReadyV1Beta2, obj, objAvailableV1Beta2, objReadyV1Beta2, objUpToDateV1Beta2)
groupNode = createGroupNode(s, sReady, obj, objAvailable, objReady, objUpToDate)
default:
groupNode = createV1Beta1GroupNode(s, sReady, obj, objReady)
groupNode = createV1Beta1GroupNode(s, sReadyV1Beta1, obj, objReadyV1Beta1)
}

// By default, grouping objects should be sorted last.
Expand Down Expand Up @@ -332,7 +332,7 @@ func createGroupNode(sibling client.Object, siblingReady *metav1.Condition, obj
if objAvailable != nil {
objAvailable.LastTransitionTime = metav1.Time{}
objAvailable.Message = ""
setAvailableV1Beta2Condition(groupNode, objAvailable)
setAvailableCondition(groupNode, objAvailable)
if objAvailable.Status == metav1.ConditionTrue {
// When creating a group, it is already the sum of obj and its own sibling,
// and they all have same conditions.
Expand All @@ -345,7 +345,7 @@ func createGroupNode(sibling client.Object, siblingReady *metav1.Condition, obj
if objReady != nil {
objReady.LastTransitionTime = minLastTransitionTime(objReady, siblingReady)
objReady.Message = ""
setReadyV1Beta2Condition(groupNode, objReady)
setReadyCondition(groupNode, objReady)
if objReady.Status == metav1.ConditionTrue {
// When creating a group, it is already the sum of obj and its own sibling,
// and they all have same conditions.
Expand All @@ -358,7 +358,7 @@ func createGroupNode(sibling client.Object, siblingReady *metav1.Condition, obj
if objUpToDate != nil {
objUpToDate.LastTransitionTime = metav1.Time{}
objUpToDate.Message = ""
setUpToDateV1Beta2Condition(groupNode, objUpToDate)
setUpToDateCondition(groupNode, objUpToDate)
if objUpToDate.Status == metav1.ConditionTrue {
// When creating a group, it is already the sum of obj and its own sibling,
// and they all have same conditions.
Expand All @@ -370,7 +370,7 @@ func createGroupNode(sibling client.Object, siblingReady *metav1.Condition, obj
}

func readyStatusReasonUID(obj client.Object) string {
ready := GetReadyV1Beta2Condition(obj)
ready := GetReadyCondition(obj)
if ready == nil {
return fmt.Sprintf("zzz_%s", util.RandomString(6))
}
Expand Down Expand Up @@ -417,7 +417,7 @@ func createV1Beta1GroupNode(sibling client.Object, siblingReady *clusterv1.Condi
}

func readyStatusSeverityAndReasonUID(obj client.Object) string {
ready := GetReadyCondition(obj)
ready := GetV1Beta1ReadyCondition(obj)
if ready == nil {
return fmt.Sprintf("zzz_%s", util.RandomString(6))
}
Expand Down Expand Up @@ -459,7 +459,7 @@ func updateGroupNode(groupObj client.Object, groupReady *metav1.Condition, obj c
if groupReady != nil {
groupReady.LastTransitionTime = minLastTransitionTime(objReady, groupReady)
groupReady.Message = ""
setReadyV1Beta2Condition(groupObj, groupReady)
setReadyCondition(groupObj, groupReady)
}

if objReady != nil && objReady.Status == metav1.ConditionTrue {
Expand Down
8 changes: 4 additions & 4 deletions cmd/clusterctl/client/tree/tree_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -565,7 +565,7 @@ func Test_createGroupNode(t *testing.T) {
}

g := NewWithT(t)
got := createGroupNode(sibling, GetReadyV1Beta2Condition(sibling), obj, GetAvailableV1Beta2Condition(obj), GetReadyV1Beta2Condition(obj), GetMachineUpToDateV1Beta2Condition(obj))
got := createGroupNode(sibling, GetReadyCondition(sibling), obj, GetAvailableCondition(obj), GetReadyCondition(obj), GetMachineUpToDateCondition(obj))

// Some values are generated randomly, so pick up them.
want.SetName(got.GetName())
Expand Down Expand Up @@ -653,7 +653,7 @@ func Test_createV1Beta1GroupNode(t *testing.T) {
}

g := NewWithT(t)
got := createV1Beta1GroupNode(sibling, GetReadyCondition(sibling), obj, GetReadyCondition(obj))
got := createV1Beta1GroupNode(sibling, GetV1Beta1ReadyCondition(sibling), obj, GetV1Beta1ReadyCondition(obj))

// Some values are generated randomly, so pick up them.
want.SetName(got.GetName())
Expand Down Expand Up @@ -738,7 +738,7 @@ func Test_updateGroupNode(t *testing.T) {
}

g := NewWithT(t)
updateGroupNode(group, GetReadyV1Beta2Condition(group), obj, GetAvailableV1Beta2Condition(obj), GetReadyV1Beta2Condition(obj), GetMachineUpToDateV1Beta2Condition(obj))
updateGroupNode(group, GetReadyCondition(group), obj, GetAvailableCondition(obj), GetReadyCondition(obj), GetMachineUpToDateCondition(obj))

g.Expect(group).To(BeComparableTo(want))
}
Expand Down Expand Up @@ -827,7 +827,7 @@ func Test_updateV1Beta1GroupNode(t *testing.T) {
}

g := NewWithT(t)
updateV1Beta1GroupNode(group, GetReadyCondition(group), obj, GetReadyCondition(obj))
updateV1Beta1GroupNode(group, GetV1Beta1ReadyCondition(group), obj, GetV1Beta1ReadyCondition(obj))

g.Expect(group).To(BeComparableTo(want))
}
Expand Down
30 changes: 15 additions & 15 deletions cmd/clusterctl/client/tree/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ import (
// GroupVersionVirtualObject is the group version for VirtualObject.
var GroupVersionVirtualObject = schema.GroupVersion{Group: "virtual.cluster.x-k8s.io", Version: clusterv1.GroupVersion.Version}

// GetReadyV1Beta2Condition returns the ReadyCondition for an object, if defined.
func GetReadyV1Beta2Condition(obj client.Object) *metav1.Condition {
// GetReadyCondition returns the ReadyCondition for an object, if defined.
func GetReadyCondition(obj client.Object) *metav1.Condition {
if getter, ok := obj.(conditions.Getter); ok {
return conditions.Get(getter, clusterv1.ReadyCondition)
}
Expand All @@ -52,8 +52,8 @@ func GetReadyV1Beta2Condition(obj client.Object) *metav1.Condition {
return nil
}

// GetAvailableV1Beta2Condition returns the AvailableCondition for an object, if defined.
func GetAvailableV1Beta2Condition(obj client.Object) *metav1.Condition {
// GetAvailableCondition returns the AvailableCondition for an object, if defined.
func GetAvailableCondition(obj client.Object) *metav1.Condition {
if getter, ok := obj.(conditions.Getter); ok {
return conditions.Get(getter, clusterv1.AvailableCondition)
}
Expand All @@ -69,26 +69,26 @@ func GetAvailableV1Beta2Condition(obj client.Object) *metav1.Condition {
return nil
}

// GetMachineUpToDateV1Beta2Condition returns machine's UpToDate condition, if defined.
// GetMachineUpToDateCondition returns machine's UpToDate condition, if defined.
// Note: The UpToDate condition only exist on machines, so no need to support reading from unstructured.
func GetMachineUpToDateV1Beta2Condition(obj client.Object) *metav1.Condition {
func GetMachineUpToDateCondition(obj client.Object) *metav1.Condition {
if getter, ok := obj.(conditions.Getter); ok {
return conditions.Get(getter, clusterv1.MachineUpToDateCondition)
}
return nil
}

// GetReadyCondition returns the ReadyCondition for an object, if defined.
func GetReadyCondition(obj client.Object) *clusterv1.Condition {
// GetV1Beta1ReadyCondition returns the ReadyCondition for an object, if defined.
func GetV1Beta1ReadyCondition(obj client.Object) *clusterv1.Condition {
getter := objToGetter(obj)
if getter == nil {
return nil
}
return v1beta1conditions.Get(getter, clusterv1.ReadyV1Beta1Condition)
}

// GetAllV1Beta2Conditions returns the other conditions (all the conditions except ready) for an object, if defined.
func GetAllV1Beta2Conditions(obj client.Object) []metav1.Condition {
// GetConditions returns conditions for an object, if defined.
func GetConditions(obj client.Object) []metav1.Condition {
if getter, ok := obj.(conditions.Getter); ok {
return getter.GetConditions()
}
Expand All @@ -104,8 +104,8 @@ func GetAllV1Beta2Conditions(obj client.Object) []metav1.Condition {
return nil
}

// GetOtherConditions returns the other conditions (all the conditions except ready) for an object, if defined.
func GetOtherConditions(obj client.Object) []*clusterv1.Condition {
// GetOtherV1Beta1Conditions returns the other conditions (all the conditions except ready) for an object, if defined.
func GetOtherV1Beta1Conditions(obj client.Object) []*clusterv1.Condition {
getter := objToGetter(obj)
if getter == nil {
return nil
Expand All @@ -122,19 +122,19 @@ func GetOtherConditions(obj client.Object) []*clusterv1.Condition {
return conditions
}

func setAvailableV1Beta2Condition(obj client.Object, available *metav1.Condition) {
func setAvailableCondition(obj client.Object, available *metav1.Condition) {
if setter, ok := obj.(conditions.Setter); ok {
conditions.Set(setter, *available)
}
}

func setReadyV1Beta2Condition(obj client.Object, ready *metav1.Condition) {
func setReadyCondition(obj client.Object, ready *metav1.Condition) {
if setter, ok := obj.(conditions.Setter); ok {
conditions.Set(setter, *ready)
}
}

func setUpToDateV1Beta2Condition(obj client.Object, upToDate *metav1.Condition) {
func setUpToDateCondition(obj client.Object, upToDate *metav1.Condition) {
if setter, ok := obj.(conditions.Setter); ok {
conditions.Set(setter, *upToDate)
}
Expand Down
Loading