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
10 changes: 8 additions & 2 deletions test/extended/baremetal/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,15 @@ func (b *BaremetalTestHelper) extraWorkerKey(index int) string {

// CanDeployExtraWorkers checks if current platform contains
// the necessary data to deploy additional workers
func (b *BaremetalTestHelper) CanDeployExtraWorkers() bool {
func (b *BaremetalTestHelper) CanDeployExtraWorkers() (bool, error) {
_, err := b.extraWorkersRetrieveData()
return err == nil
if errors.IsNotFound(err) {
return false, nil
}
if err != nil {
return false, err
}
return true, nil
}

// getExtraWorkerSecretData gets and decodes the secret associated for the
Expand Down
4 changes: 3 additions & 1 deletion test/extended/etcd/helpers/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -770,7 +770,9 @@ func InitPlatformSpecificConfiguration(oc *exutil.CLI) func() {
o.Expect(err).NotTo(o.HaveOccurred())

helper := bmhelper.NewBaremetalTestHelper(dc)
if helper.CanDeployExtraWorkers() {
canDeployExtraWorkers, err := helper.CanDeployExtraWorkers()
o.Expect(err).NotTo(o.HaveOccurred())
if canDeployExtraWorkers {
helper.Setup()
helper.DeployExtraWorker(0)
}
Expand Down
20 changes: 14 additions & 6 deletions test/extended/machines/scale.go
Original file line number Diff line number Diff line change
Expand Up @@ -220,17 +220,25 @@ var _ = g.Describe("[sig-cluster-lifecycle][Feature:Machines][Serial] Managed cl
o.Expect(err).NotTo(o.HaveOccurred())
dc, err = dynamic.NewForConfig(cfg)
o.Expect(err).NotTo(o.HaveOccurred())
configClient, err = configclient.NewForConfig(cfg)
o.Expect(err).NotTo(o.HaveOccurred())

// For baremetal platforms, an extra worker must be previously
// deployed to allow subsequent scaling operations
infrastructure, err := configClient.ConfigV1().Infrastructures().Get(context.Background(), "cluster", metav1.GetOptions{})
o.Expect(err).NotTo(o.HaveOccurred())

// For baremetal platforms, this test needs pre-created extra worker
// data so a spare BareMetalHost can be made available before scaling.
helper = bmhelper.NewBaremetalTestHelper(dc)
if helper.CanDeployExtraWorkers() {
if infrastructure.Status.Platform == configv1.BareMetalPlatformType {
canDeployExtraWorkers, err := helper.CanDeployExtraWorkers()
o.Expect(err).NotTo(o.HaveOccurred())
if !canDeployExtraWorkers {
e2eskipper.Skipf("baremetal cluster has no extra worker definitions available for MachineSet scaling")
}

helper.Setup()
helper.DeployExtraWorker(0)
}

configClient, err = configclient.NewForConfig(cfg)
o.Expect(err).NotTo(o.HaveOccurred())
operatorsNotProgressing = getOperatorsNotProgressing(configClient)
})

Expand Down