metal3-io/ip-address-manager

controller-runtime 0.6.0 conflict with newer capi versions 0.3.7+

jzhoucliqr opened this issue · 1 comments

What steps did you take and what happened:
when integrate with capi 0.3.7+, controller-runtime 0.6.0 cause some conflict:

$ make manager
go build -o bin/manager .
# sigs.k8s.io/cluster-api/util
../../go/pkg/mod/sigs.k8s.io/cluster-api@v0.3.7/util/util.go:422:48: undefined: controllerutil.Object
../../go/pkg/mod/sigs.k8s.io/cluster-api@v0.3.7/util/util.go:433:46: undefined: controllerutil.Object
../../go/pkg/mod/sigs.k8s.io/cluster-api@v0.3.7/util/util.go:457:47: undefined: controllerutil.Object

Also client-go is using 1.19-alpha2, which couldn't upgrade to 1.19 because it brings in a new version of klogr.

This kinds of blocking the integration to latest capi. We end up downgrade the controller-runtime and client-go to match capi 0.3.9. https://github.com/spectrocloud/ip-address-manager/pull/1/files.

Is there any specific reason to use controller-runtime 0.6.0 instead of controller-runtime 0.5.* ? Do you think it make sense to downgrade?

What did you expect to happen:

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Cluster-api version:
  • CAPM3 version:
  • IPAM version:
  • Minikube version:
  • environment (metal3-dev-env or other):
  • Kubernetes version: (use kubectl version):

/kind bug

maelk commented

There is no specific reason, feel free to submit a PR that would do the fix you would like to see applied, and we can discuss it there.