Skip to content

Commit

Permalink
Merge pull request #28620 from openshift-cherrypick-robot/cherry-pick…
Browse files Browse the repository at this point in the history
…-28545-to-release-4.14

[release-4.14] OCPBUGS-29970: Do not assume there is just a single kubelet systemd service
  • Loading branch information
openshift-merge-bot[bot] committed Apr 19, 2024
2 parents f066e57 + 9c94dbd commit 2989703
Showing 1 changed file with 24 additions and 4 deletions.
28 changes: 24 additions & 4 deletions test/extended/cloud_controller_manager/ccm.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package cloud_controller_manager

import (
"context"
"encoding/json"
"fmt"

"github.com/ghodss/yaml"
Expand All @@ -16,6 +17,11 @@ import (
const cloudControllerNamespace = "openshift-cloud-controller-manager"
const kuberControllerNamespace = "openshift-kube-controller-manager"

type SimpleSystemdUnit struct {
Contents string
Name string
}

var _ = g.Describe("[sig-cloud-provider][Feature:OpenShiftCloudControllerManager][Late]", func() {
defer g.GinkgoRecover()
oc := exutil.NewCLI("ccm")
Expand Down Expand Up @@ -52,17 +58,31 @@ var _ = g.Describe("[sig-cloud-provider][Feature:OpenShiftCloudControllerManager
g.Fail(fmt.Sprintf("Expected cloud-provider %v setting to indicate KCM relinquished cloud ownership", cloudProvider))
}

var systemdUnits []SimpleSystemdUnit

g.By("Getting masters MachineConfig")
masterkubelet, err := oc.AsAdmin().WithoutNamespace().Run("get").Args("machineconfig/01-master-kubelet", "-o=jsonpath={.spec.config.systemd.units[0].contents}").Output()
masterkubelets, err := oc.AsAdmin().WithoutNamespace().Run("get").Args("machineconfig/01-master-kubelet", "-o=jsonpath={.spec.config.systemd.units}").Output()
o.Expect(err).NotTo(o.HaveOccurred())
g.By("Expecting masters MachineConfig to contain cloud-provider as external for kubelet")
o.Expect(masterkubelet).To(o.ContainSubstring("cloud-provider=external"))
err = json.Unmarshal([]byte(masterkubelets), &systemdUnits)
o.Expect(err).NotTo(o.HaveOccurred())
o.Expect(systemdUnits).To(
o.ContainElement(o.SatisfyAll(
o.HaveField("Name", o.Equal("kubelet.service")),
o.HaveField("Contents", o.ContainSubstring("cloud-provider=external")),
)))

g.By("Getting workers MachineConfig")
workerkubelet, err := oc.AsAdmin().WithoutNamespace().Run("get").Args("machineconfig/01-worker-kubelet", "-o=jsonpath={.spec.config.systemd.units[0].contents}").Output()
workerkubelets, err := oc.AsAdmin().WithoutNamespace().Run("get").Args("machineconfig/01-worker-kubelet", "-o=jsonpath={.spec.config.systemd.units}").Output()
o.Expect(err).NotTo(o.HaveOccurred())
g.By("Expecting workers MachineConfig to contain cloud-provider as external for kubelet")
o.Expect(workerkubelet).To(o.ContainSubstring("cloud-provider=external"))
err = json.Unmarshal([]byte(workerkubelets), &systemdUnits)
o.Expect(err).NotTo(o.HaveOccurred())
o.Expect(systemdUnits).To(
o.ContainElement(o.SatisfyAll(
o.HaveField("Name", o.Equal("kubelet.service")),
o.HaveField("Contents", o.ContainSubstring("cloud-provider=external")),
)))
})
})

Expand Down

0 comments on commit 2989703

Please sign in to comment.