Skip to content
Draft
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
4 changes: 4 additions & 0 deletions pkg/test/extensions/binary.go
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,10 @@ var extensionBinaries = []TestBinary{
imageTag: "cluster-config-operator",
binaryPath: "/usr/bin/cluster-config-operator-tests-ext.gz",
},
{
imageTag: "aws-cloud-controller-manager",
binaryPath: "/usr/bin/aws-cloud-controller-manager-tests-ext.gz",
},
}

// Info returns information about this particular extension.
Expand Down
4 changes: 2 additions & 2 deletions test/extended/machine_config/boot_image_update_aws.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import (
exutil "github.com/openshift/origin/test/extended/util"
)

// This test is [Serial] because it modifies the cluster/machineconfigurations.operator.openshift.io object in each test.
var _ = g.Describe("[Suite:openshift/machine-config-operator/disruptive][Suite:openshift/conformance/serial][sig-mco][OCPFeatureGate:ManagedBootImagesAWS][Serial]", func() {
// These tests are `Serial` because they all modify the cluster/machineconfigurations.operator.openshift.io object.
var _ = g.Describe("[sig-mco][OCPFeatureGate:ManagedBootImagesAWS][Serial]", func() {
defer g.GinkgoRecover()
var (
MCOMachineConfigurationBaseDir = exutil.FixturePath("testdata", "machine_config", "machineconfigurations")
Expand Down
4 changes: 2 additions & 2 deletions test/extended/machine_config/boot_image_update_gcp.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import (
exutil "github.com/openshift/origin/test/extended/util"
)

// This test is [Serial] because it modifies the cluster/machineconfigurations.operator.openshift.io object in each test.
var _ = g.Describe("[Suite:openshift/machine-config-operator/disruptive][Suite:openshift/conformance/serial][sig-mco][OCPFeatureGate:ManagedBootImages][Serial]", func() {
// These tests are `Serial` because they all modify the cluster/machineconfigurations.operator.openshift.io object.
var _ = g.Describe("[sig-mco][OCPFeatureGate:ManagedBootImages][Serial]", func() {
defer g.GinkgoRecover()
var (
MCOMachineConfigurationBaseDir = exutil.FixturePath("testdata", "machine_config", "machineconfigurations")
Expand Down
39 changes: 22 additions & 17 deletions test/extended/machine_config/machine_config_node.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ const (
arbiter = "arbiter"
)

var _ = g.Describe("[Suite:openshift/machine-config-operator/disruptive][sig-mco][OCPFeatureGate:MachineConfigNodes]", func() {
var _ = g.Describe("[sig-mco][OCPFeatureGate:MachineConfigNodes]", func() {
defer g.GinkgoRecover()
var (
MCOMachineConfigPoolBaseDir = exutil.FixturePath("testdata", "machine_config", "machineconfigpool")
Expand All @@ -52,48 +52,53 @@ var _ = g.Describe("[Suite:openshift/machine-config-operator/disruptive][sig-mco
}
})

g.It("[Suite:openshift/conformance/parallel]Should have MCN properties matching associated node properties for nodes in default MCPs [apigroup:machineconfiguration.openshift.io]", func() {
// The following 3 tests are `Parallel` because they do not make any changes to the cluster and run quickly (< 5 min).
g.It("Should have MCN properties matching associated node properties for nodes in default MCPs [apigroup:machineconfiguration.openshift.io]", func() {
ValidateMCNPropertiesByMCPs(oc)
})

g.It("[Suite:openshift/conformance/serial][Serial]Should have MCN properties matching associated node properties for nodes in custom MCPs [apigroup:machineconfiguration.openshift.io]", func() {
g.It("Should properly block MCN updates from a MCD that is not the associated one [apigroup:machineconfiguration.openshift.io]", func() {
ValidateMCNScopeSadPathTest(oc)
})

g.It("Should properly block MCN updates by impersonation of the MCD SA [apigroup:machineconfiguration.openshift.io]", func() {
ValidateMCNScopeImpersonationPathTest(oc)
})

// The following 3 tests are `Serial` because they makes changes to the cluster that can impact other tests, but still run quickly (< 5 min).
g.It("[Serial]Should have MCN properties matching associated node properties for nodes in custom MCPs [apigroup:machineconfiguration.openshift.io]", func() {
skipOnSingleNodeTopology(oc) //skip this test for SNO
skipOnTwoNodeTopology(oc) //skip this test for two-node openshift
ValidateMCNPropertiesCustomMCP(oc, infraMCPFixture)
})

g.It("[Suite:openshift/conformance/serial][Serial]Should properly transition through MCN conditions on rebootless node update [apigroup:machineconfiguration.openshift.io]", func() {
g.It("[Serial]Should properly transition through MCN conditions on rebootless node update [apigroup:machineconfiguration.openshift.io]", func() {
if IsSingleNode(oc) {
ValidateMCNConditionTransitionsOnRebootlessUpdateSNO(oc, nodeDisruptionFixture, nodeDisruptionEmptyFixture, masterMCFixture)
} else {
ValidateMCNConditionTransitionsOnRebootlessUpdate(oc, nodeDisruptionFixture, nodeDisruptionEmptyFixture, customMCFixture, infraMCPFixture)
}
})

g.It("[Serial][Slow]Should properly report MCN conditions on node degrade [apigroup:machineconfiguration.openshift.io]", func() {
g.It("[Serial]Should properly update the MCN from the associated MCD [apigroup:machineconfiguration.openshift.io]", func() {
ValidateMCNScopeHappyPathTest(oc)
})

// This test is `Disruptive` because it degrades a node.
g.It("[Suite:openshift/machine-config-operator/disruptive][Disruptive]Should properly report MCN conditions on node degrade [apigroup:machineconfiguration.openshift.io]", func() {
if IsSingleNode(oc) { //handle SNO clusters
ValidateMCNConditionOnNodeDegrade(oc, invalidMasterMCFixture, true)
} else { //handle standard, non-SNO, clusters
ValidateMCNConditionOnNodeDegrade(oc, invalidWorkerMCFixture, false)
}
})

g.It("[Serial][Slow]Should properly create and remove MCN on node creation and deletion [apigroup:machineconfiguration.openshift.io]", func() {
// This test is `Disruptive` because it creates and removes a node. It is also considered `Slow` because it takes longer than 5 min to run.
g.It("[Suite:openshift/machine-config-operator/disruptive][Disruptive][Slow]Should properly create and remove MCN on node creation and deletion [apigroup:machineconfiguration.openshift.io]", func() {
skipOnSingleNodeTopology(oc) //skip this test for SNO
ValidateMCNOnNodeCreationAndDeletion(oc)
})

g.It("[Suite:openshift/conformance/parallel]Should properly block MCN updates from a MCD that is not the associated one [apigroup:machineconfiguration.openshift.io]", func() {
ValidateMCNScopeSadPathTest(oc)
})

g.It("[Suite:openshift/conformance/parallel]Should properly block MCN updates by impersonation of the MCD SA [apigroup:machineconfiguration.openshift.io]", func() {
ValidateMCNScopeImpersonationPathTest(oc)
})

g.It("[Suite:openshift/conformance/serial][Serial]Should properly update the MCN from the associated MCD [apigroup:machineconfiguration.openshift.io]", func() {
ValidateMCNScopeHappyPathTest(oc)
})
})

// `ValidateMCNPropertiesByMCPs` checks that MCN properties match the corresponding node properties
Expand Down
7 changes: 4 additions & 3 deletions test/extended/machine_config/pinnedimages.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ var (
customConfigPrefix = "rendered-custom"
)

// This test is [Serial] because it modifies the state of the images present on Node in each test.
var _ = g.Describe("[Suite:openshift/machine-config-operator/disruptive][Suite:openshift/conformance/serial][sig-mco][OCPFeatureGate:PinnedImages][OCPFeatureGate:MachineConfigNodes][Serial]", func() {
// These tests are `Disruptive` because they result in disruptive actions in the cluster, including node reboots and degrades and pod creations and deletions.
var _ = g.Describe("[Suite:openshift/machine-config-operator/disruptive][sig-mco][OCPFeatureGate:PinnedImages][Disruptive]", func() {
defer g.GinkgoRecover()
var (
MCOPinnedImageBaseDir = exutil.FixturePath("testdata", "machine_config", "pinnedimage")
Expand Down Expand Up @@ -63,7 +63,8 @@ var _ = g.Describe("[Suite:openshift/machine-config-operator/disruptive][Suite:o
}
})

g.It("All Nodes in a custom Pool should have the PinnedImages even after Garbage Collection [apigroup:machineconfiguration.openshift.io]", func() {
// This test is also considered `Slow` because it takes longer than 5 minutes to run.
g.It("[Slow]All Nodes in a custom Pool should have the PinnedImages even after Garbage Collection [apigroup:machineconfiguration.openshift.io]", func() {
// Skip this test on single node and two-node platforms since custom MCPs are not supported
// for clusters with only a master MCP
skipOnSingleNodeTopology(oc)
Expand Down