Skip to content

Commit 565aa49

Browse files
Merge pull request #30820 from jluhrsen/CORENET-6864
CORENET-6864, CORENET-6169: remove some duplicate ovnk test cases
2 parents 640afb7 + 2692e1d commit 565aa49

1 file changed

Lines changed: 1 addition & 179 deletions

File tree

test/extended/networking/network_segmentation.go

Lines changed: 1 addition & 179 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ import (
2020
nadapi "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/apis/k8s.cni.cncf.io/v1"
2121
nadclient "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/client/clientset/versioned/typed/k8s.cni.cncf.io/v1"
2222

23+
exutil "github.com/openshift/origin/test/extended/util"
2324
kubeauthorizationv1 "k8s.io/api/authorization/v1"
2425
v1 "k8s.io/api/core/v1"
2526
kerrors "k8s.io/apimachinery/pkg/api/errors"
2627
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
27-
"k8s.io/apimachinery/pkg/types"
2828
"k8s.io/apimachinery/pkg/util/intstr"
2929
"k8s.io/apimachinery/pkg/util/rand"
3030
clientset "k8s.io/client-go/kubernetes"
@@ -34,9 +34,6 @@ import (
3434
frameworkpod "k8s.io/kubernetes/test/e2e/framework/pod"
3535
admissionapi "k8s.io/pod-security-admission/api"
3636
utilnet "k8s.io/utils/net"
37-
"k8s.io/utils/pointer"
38-
39-
exutil "github.com/openshift/origin/test/extended/util"
4037
)
4138

4239
const openDefaultPortsAnnotation = "k8s.ovn.org/open-default-ports"
@@ -692,15 +689,6 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
692689
Eventually(userDefinedNetworkReadyFunc(oc.AdminDynamicClient(), f.Namespace.Name, testUdnName), udnCrReadyTimeout, time.Second).Should(Succeed())
693690
})
694691

695-
It("should create NetworkAttachmentDefinition according to spec", func() {
696-
udnUidRaw, err := e2ekubectl.RunKubectl(f.Namespace.Name, "get", userDefinedNetworkResource, testUdnName, "-o", "jsonpath='{.metadata.uid}'")
697-
Expect(err).NotTo(HaveOccurred(), "should get the UserDefinedNetwork UID")
698-
testUdnUID := strings.Trim(udnUidRaw, "'")
699-
700-
By("verify a NetworkAttachmentDefinition is created according to spec")
701-
assertNetAttachDefManifest(nadClient, f.Namespace.Name, testUdnName, testUdnUID)
702-
})
703-
704692
It("should delete NetworkAttachmentDefinition when UserDefinedNetwork is deleted", func() {
705693
By("delete UserDefinedNetwork")
706694
_, err := e2ekubectl.RunKubectl(f.Namespace.Name, "delete", userDefinedNetworkResource, testUdnName)
@@ -895,21 +883,6 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
895883
Eventually(clusterUserDefinedNetworkReadyFunc(oc.AdminDynamicClient(), testClusterUdnName), udnCrReadyTimeout, time.Second).Should(Succeed())
896884
})
897885

898-
It("should create NAD according to spec in each target namespace and report active namespaces", func() {
899-
Eventually(
900-
validateClusterUDNStatusReportsActiveNamespacesFunc(oc.AdminDynamicClient(), testClusterUdnName, testTenantNamespaces...),
901-
1*time.Minute, 3*time.Second).Should(Succeed())
902-
903-
udnUidRaw, err := e2ekubectl.RunKubectl("", "get", clusterUserDefinedNetworkResource, testClusterUdnName, "-o", "jsonpath='{.metadata.uid}'")
904-
Expect(err).NotTo(HaveOccurred(), "should get the ClsuterUserDefinedNetwork UID")
905-
testUdnUID := strings.Trim(udnUidRaw, "'")
906-
907-
By("verify a NetworkAttachmentDefinition is created according to spec")
908-
for _, testNsName := range testTenantNamespaces {
909-
assertClusterNADManifest(nadClient, testNsName, testClusterUdnName, testUdnUID)
910-
}
911-
})
912-
913886
It("when CR is deleted, should delete all managed NAD in each target namespace", func() {
914887
By("delete test CR")
915888
_, err := e2ekubectl.RunKubectl("", "delete", clusterUserDefinedNetworkResource, testClusterUdnName)
@@ -925,77 +898,7 @@ var _ = Describe("[sig-network][OCPFeatureGate:NetworkSegmentation][Feature:User
925898
}
926899
})
927900

