Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 3 additions & 3 deletions cmd/vsphere/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
"k8s.io/apiserver/pkg/util/feature"
"k8s.io/component-base/featuregate"
"k8s.io/klog/v2"
ipamv1beta1 "sigs.k8s.io/cluster-api/api/ipam/v1beta1" //nolint:staticcheck
ipamv1 "sigs.k8s.io/cluster-api/api/ipam/v1beta2"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/cache"
"sigs.k8s.io/controller-runtime/pkg/client/config"
Expand Down Expand Up @@ -188,8 +188,8 @@ func main() {
klog.Fatal(err)
}

if err := ipamv1beta1.AddToScheme(mgr.GetScheme()); err != nil {
klog.Fatalf("unable to add ipamv1beta1 to scheme: %v", err)
if err := ipamv1.AddToScheme(mgr.GetScheme()); err != nil {
klog.Fatalf("unable to add ipamv1 to scheme: %v", err)
}

if err := capimachine.AddWithActuator(mgr, machineActuator, defaultMutableGate); err != nil {
Expand Down
4 changes: 2 additions & 2 deletions pkg/controller/vsphere/actuator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/kubernetes/scheme"
ipamv1beta1 "sigs.k8s.io/cluster-api/api/ipam/v1beta1" //nolint:staticcheck
ipamv1 "sigs.k8s.io/cluster-api/api/ipam/v1beta2"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/envtest"
"sigs.k8s.io/controller-runtime/pkg/manager"
Expand All @@ -36,7 +36,7 @@ func init() {
panic(err)
}

if err := ipamv1beta1.AddToScheme(scheme.Scheme); err != nil {
if err := ipamv1.AddToScheme(scheme.Scheme); err != nil {
panic(err)
}
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/controller/vsphere/reconciler.go
Original file line number Diff line number Diff line change
Expand Up @@ -779,7 +779,7 @@ func getAddressesFromPool(configIdx int, networkConfig machinev1.NetworkDeviceSp
return nil, "", fmt.Errorf("error retrieving bound IP address: %w", err)
}
ipAddressSpec := ipAddress.Spec
addresses = append(addresses, fmt.Sprintf("%s/%d", ipAddressSpec.Address, ipAddressSpec.Prefix))
addresses = append(addresses, fmt.Sprintf("%s/%d", ipAddressSpec.Address, *ipAddressSpec.Prefix))
if len(ipAddressSpec.Gateway) > 0 {
gateway = ipAddressSpec.Gateway
}
Expand Down
63 changes: 32 additions & 31 deletions pkg/controller/vsphere/reconciler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,15 @@ import (
apimachinerytypes "k8s.io/apimachinery/pkg/types"
"k8s.io/client-go/kubernetes/scheme"
vsphere "k8s.io/cloud-provider-vsphere/pkg/common/config"
"k8s.io/utils/ptr"
runtimeclient "sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/client/fake"

configv1 "github.com/openshift/api/config/v1"
"github.com/openshift/api/features"
machinev1 "github.com/openshift/api/machine/v1beta1"

ipamv1beta1 "sigs.k8s.io/cluster-api/api/ipam/v1beta1" //nolint:staticcheck
ipamv1 "sigs.k8s.io/cluster-api/api/ipam/v1beta2"

machinecontroller "github.com/openshift/machine-api-operator/pkg/controller/machine"
"github.com/openshift/machine-api-operator/pkg/controller/vsphere/session"
Expand Down Expand Up @@ -913,39 +914,39 @@ func testStaticIPsWithSimulator(t *testing.T, model *simulator.Model, server *si
},
}

ipAddressClaim := ipamv1beta1.IPAddressClaim{
ipAddressClaim := ipamv1.IPAddressClaim{
ObjectMeta: metav1.ObjectMeta{
Name: "test-claim-0-0",
Namespace: "openshift-machine-api",
},
Spec: ipamv1beta1.IPAddressClaimSpec{
PoolRef: corev1.TypedLocalObjectReference{
Spec: ipamv1.IPAddressClaimSpec{
PoolRef: ipamv1.IPPoolReference{
Name: "test-pool",
APIGroup: &poolGroup,
APIGroup: poolGroup,
Kind: "ippools",
},
},
Status: ipamv1beta1.IPAddressClaimStatus{
AddressRef: corev1.LocalObjectReference{
Status: ipamv1.IPAddressClaimStatus{
AddressRef: ipamv1.IPAddressReference{
Name: "test-test-0",
},
},
}

ipAddress := ipamv1beta1.IPAddress{
ipAddress := ipamv1.IPAddress{
ObjectMeta: metav1.ObjectMeta{
Name: "test-test-0",
Namespace: "openshift-machine-api",
},
Spec: ipamv1beta1.IPAddressSpec{
ClaimRef: corev1.LocalObjectReference{
Spec: ipamv1.IPAddressSpec{
ClaimRef: ipamv1.IPAddressClaimReference{
Name: "test-test-0",
},
PoolRef: corev1.TypedLocalObjectReference{
PoolRef: ipamv1.IPPoolReference{
Name: "test-pool",
},
Address: "192.168.1.11",
Prefix: 24,
Prefix: ptr.To(int32(24)),
Gateway: "192.168.1.1",
},
}
Expand Down Expand Up @@ -2156,7 +2157,7 @@ func TestDelete(t *testing.T) {
t.Fatalf("cannot add scheme: %v", err)
}

if err := ipamv1beta1.AddToScheme(scheme.Scheme); err != nil {
if err := ipamv1.AddToScheme(scheme.Scheme); err != nil {
t.Fatalf("cannot add scheme: %v", err)
}

Expand Down Expand Up @@ -2601,53 +2602,53 @@ func TestCreate(t *testing.T) {
},
}

ipAddressClaimTest3 := &ipamv1beta1.IPAddressClaim{
ipAddressClaimTest3 := &ipamv1.IPAddressClaim{
ObjectMeta: metav1.ObjectMeta{
Name: "test-3-claim-0-0",
Namespace: namespace,
},
Spec: ipamv1beta1.IPAddressClaimSpec{
PoolRef: corev1.TypedLocalObjectReference{
Spec: ipamv1.IPAddressClaimSpec{
PoolRef: ipamv1.IPPoolReference{
Name: "test-3-pool",
APIGroup: &poolGroup,
APIGroup: poolGroup,
Kind: "ippools",
},
},
Status: ipamv1beta1.IPAddressClaimStatus{
AddressRef: corev1.LocalObjectReference{
Status: ipamv1.IPAddressClaimStatus{
AddressRef: ipamv1.IPAddressReference{
Name: "test-test-0",
},
},
}

ipAddressClaimNoAddress := &ipamv1beta1.IPAddressClaim{
ipAddressClaimNoAddress := &ipamv1.IPAddressClaim{
ObjectMeta: metav1.ObjectMeta{
Name: "test-claim-0-0",
Namespace: namespace,
},
Spec: ipamv1beta1.IPAddressClaimSpec{
PoolRef: corev1.TypedLocalObjectReference{
Spec: ipamv1.IPAddressClaimSpec{
PoolRef: ipamv1.IPPoolReference{
Name: "test-pool",
APIGroup: &poolGroup,
APIGroup: poolGroup,
Kind: "ippools",
},
},
}

ipAddress := &ipamv1beta1.IPAddress{
ipAddress := &ipamv1.IPAddress{
ObjectMeta: metav1.ObjectMeta{
Name: "test-test-0",
Namespace: namespace,
},
Spec: ipamv1beta1.IPAddressSpec{
ClaimRef: corev1.LocalObjectReference{
Spec: ipamv1.IPAddressSpec{
ClaimRef: ipamv1.IPAddressClaimReference{
Name: "test-test-0",
},
PoolRef: corev1.TypedLocalObjectReference{
PoolRef: ipamv1.IPPoolReference{
Name: "test-pool",
},
Address: "192.168.1.11",
Prefix: 24,
Prefix: ptr.To(int32(24)),
Gateway: "192.168.1.1",
},
}
Expand All @@ -2659,8 +2660,8 @@ func TestCreate(t *testing.T) {
providerSpec machinev1.VSphereMachineProviderSpec
labels map[string]string
notConnectedToVCenter bool
ipAddressClaim *ipamv1beta1.IPAddressClaim
ipAddress *ipamv1beta1.IPAddress
ipAddressClaim *ipamv1.IPAddressClaim
ipAddress *ipamv1.IPAddress
featureGatesEnabled map[string]bool
}{
{
Expand Down Expand Up @@ -2957,7 +2958,7 @@ func TestCreate(t *testing.T) {
Namespace: machine.Namespace,
Name: tc.ipAddressClaim.Name,
}
ipAddressClaim := &ipamv1beta1.IPAddressClaim{}
ipAddressClaim := &ipamv1.IPAddressClaim{}
err = client.Get(context.Background(), claimKey, ipAddressClaim)
if err != nil {
t.Fatal(err)
Expand Down
29 changes: 14 additions & 15 deletions pkg/util/ipam/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@ import (
"fmt"

machinev1 "github.com/openshift/api/machine/v1beta1"
ipamv1beta1 "sigs.k8s.io/cluster-api/api/ipam/v1beta1" //nolint:staticcheck
ipamv1 "sigs.k8s.io/cluster-api/api/ipam/v1beta2"

corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/sets"
Expand All @@ -21,12 +20,12 @@ func EnsureIPAddressClaim(
runtimeClient client.Client,
claimName string,
machine *machinev1.Machine,
pool machinev1.AddressesFromPool) (*ipamv1beta1.IPAddressClaim, error) {
pool machinev1.AddressesFromPool) (*ipamv1.IPAddressClaim, error) {
claimKey := client.ObjectKey{
Namespace: machine.Namespace,
Name: claimName,
}
ipAddressClaim := &ipamv1beta1.IPAddressClaim{}
ipAddressClaim := &ipamv1.IPAddressClaim{}
if err := runtimeClient.Get(ctx, claimKey, ipAddressClaim); err == nil {
// If we found a claim, make sure it has owner field set.
if len(ipAddressClaim.OwnerReferences) == 0 {
Expand All @@ -41,7 +40,7 @@ func EnsureIPAddressClaim(
klog.Infof("creating IPAddressClaim %s", claimName)
gv := machinev1.SchemeGroupVersion
machineRef := metav1.NewControllerRef(machine, gv.WithKind("Machine"))
ipAddressClaim = &ipamv1beta1.IPAddressClaim{
ipAddressClaim = &ipamv1.IPAddressClaim{
ObjectMeta: metav1.ObjectMeta{
OwnerReferences: []metav1.OwnerReference{
*machineRef,
Expand All @@ -52,9 +51,9 @@ func EnsureIPAddressClaim(
Name: claimName,
Namespace: machine.Namespace,
},
Spec: ipamv1beta1.IPAddressClaimSpec{
PoolRef: corev1.TypedLocalObjectReference{
APIGroup: &pool.Group,
Spec: ipamv1.IPAddressClaimSpec{
PoolRef: ipamv1.IPPoolReference{
APIGroup: pool.Group,
Kind: pool.Resource,
Name: pool.Name,
},
Expand All @@ -72,7 +71,7 @@ func AdoptOrphanClaim(
runtimeClient client.Client,
claimName string,
machine *machinev1.Machine,
ipAddressClaim *ipamv1beta1.IPAddressClaim) error {
ipAddressClaim *ipamv1.IPAddressClaim) error {
gv := machinev1.SchemeGroupVersion
machineRef := metav1.NewControllerRef(machine, gv.WithKind("Machine"))
ipAddressClaim.OwnerReferences = []metav1.OwnerReference{
Expand All @@ -90,7 +89,7 @@ func AdoptOrphanClaim(
func CountOutstandingIPAddressClaimsForMachine(
ctx context.Context,
runtimeClient client.Client,
ipAddressClaims []ipamv1beta1.IPAddressClaim) int {
ipAddressClaims []ipamv1.IPAddressClaim) int {
fulfilledClaimCount := 0

for _, claim := range ipAddressClaims {
Expand All @@ -107,13 +106,13 @@ func RetrieveBoundIPAddress(
ctx context.Context,
runtimeClient client.Client,
machine *machinev1.Machine,
claimName string) (*ipamv1beta1.IPAddress, error) {
claimName string) (*ipamv1.IPAddress, error) {

claimKey := client.ObjectKey{
Namespace: machine.Namespace,
Name: claimName,
}
ipAddressClaim := &ipamv1beta1.IPAddressClaim{}
ipAddressClaim := &ipamv1.IPAddressClaim{}
if err := runtimeClient.Get(ctx, claimKey, ipAddressClaim); err != nil {
return nil, fmt.Errorf("unable to get IPAddressClaim: %w", err)
}
Expand All @@ -122,7 +121,7 @@ func RetrieveBoundIPAddress(
return nil, fmt.Errorf("no IPAddress is bound to claim %s", claimName)
}

ipAddress := &ipamv1beta1.IPAddress{}
ipAddress := &ipamv1.IPAddress{}
addressKey := client.ObjectKey{
Namespace: machine.Namespace,
Name: ipAddressClaim.Status.AddressRef.Name,
Expand All @@ -137,7 +136,7 @@ func RemoveFinalizersForIPAddressClaims(
ctx context.Context,
runtimeClient client.Client,
machine machinev1.Machine) error {
ipAddressClaimList := &ipamv1beta1.IPAddressClaimList{}
ipAddressClaimList := &ipamv1.IPAddressClaimList{}
if err := runtimeClient.List(ctx, ipAddressClaimList, client.InNamespace(machine.Namespace)); err != nil {
return fmt.Errorf("unable to list IPAddressClaims: %w", err)
}
Expand Down Expand Up @@ -183,7 +182,7 @@ func HasOutstandingIPAddressClaims(
machine *machinev1.Machine,
networkDevices []machinev1.NetworkDeviceSpec,
) (int, error) {
var associatedClaims []ipamv1beta1.IPAddressClaim
var associatedClaims []ipamv1.IPAddressClaim
for deviceIdx, networkDevice := range networkDevices {
for poolIdx, addressPool := range networkDevice.AddressesFromPools {
claimName := GetIPAddressClaimName(machine, deviceIdx, poolIdx)
Expand Down
Loading