Skip to content

Commit

Permalink
Merge pull request #66 from nutanix-cloud-native/OCPBUGS-27390
Browse files Browse the repository at this point in the history
OCPBUGS-27390: IPI install fails on Nutanix when using DHCP
  • Loading branch information
openshift-merge-bot[bot] committed Feb 15, 2024
2 parents 994079a + 5b122f6 commit e98d068
Show file tree
Hide file tree
Showing 11 changed files with 103 additions and 74 deletions.
2 changes: 0 additions & 2 deletions go.mod
Expand Up @@ -127,5 +127,3 @@ require (
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)

replace k8s.io/kubectl => k8s.io/kubectl v0.28.2
4 changes: 2 additions & 2 deletions go.sum
Expand Up @@ -869,8 +869,8 @@ k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0=
k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo=
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780=
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA=
k8s.io/kubectl v0.28.2 h1:fOWOtU6S0smdNjG1PB9WFbqEIMlkzU5ahyHkc7ESHgM=
k8s.io/kubectl v0.28.2/go.mod h1:6EQWTPySF1fn7yKoQZHYf9TPwIl2AygHEcJoxFekr64=
k8s.io/kubectl v0.29.0 h1:Oqi48gXjikDhrBF67AYuZRTcJV4lg2l42GmvsP7FmYI=
k8s.io/kubectl v0.29.0/go.mod h1:0jMjGWIcMIQzmUaMgAzhSELv5WtHo2a8pq67DtviAJs=
k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCfRziVtos3ofG/sQ=
k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
Expand Down
47 changes: 30 additions & 17 deletions pkg/actuators/machine/machine_scope.go
Expand Up @@ -288,26 +288,39 @@ func (s *machineScope) setProviderStatus(vm *nutanixClientV3.VMIntentResponse, c
s.providerStatus.VmUUID = vm.Metadata.UUID

// update machine.status.addresses
addresses := s.machine.Status.Addresses
addr := getExistingAddress(addresses, corev1.NodeInternalIP)
if addr != nil {
addr.Address = *vm.Status.Resources.NicList[0].IPEndpointList[0].IP
} else {
addresses = append(addresses, corev1.NodeAddress{
Type: corev1.NodeInternalIP,
Address: *vm.Status.Resources.NicList[0].IPEndpointList[0].IP,
})
machineAddresses := []corev1.NodeAddress{}
vmIPEndpoints := make(map[string]bool)

for _, nic := range vm.Status.Resources.NicList {
for _, ipEndpoint := range nic.IPEndpointList {
if ipEndpoint.IP != nil && *ipEndpoint.IP != "" {
vmIPEndpoints[*ipEndpoint.IP] = true
}
}
}
addr = getExistingAddress(addresses, corev1.NodeInternalDNS)
if addr != nil {
addr.Address = *vm.Spec.Name
} else {
addresses = append(addresses, corev1.NodeAddress{
Type: corev1.NodeInternalDNS,
Address: *vm.Spec.Name,

// add the NodeInternalIP addresses to the Machine object using the vm's vmIPEndpoints
for ip, _ := range vmIPEndpoints {
// add the ip address to the Machine object.
machineAddresses = append(machineAddresses, corev1.NodeAddress{
Type: corev1.NodeInternalIP,
Address: ip,
})
}
s.machine.Status.Addresses = addresses

// add the NodeInternalDNS and NodeHostName addresses to the Machine object using the vm name
vmName := *vm.Spec.Name
machineAddresses = append(machineAddresses, corev1.NodeAddress{
Type: corev1.NodeInternalDNS,
Address: vmName,
})
machineAddresses = append(machineAddresses, corev1.NodeAddress{
Type: corev1.NodeHostName,
Address: vmName,
})

s.machine.Status.Addresses = machineAddresses
klog.V(3).Infof("%s: the machine status.addresses=%+v.", s.machine.Name, s.machine.Status.Addresses)

s.providerStatus.Conditions = setNutanixProviderConditions([]metav1.Condition{condition}, s.providerStatus.Conditions)

Expand Down
6 changes: 4 additions & 2 deletions vendor/k8s.io/kubectl/pkg/cmd/util/factory.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 2 additions & 7 deletions vendor/k8s.io/kubectl/pkg/cmd/util/factory_client_access.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 16 additions & 4 deletions vendor/k8s.io/kubectl/pkg/cmd/util/helpers.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 22 additions & 1 deletion vendor/k8s.io/kubectl/pkg/drain/drain.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions vendor/k8s.io/kubectl/pkg/util/openapi/openapi.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 9 additions & 31 deletions vendor/k8s.io/kubectl/pkg/util/term/term.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 9 additions & 5 deletions vendor/k8s.io/kubectl/pkg/validation/validation.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions vendor/modules.txt
Expand Up @@ -805,8 +805,8 @@ k8s.io/kube-openapi/pkg/spec3
k8s.io/kube-openapi/pkg/util/proto
k8s.io/kube-openapi/pkg/util/proto/validation
k8s.io/kube-openapi/pkg/validation/spec
# k8s.io/kubectl v0.29.0 => k8s.io/kubectl v0.28.2
## explicit; go 1.20
# k8s.io/kubectl v0.29.0
## explicit; go 1.21
k8s.io/kubectl/pkg/cmd/util
k8s.io/kubectl/pkg/drain
k8s.io/kubectl/pkg/scheme
Expand Down Expand Up @@ -1001,4 +1001,3 @@ sigs.k8s.io/structured-merge-diff/v4/value
## explicit; go 1.12
sigs.k8s.io/yaml
sigs.k8s.io/yaml/goyaml.v2
# k8s.io/kubectl => k8s.io/kubectl v0.28.2

0 comments on commit e98d068

Please sign in to comment.