928-
It("should create NAD in new created namespaces that apply to namespace-selector", func() {
929-
testNewNs := f.Namespace.Name + "green"
930-
931-
By("add new target namespace to CR namespace-selector")
932-
patch := fmt.Sprintf(`[{"op": "add", "path": "./spec/namespaceSelector/matchExpressions/0/values/-", "value": "%s"}]`, testNewNs)
933-
_, err := e2ekubectl.RunKubectl("", "patch", clusterUserDefinedNetworkResource, testClusterUdnName, "--type=json", "-p="+patch)
934-
Expect(err).NotTo(HaveOccurred())
935-
Eventually(clusterUserDefinedNetworkReadyFunc(oc.AdminDynamicClient(), testClusterUdnName), udnCrReadyTimeout, time.Second).Should(Succeed())
936-
Eventually(
937-
validateClusterUDNStatusReportsActiveNamespacesFunc(oc.AdminDynamicClient(), testClusterUdnName, testTenantNamespaces...),
938-
1*time.Minute, 3*time.Second).Should(Succeed())
939-
940-
By("create the new target namespace")
941-
_, err = cs.CoreV1().Namespaces().Create(context.Background(), &v1.Namespace{
942-
ObjectMeta: metav1.ObjectMeta{
943-
Name: testNewNs,
944-
Labels: map[string]string{RequiredUDNNamespaceLabel: ""},
945-
}}, metav1.CreateOptions{})
946-
Expect(err).NotTo(HaveOccurred())
947-
DeferCleanup(func() error {
948-
err := cs.CoreV1().Namespaces().Delete(context.Background(), testNewNs, metav1.DeleteOptions{})
949-
return err
950-
})
951-
952-
expectedActiveNamespaces := append(testTenantNamespaces, testNewNs)
953-
Eventually(
954-
validateClusterUDNStatusReportsActiveNamespacesFunc(oc.AdminDynamicClient(), testClusterUdnName, expectedActiveNamespaces...),
955-
1*time.Minute, 3*time.Second).Should(Succeed())
956-
957-
udnUidRaw, err := e2ekubectl.RunKubectl("", "get", clusterUserDefinedNetworkResource, testClusterUdnName, "-o", "jsonpath='{.metadata.uid}'")
958-
Expect(err).NotTo(HaveOccurred(), "should get the ClsuterUserDefinedNetwork UID")
959-
testUdnUID := strings.Trim(udnUidRaw, "'")
960-
961-
By("verify a NAD exist in new namespace according to spec")
962-
assertClusterNADManifest(nadClient, testNewNs, testClusterUdnName, testUdnUID)
963-
})
964-
965901
When("namespace-selector is mutated", func() {
966-
It("should create NAD in namespaces that apply to mutated namespace-selector", func() {
967-
testNewNs := f.Namespace.Name + "green"
968-
969-
By("create new namespace")
970-
_, err := cs.CoreV1().Namespaces().Create(context.Background(), &v1.Namespace{
971-
ObjectMeta: metav1.ObjectMeta{
972-
Name: testNewNs,
973-
Labels: map[string]string{RequiredUDNNamespaceLabel: ""},
974-
}}, metav1.CreateOptions{})
975-
Expect(err).NotTo(HaveOccurred())
976-
DeferCleanup(func() error {
977-
err := cs.CoreV1().Namespaces().Delete(context.Background(), testNewNs, metav1.DeleteOptions{})
978-
return err
979-
})
980-
981-
By("add new namespace to CR namespace-selector")
982-
patch := fmt.Sprintf(`[{"op": "add", "path": "./spec/namespaceSelector/matchExpressions/0/values/-", "value": "%s"}]`, testNewNs)
983-
_, err = e2ekubectl.RunKubectl("", "patch", clusterUserDefinedNetworkResource, testClusterUdnName, "--type=json", "-p="+patch)
984-
Expect(err).NotTo(HaveOccurred())
985-
986-
By("verify status reports the new added namespace as active")
987-
expectedActiveNs := append(testTenantNamespaces, testNewNs)
988-
Eventually(
989-
validateClusterUDNStatusReportsActiveNamespacesFunc(oc.AdminDynamicClient(), testClusterUdnName, expectedActiveNs...),
990-
1*time.Minute, 3*time.Second).Should(Succeed())
991-
992-
By("verify a NAD is created in new target namespace according to spec")
993-
udnUidRaw, err := e2ekubectl.RunKubectl("", "get", clusterUserDefinedNetworkResource, testClusterUdnName, "-o", "jsonpath='{.metadata.uid}'")
994-
Expect(err).NotTo(HaveOccurred(), "should get the ClusterUserDefinedNetwork UID")
995-
testUdnUID := strings.Trim(udnUidRaw, "'")
996-
assertClusterNADManifest(nadClient, testNewNs, testClusterUdnName, testUdnUID)
997-
})
998-
999902
It("should delete managed NAD in namespaces that no longer apply to namespace-selector", func() {
1000903
By("remove one active namespace from CR namespace-selector")
1001904
activeTenantNs := testTenantNamespaces[1]
@@ -1524,45 +1427,6 @@ spec:
15241427
`
15251428
}
15261429

1527-
func assertNetAttachDefManifest(nadClient nadclient.K8sCniCncfIoV1Interface, namespace, udnName, udnUID string) {
1528-
nad, err := nadClient.NetworkAttachmentDefinitions(namespace).Get(context.Background(), udnName, metav1.GetOptions{})
1529-
Expect(err).NotTo(HaveOccurred())
1530-
1531-
ExpectWithOffset(1, nad.Name).To(Equal(udnName))
1532-
ExpectWithOffset(1, nad.Namespace).To(Equal(namespace))
1533-
ExpectWithOffset(1, nad.OwnerReferences).To(Equal([]metav1.OwnerReference{{
1534-
APIVersion: "k8s.ovn.org/v1",
1535-
Kind: "UserDefinedNetwork",
1536-
Name: "test-net",
1537-
UID: types.UID(udnUID),
1538-
BlockOwnerDeletion: pointer.Bool(true),
1539-
Controller: pointer.Bool(true),
1540-
}}))
1541-
1542-
jsonTemplate := `{
1543-
"cniVersion":"1.0.0",
1544-
"type": "ovn-k8s-cni-overlay",
1545-
"name": "%s",
1546-
"netAttachDefName": "%s",
1547-
"topology": "layer2",
1548-
"role": "secondary",
1549-
"subnets": "10.100.0.0/16"
1550-
}`
1551-
1552-
// REMOVEME(trozet): after network name has been updated to use underscores in OVNK
1553-
expectedLegacyNetworkName := namespace + "." + udnName
1554-
expectedNetworkName := namespace + "_" + udnName
1555-
expectedNadName := namespace + "/" + udnName
1556-
1557-
nadJSONLegacy := fmt.Sprintf(jsonTemplate, expectedLegacyNetworkName, expectedNadName)
1558-
nadJSON := fmt.Sprintf(jsonTemplate, expectedNetworkName, expectedNadName)
1559-
1560-
ExpectWithOffset(1, nad.Spec.Config).To(SatisfyAny(
1561-
MatchJSON(nadJSONLegacy),
1562-
MatchJSON(nadJSON),
1563-
))
1564-
}
1565-
15661430
func validateUDNStatusReportsConsumers(client dynamic.Interface, udnNamesapce, udnName, expectedPodName string) error {
15671431
udn, err := client.Resource(udnGVR).Namespace(udnNamesapce).Get(context.Background(), udnName, metav1.GetOptions{})
15681432
if err != nil {
@@ -1603,48 +1467,6 @@ func normalizeConditions(conditions []metav1.Condition) []metav1.Condition {
16031467
return conditions
16041468
}
16051469

1606-
func assertClusterNADManifest(nadClient nadclient.K8sCniCncfIoV1Interface, namespace, udnName, udnUID string) {
1607-
nad, err := nadClient.NetworkAttachmentDefinitions(namespace).Get(context.Background(), udnName, metav1.GetOptions{})
1608-
Expect(err).NotTo(HaveOccurred())
1609-
1610-
ExpectWithOffset(1, nad.Name).To(Equal(udnName))
1611-
ExpectWithOffset(1, nad.Namespace).To(Equal(namespace))
1612-
ExpectWithOffset(1, nad.OwnerReferences).To(Equal([]metav1.OwnerReference{{
1613-
APIVersion: "k8s.ovn.org/v1",
1614-
Kind: "ClusterUserDefinedNetwork",
1615-
Name: udnName,
1616-
UID: types.UID(udnUID),
1617-
BlockOwnerDeletion: pointer.Bool(true),
1618-
Controller: pointer.Bool(true),
1619-
}}))
1620-
ExpectWithOffset(1, nad.Labels).To(Equal(map[string]string{"k8s.ovn.org/user-defined-network": ""}))
1621-
ExpectWithOffset(1, nad.Finalizers).To(Equal([]string{"k8s.ovn.org/user-defined-network-protection"}))
1622-
1623-
// REMOVEME(trozet): after network name has been updated to use underscores in OVNK
1624-
expectedLegacyNetworkName := "cluster.udn." + udnName
1625-
1626-
expectedNetworkName := "cluster_udn_" + udnName
1627-
expectedNadName := namespace + "/" + udnName
1628-
1629-
jsonTemplate := `{
1630-
"cniVersion":"1.0.0",
1631-
"type": "ovn-k8s-cni-overlay",
1632-
"name": "%s",
1633-
"netAttachDefName": "%s",
1634-
"topology": "layer2",
1635-
"role": "secondary",
1636-
"subnets": "10.100.0.0/16"
1637-
}`
1638-
1639-
nadJSONLegacy := fmt.Sprintf(jsonTemplate, expectedLegacyNetworkName, expectedNadName)
1640-
nadJSON := fmt.Sprintf(jsonTemplate, expectedNetworkName, expectedNadName)
1641-
1642-
ExpectWithOffset(1, nad.Spec.Config).To(SatisfyAny(
1643-
MatchJSON(nadJSONLegacy),
1644-
MatchJSON(nadJSON),
1645-
))
1646-
}
1647-
16481470
func validateClusterUDNStatusReportsActiveNamespacesFunc(client dynamic.Interface, cUDNName string, expectedActiveNsNames ...string) func() error {
16491471
return func() error {
16501472
cUDN, err := client.Resource(clusterUDNGVR).Get(context.Background(), cUDNName, metav1.GetOptions{})

0 commit comments

Comments
 (0)