// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). You may // not use this file except in compliance with the License. A copy of the // License is located at // // http://aws.amazon.com/apache2.0/ // // or in the "license" file accompanying this file. This file is distributed // on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either // express or implied. See the License for the specific language governing // permissions and limitations under the License. package ipv6 import ( "fmt" "testing" "github.com/aws/amazon-vpc-cni-k8s/test/framework" k8sUtils "github.com/aws/amazon-vpc-cni-k8s/test/framework/resources/k8s/utils" "github.com/aws/amazon-vpc-cni-k8s/test/framework/utils" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" v1 "k8s.io/api/core/v1" ) const InstanceTypeNodeLabelKey = "beta.kubernetes.io/instance-type" var primaryNode v1.Node func TestCNIv6PodNetworking(t *testing.T) { RegisterFailHandler(Fail) RunSpecs(t, "CNI Pod Networking Suite") } var _ = BeforeSuite(func() { f = framework.New(framework.GlobalOptions) By("creating test namespace") f.K8sResourceManagers.NamespaceManager(). CreateNamespace(utils.DefaultTestNamespace) By(fmt.Sprintf("getting the node with the node label key %s and value %s", f.Options.NgNameLabelKey, f.Options.NgNameLabelVal)) nodes, err := f.K8sResourceManagers.NodeManager().GetNodes(f.Options.NgNameLabelKey, f.Options.NgNameLabelVal) Expect(err).ToNot(HaveOccurred()) By("verifying that more than 1 node is available for the test") Expect(len(nodes.Items)).Should(BeNumerically(">", 1)) // Set the primary node used for testing primaryNode = nodes.Items[0] }) var _ = AfterSuite(func() { By("deleting test namespace") f.K8sResourceManagers.NamespaceManager(). DeleteAndWaitTillNamespaceDeleted(utils.DefaultTestNamespace) k8sUtils.UpdateEnvVarOnDaemonSetAndWaitUntilReady(f, "aws-node", "kube-system", "aws-node", map[string]string{ AWS_VPC_ENI_MTU: "9001", AWS_VPC_K8S_CNI_VETHPREFIX: "eni", }, map[string]struct{}{ "WARM_IP_TARGET": {}, "WARM_ENI_TARGET": {}, }) })