Skip to content

Commit

Permalink
e2e: verify NROP machineconfigs are removed
Browse files Browse the repository at this point in the history
Starting in version 4.18, NROP MachineConfigs containing the custom SELinux policy are expected to be removed unless a specific annotation is set in the NUMAResourcesOperator CR to enforce the use of the custom (legacy) SELinux policy. To ensure this behavior, we added a test that verifies MachineConfigs are removed when the annotation is absent in the CR.

Signed-off-by: Ronny Baturov <[email protected]>
  • Loading branch information
rbaturov committed Nov 25, 2024
1 parent 9aa6430 commit e4fcfb7
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions test/e2e/install/install_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import (
"github.com/k8stopologyawareschedwg/deployer/pkg/manifests/rte"
nropv1 "github.com/openshift-kni/numaresources-operator/api/numaresourcesoperator/v1"
"github.com/openshift-kni/numaresources-operator/internal/api/annotations"
"github.com/openshift-kni/numaresources-operator/pkg/objectnames"
"github.com/openshift-kni/numaresources-operator/pkg/status"
machineconfigv1 "github.com/openshift/machine-config-operator/pkg/apis/machineconfiguration.openshift.io/v1"

Expand Down Expand Up @@ -144,6 +145,22 @@ var _ = Describe("[Install] continuousIntegration", func() {
rteContainer, err := findContainerByName(*ds, containerNameRTE)
Expect(err).ToNot(HaveOccurred())
Expect(rteContainer.SecurityContext.SELinuxOptions.Type).To(Equal(selinux.RTEContextType), "container %s is running with wrong selinux context", rteContainer.Name)

By("checking numaresources machineconfigs removed when no SELinux policy annotation is present")
if !annotations.IsCustomPolicyEnabled(updatedNROObj.Annotations) {
mcps, err := nropmcp.GetListByNodeGroupsV1(context.TODO(), e2eclient.Client, updatedNROObj.Spec.NodeGroups)
Expect(err).NotTo(HaveOccurred())
for _, mcp := range mcps {
mc := &machineconfigv1.MachineConfig{}
// Check mc not created
mcKey := client.ObjectKey{
Name: objectnames.GetMachineConfigName(updatedNROObj.Name, mcp.Name),
}
err := e2eclient.Client.Get(context.TODO(), mcKey, mc)
Expect(err).ToNot(BeNil(), "MachineConfig %s is not expected to to be present", mcKey.String())
Expect(errors.IsNotFound(err)).To(BeTrue(), "Unexpected error occurred while getting MachineConfig %s: %v", mcKey.String(), err)
}
}
})
})
})
Expand Down

0 comments on commit e4fcfb7

Please sign in to comment.