-
Notifications
You must be signed in to change notification settings - Fork 742
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CNI IT to test for version upgrade/downgrade #1795
Conversation
eca6551
to
d148fad
Compare
Do we need a separate folder ? wondering this why this cannot be part of the existing cni folder. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should restructure test files so that we minimize the code duplication.
test/integration-new/cni-version-testing/cni_version_host_networking_test.go
Outdated
Show resolved
Hide resolved
1385d05
to
295a2ed
Compare
@Shreya027 thanks for the PR, before I dive deep into the PR had a couple of questions
|
Hi Abhinav, I have hopefully addressed your questions below:
Let me know if you have any further questions, thanks ! |
Could you elaborate on this ? Why is it flaky ? |
@@ -23,7 +23,10 @@ import ( | |||
type EKS interface { | |||
DescribeCluster(clusterName string) (*eks.DescribeClusterOutput, error) | |||
CreateAddon(addon string, clusterName string) (*eks.CreateAddonOutput, error) | |||
CreateAddonWithVersion(addon string, clusterName string, addonVersion string) (*eks.CreateAddonOutput, error) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If only change is the version, then I think we should create an AddonInput struct and pass it to the method, instead of creating a new method only for version. That way it would be easy to extend to other methods.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I created a separate func because we have to add an additional parameter aws.String("OVERWRITE")
, for ResolveConflicts
in case a version is specified in the eks.go file. If we have one function, we will have to perform a check there and modify the struct to set ResolveConflicts
parameter.
By flaky, I mean some of the test errors seem to be transient. They run successfully on test re-runs. However, my code hasn't changed any of the test logic, it just runs the tests by making calls to them on upgrade/downgrade. By test here, I am referring to the CNI tests called on upgrade/downgrade |
} | ||
|
||
type defaultEKS struct { | ||
eksiface.EKSAPI | ||
} | ||
|
||
type CreateAddOnParams struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: may be rename to AddOnInput so that it can be extended for Describe, Delete as well if needed. Also add a short comment to describe the usage of this struct.
|
||
AddonName string `locationName:"addonName" type:"string" required:"true"` | ||
ClusterName string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` | ||
AddonVersion string `locationName:"addonVersion" type:"string"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add example of Version format in comments. like v1.7.5 or v1.7.5-eksbuild.1
a057443
to
fa4f247
Compare
By("getting the current addon") | ||
describeAddonOutput, err = f.CloudServices.EKS().DescribeAddon("vpc-cni", f.Options.ClusterName) | ||
if err == nil { | ||
fmt.Printf("By applying addon %s\n", versionName) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change it to By instead . remove Print calls
Expect(err).ToNot(HaveOccurred()) | ||
|
||
_, err = f.CloudServices.EKS().DescribeAddon("vpc-cni", f.Options.ClusterName) | ||
for err == nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could lead to an infinite loop. I think we should refactor this logic. We should have some timeout
var status = "" | ||
|
||
By("waiting for addon to be ACTIVE") | ||
for status != "ACTIVE" { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this can be extracted to a utility function similar to daemonset.go. So this logic can be extended.
} | ||
|
||
//Set the WARM_ENI_TARGET to 0 to prevent all pods being scheduled on secondary ENI | ||
k8sUtils.AddEnvVarToDaemonSetAndWaitTillUpdated(f, "aws-node", "kube-system", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the default settings when you apply an addon ?Just want to know why we need to ensure these env settings ?
Context("when testing host networking on final version", func() { | ||
HostNetworkingTest() | ||
PodTrafficTest() | ||
ServiceConnectivityTest() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think these 3 functions are 3 different kinds of tests, so should be separated out in 3 Contexts ? would like to know your thoughts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just few comments, rest looks good. Thanks 👍
Addon upgrade/downgrade test similar to aws#1795 Added tests for addon upgrade/downgrade
Closing this PR, refer this instead: #1861 |
Addon upgrade/downgrade test similar to aws#1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (aws#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com>
Addon upgrade/downgrade test similar to aws#1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (aws#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com>
Addon upgrade/downgrade test similar to aws#1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (aws#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com>
Refactored code Addon upgrade/downgrade test similar to aws#1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (aws#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Added upgrade/downgrade test for custom cni-manifest-file Added missing files remove upgrade-downgrade.sh
Addon upgrade/downgrade test similar to aws#1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (aws#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Renamed package name for adddon tests removed unnecessary changes Fixed replica count for MTU and Veth test in host networking Updated ENI/IP limits file for newly added instances (aws#1864) * Added new instances * Updated test readme * needed rebase * formatting
…#1861) * Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Renamed package name for adddon tests removed unnecessary changes Fixed replica count for MTU and Veth test in host networking Updated ENI/IP limits file for newly added instances (#1864) * Added new instances * Updated test readme * needed rebase * formatting * remove all references to integration-new migrate to ginkgo v2 in addon test files * fix maxIPPerInterface count on pod_networking_suite * Increase default deployment ready timeout Co-authored-by: Vikas Basavaraj <5373156+vikasmb@users.noreply.github.com>
* Added upgrade/downgrade script template Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Added upgrade/downgrade test for custom cni-manifest-file Added missing files remove upgrade-downgrade.sh * Add eks.go file , deleted by mistake * Extract apply manifest logic in common Remove redundant code * Add PD traffic test for cni upgrade downgrade test
…aws#1861) * Refactored code Addon upgrade/downgrade test similar to aws#1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (aws#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Renamed package name for adddon tests removed unnecessary changes Fixed replica count for MTU and Veth test in host networking Updated ENI/IP limits file for newly added instances (aws#1864) * Added new instances * Updated test readme * needed rebase * formatting * remove all references to integration-new migrate to ginkgo v2 in addon test files * fix maxIPPerInterface count on pod_networking_suite * Increase default deployment ready timeout Co-authored-by: Vikas Basavaraj <5373156+vikasmb@users.noreply.github.com>
* Added upgrade/downgrade script template Refactored code Addon upgrade/downgrade test similar to aws#1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (aws#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Added upgrade/downgrade test for custom cni-manifest-file Added missing files remove upgrade-downgrade.sh * Add eks.go file , deleted by mistake * Extract apply manifest logic in common Remove redundant code * Add PD traffic test for cni upgrade downgrade test
* Added upgrade/downgrade script template Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Added upgrade/downgrade test for custom cni-manifest-file Added missing files remove upgrade-downgrade.sh * Add eks.go file , deleted by mistake * Extract apply manifest logic in common Remove redundant code * Add PD traffic test for cni upgrade downgrade test * Updated Readme
* 1.10.3 release artifacts (#1962) * Stale PR and issue cleanup wrkflow (#1964) * fix image name during build (#1968) * add event recorder utils to raise aws-node pod events (#1536) * refactor uploader scripts (#1972) * Fix cni panic due to pod.Annotations is a nil map (#1974) Co-authored-by: Relk Li <relk@maicoin.com> * chart: Add extraVolumes and extraVolumeMounts (#1949) Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> * Add the new command in the section of CNI Plugin Sequence (#1813) Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> * Bump github.com/containernetworking/cni from 0.8.0 to 0.8.1 (#1966) Bumps [github.com/containernetworking/cni](https://github.com/containernetworking/cni) from 0.8.0 to 0.8.1. - [Release notes](https://github.com/containernetworking/cni/releases) - [Commits](containernetworking/cni@v0.8.0...v0.8.1) --- updated-dependencies: - dependency-name: github.com/containernetworking/cni dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> * Update README to highlight containerd.sock edge case with EKS AMI. (#1884) * Update README to highlight containerd.sock edge case with EKS AMI. * Updated Instructions as per review. * add cni release test script (#1971) * Multus release manifest (#1984) * release manifest for Multus v3.8.0-eksbuild.1 * minor change to Readme * Added Tests for validating Multus Installation (#1811) * Added Tests for validating Multus Installation Added missing files Refactored code Tried to make it modular and extensible. * Deleted redundant file * Fixed compilation issues * fixed minor error * Added script to trigger Multus tests (will be used by prow job) * remove multus installation logic from ginkgo * remove redundant changes * Cleaned up run-multus-tests helper script * Updated Readme for running multus tests Added few checks in canary helper script * revert changes to canary.sh * Pass tag as an argument * Updated Readme * Updated tag for multus tests to use latest image * Port new integration tests (#1928) * Minor changes to run-integration-tests Added integration-new framework tests * Modified run-integration-tests to use new integration tests * reverted redundant changes * Merge integration with integration-new * increase timeout (#1985) fix syntax for ginkgo-v2 * Added configurable flag to create test nodes with arm64 and containerd runtime (#1977) * Cleanup binary file (#1987) * log error in ipamd on api server timeout (#1988) * Refactored code and Added cni addon upgrade/downgrade regression test (#1861) * Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Renamed package name for adddon tests removed unnecessary changes Fixed replica count for MTU and Veth test in host networking Updated ENI/IP limits file for newly added instances (#1864) * Added new instances * Updated test readme * needed rebase * formatting * remove all references to integration-new migrate to ginkgo v2 in addon test files * fix maxIPPerInterface count on pod_networking_suite * Increase default deployment ready timeout Co-authored-by: Vikas Basavaraj <5373156+vikasmb@users.noreply.github.com> * Remove generation of calico manifests (#1905) * cni manifest upgrade downgrade test (#1863) * Added upgrade/downgrade script template Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Added upgrade/downgrade test for custom cni-manifest-file Added missing files remove upgrade-downgrade.sh * Add eks.go file , deleted by mistake * Extract apply manifest logic in common Remove redundant code * Add PD traffic test for cni upgrade downgrade test * Update golang to Go 1.18 (#1991) * Update CNI Plugins to v1.1.1 (#1997) * Update release manifests for VPC CNI v1.11.2 (#2001) (#2002) * Enable Calico on ARM64 and add configureable flags for Calico installation (#2004) * Enable Calico on ARM64 and add configureable flags for Calico installation * Add v to Calico version in release test script * fix integration test script (#1998) * Updated dependencies (#2012) * Fix readme (#2013) * Added upgrade/downgrade script template Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Added upgrade/downgrade test for custom cni-manifest-file Added missing files remove upgrade-downgrade.sh * Add eks.go file , deleted by mistake * Extract apply manifest logic in common Remove redundant code * Add PD traffic test for cni upgrade downgrade test * Updated Readme * Merge fix-ginkgo to master (#2014) * fix path failure * seperate makefile for test Co-authored-by: abhipth <abhipth@amazon.com> * Multus manifest for release v3.9.0-eksbuild.1 (#2016) * Updating new instances - p4de (#2018) * Updating new instances * fix formatting * Fix go build failure with v6 networking suite. (#2020) * Update README.md (#2021) * Fix Go build for ipamd test package. (#2023) * Fix Go build for ipamd test package. * Fix format with make format * Fix go build for cni test package. (#2024) * Prevent allocate/free ENIs when node is marked noSchedule (#1927) * Prevent allocate/free ENIs when node is marked noSchedule * Update UTs * Re-use logger instance (#2029) * Re-use logger instance - Existing logger initialization constructed different logger instances upon call to Get() method. - Fixed the initailiation logic to re-use the logger instance. * Added unit tests for logger initialization fix Co-authored-by: M00nF1sh <yyyng@amazon.com> Co-authored-by: Sushmitha Ravikumar <58063229+sushrk@users.noreply.github.com> Co-authored-by: Relk Li <YiJiun.Li.C@gmail.com> Co-authored-by: Relk Li <relk@maicoin.com> Co-authored-by: Jan-Otto Kröpke <github@jkroepke.de> Co-authored-by: Shuntaro Azuma <azush.work@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Senthil Kumaran <senthilx@amazon.com> Co-authored-by: cgchinmay <cgadgil@amazon.com> Co-authored-by: Vikas Basavaraj <5373156+vikasmb@users.noreply.github.com> Co-authored-by: Hao Zhou <haouc@users.noreply.github.com> Co-authored-by: abhipth <abhipth@amazon.com> Co-authored-by: Prasad Jivane <prasad.jivane@walchandsangli.ac.in>
* 1.10.3 release artifacts (#1962) * Stale PR and issue cleanup wrkflow (#1964) * fix image name during build (#1968) * add event recorder utils to raise aws-node pod events (#1536) * refactor uploader scripts (#1972) * Fix cni panic due to pod.Annotations is a nil map (#1974) Co-authored-by: Relk Li <relk@maicoin.com> * chart: Add extraVolumes and extraVolumeMounts (#1949) Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> * Add the new command in the section of CNI Plugin Sequence (#1813) Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> * Bump github.com/containernetworking/cni from 0.8.0 to 0.8.1 (#1966) Bumps [github.com/containernetworking/cni](https://github.com/containernetworking/cni) from 0.8.0 to 0.8.1. - [Release notes](https://github.com/containernetworking/cni/releases) - [Commits](containernetworking/cni@v0.8.0...v0.8.1) --- updated-dependencies: - dependency-name: github.com/containernetworking/cni dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> * Update README to highlight containerd.sock edge case with EKS AMI. (#1884) * Update README to highlight containerd.sock edge case with EKS AMI. * Updated Instructions as per review. * add cni release test script (#1971) * Multus release manifest (#1984) * release manifest for Multus v3.8.0-eksbuild.1 * minor change to Readme * Added Tests for validating Multus Installation (#1811) * Added Tests for validating Multus Installation Added missing files Refactored code Tried to make it modular and extensible. * Deleted redundant file * Fixed compilation issues * fixed minor error * Added script to trigger Multus tests (will be used by prow job) * remove multus installation logic from ginkgo * remove redundant changes * Cleaned up run-multus-tests helper script * Updated Readme for running multus tests Added few checks in canary helper script * revert changes to canary.sh * Pass tag as an argument * Updated Readme * Updated tag for multus tests to use latest image * Port new integration tests (#1928) * Minor changes to run-integration-tests Added integration-new framework tests * Modified run-integration-tests to use new integration tests * reverted redundant changes * Merge integration with integration-new * increase timeout (#1985) fix syntax for ginkgo-v2 * Added configurable flag to create test nodes with arm64 and containerd runtime (#1977) * Cleanup binary file (#1987) * log error in ipamd on api server timeout (#1988) * Refactored code and Added cni addon upgrade/downgrade regression test (#1861) * Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Renamed package name for adddon tests removed unnecessary changes Fixed replica count for MTU and Veth test in host networking Updated ENI/IP limits file for newly added instances (#1864) * Added new instances * Updated test readme * needed rebase * formatting * remove all references to integration-new migrate to ginkgo v2 in addon test files * fix maxIPPerInterface count on pod_networking_suite * Increase default deployment ready timeout Co-authored-by: Vikas Basavaraj <5373156+vikasmb@users.noreply.github.com> * Remove generation of calico manifests (#1905) * cni manifest upgrade downgrade test (#1863) * Added upgrade/downgrade script template Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Added upgrade/downgrade test for custom cni-manifest-file Added missing files remove upgrade-downgrade.sh * Add eks.go file , deleted by mistake * Extract apply manifest logic in common Remove redundant code * Add PD traffic test for cni upgrade downgrade test * Update golang to Go 1.18 (#1991) * Update CNI Plugins to v1.1.1 (#1997) * Update release manifests for VPC CNI v1.11.2 (#2001) (#2002) * Enable Calico on ARM64 and add configureable flags for Calico installation (#2004) * Enable Calico on ARM64 and add configureable flags for Calico installation * Add v to Calico version in release test script * fix integration test script (#1998) * Updated dependencies (#2012) * Fix readme (#2013) * Added upgrade/downgrade script template Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Added upgrade/downgrade test for custom cni-manifest-file Added missing files remove upgrade-downgrade.sh * Add eks.go file , deleted by mistake * Extract apply manifest logic in common Remove redundant code * Add PD traffic test for cni upgrade downgrade test * Updated Readme * Merge fix-ginkgo to master (#2014) * fix path failure * seperate makefile for test Co-authored-by: abhipth <abhipth@amazon.com> * Multus manifest for release v3.9.0-eksbuild.1 (#2016) * Updating new instances - p4de (#2018) * Updating new instances * fix formatting * Fix go build failure with v6 networking suite. (#2020) * Update README.md (#2021) * Fix Go build for ipamd test package. (#2023) * Fix Go build for ipamd test package. * Fix format with make format * Fix go build for cni test package. (#2024) * Prevent allocate/free ENIs when node is marked noSchedule (#1927) * Prevent allocate/free ENIs when node is marked noSchedule * Update UTs * Re-use logger instance (#2029) * Re-use logger instance - Existing logger initialization constructed different logger instances upon call to Get() method. - Fixed the initailiation logic to re-use the logger instance. * Added unit tests for logger initialization fix * fix addOn version api for beta (#2034) * Update yaml.v3 package dependency (#2036) * Update yaml.v3 package dependency Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Co-authored-by: M00nF1sh <yyyng@amazon.com> Co-authored-by: Sushmitha Ravikumar <58063229+sushrk@users.noreply.github.com> Co-authored-by: Relk Li <YiJiun.Li.C@gmail.com> Co-authored-by: Relk Li <relk@maicoin.com> Co-authored-by: Jan-Otto Kröpke <github@jkroepke.de> Co-authored-by: Shuntaro Azuma <azush.work@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Senthil Kumaran <senthilx@amazon.com> Co-authored-by: cgchinmay <cgadgil@amazon.com> Co-authored-by: Hao Zhou <haouc@users.noreply.github.com> Co-authored-by: abhipth <abhipth@amazon.com> Co-authored-by: Prasad Jivane <prasad.jivane@walchandsangli.ac.in>
* 1.10.3 release artifacts (#1962) * Stale PR and issue cleanup wrkflow (#1964) * fix image name during build (#1968) * add event recorder utils to raise aws-node pod events (#1536) * refactor uploader scripts (#1972) * Fix cni panic due to pod.Annotations is a nil map (#1974) Co-authored-by: Relk Li <relk@maicoin.com> * chart: Add extraVolumes and extraVolumeMounts (#1949) Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> * Add the new command in the section of CNI Plugin Sequence (#1813) Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> * Bump github.com/containernetworking/cni from 0.8.0 to 0.8.1 (#1966) Bumps [github.com/containernetworking/cni](https://github.com/containernetworking/cni) from 0.8.0 to 0.8.1. - [Release notes](https://github.com/containernetworking/cni/releases) - [Commits](containernetworking/cni@v0.8.0...v0.8.1) --- updated-dependencies: - dependency-name: github.com/containernetworking/cni dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> * Update README to highlight containerd.sock edge case with EKS AMI. (#1884) * Update README to highlight containerd.sock edge case with EKS AMI. * Updated Instructions as per review. * add cni release test script (#1971) * Multus release manifest (#1984) * release manifest for Multus v3.8.0-eksbuild.1 * minor change to Readme * Added Tests for validating Multus Installation (#1811) * Added Tests for validating Multus Installation Added missing files Refactored code Tried to make it modular and extensible. * Deleted redundant file * Fixed compilation issues * fixed minor error * Added script to trigger Multus tests (will be used by prow job) * remove multus installation logic from ginkgo * remove redundant changes * Cleaned up run-multus-tests helper script * Updated Readme for running multus tests Added few checks in canary helper script * revert changes to canary.sh * Pass tag as an argument * Updated Readme * Updated tag for multus tests to use latest image * Port new integration tests (#1928) * Minor changes to run-integration-tests Added integration-new framework tests * Modified run-integration-tests to use new integration tests * reverted redundant changes * Merge integration with integration-new * increase timeout (#1985) fix syntax for ginkgo-v2 * Added configurable flag to create test nodes with arm64 and containerd runtime (#1977) * Cleanup binary file (#1987) * log error in ipamd on api server timeout (#1988) * Refactored code and Added cni addon upgrade/downgrade regression test (#1861) * Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Renamed package name for adddon tests removed unnecessary changes Fixed replica count for MTU and Veth test in host networking Updated ENI/IP limits file for newly added instances (#1864) * Added new instances * Updated test readme * needed rebase * formatting * remove all references to integration-new migrate to ginkgo v2 in addon test files * fix maxIPPerInterface count on pod_networking_suite * Increase default deployment ready timeout Co-authored-by: Vikas Basavaraj <5373156+vikasmb@users.noreply.github.com> * Remove generation of calico manifests (#1905) * cni manifest upgrade downgrade test (#1863) * Added upgrade/downgrade script template Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Added upgrade/downgrade test for custom cni-manifest-file Added missing files remove upgrade-downgrade.sh * Add eks.go file , deleted by mistake * Extract apply manifest logic in common Remove redundant code * Add PD traffic test for cni upgrade downgrade test * Update golang to Go 1.18 (#1991) * Update CNI Plugins to v1.1.1 (#1997) * Update release manifests for VPC CNI v1.11.2 (#2001) (#2002) * Enable Calico on ARM64 and add configureable flags for Calico installation (#2004) * Enable Calico on ARM64 and add configureable flags for Calico installation * Add v to Calico version in release test script * fix integration test script (#1998) * Updated dependencies (#2012) * Fix readme (#2013) * Added upgrade/downgrade script template Refactored code Addon upgrade/downgrade test similar to #1795 Added tests for addon upgrade/downgrade Changed DEFAULT version Added addon status checks Fetch latest addon version for given K8s Cluster Update kops cluster config used in weekly tests (#1862) * Change to kops cluster creation scripts * Add logging for retry attempt * Switch kops cluster to use docker container runtime Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> Added upgrade/downgrade test for custom cni-manifest-file Added missing files remove upgrade-downgrade.sh * Add eks.go file , deleted by mistake * Extract apply manifest logic in common Remove redundant code * Add PD traffic test for cni upgrade downgrade test * Updated Readme * Merge fix-ginkgo to master (#2014) * fix path failure * seperate makefile for test Co-authored-by: abhipth <abhipth@amazon.com> * Multus manifest for release v3.9.0-eksbuild.1 (#2016) * Updating new instances - p4de (#2018) * Updating new instances * fix formatting * Fix go build failure with v6 networking suite. (#2020) * Update README.md (#2021) * Fix Go build for ipamd test package. (#2023) * Fix Go build for ipamd test package. * Fix format with make format * Fix go build for cni test package. (#2024) * Prevent allocate/free ENIs when node is marked noSchedule (#1927) * Prevent allocate/free ENIs when node is marked noSchedule * Update UTs * Re-use logger instance (#2029) * Re-use logger instance - Existing logger initialization constructed different logger instances upon call to Get() method. - Fixed the initailiation logic to re-use the logger instance. * Added unit tests for logger initialization fix * fix addOn version api for beta (#2034) * Update yaml.v3 package dependency (#2036) * Update yaml.v3 package dependency * Increase cpu requests limit (#2038) - Porting changes from release-1.10 branch made in PR #1749 * fix ipamd integration failures and cleanup (#2039) * fix integration test failures and cleanup * README update * cleanup info logs in event recorder and test script (#2043) * add nodeSelector to cni-metrics-helper test deployment and update image tag (#2047) * fix makefile path in canary test script (#2051) * disable arm build (#2052) * Updated changelog for 1.11.3 release (#2053) Co-authored-by: Vikas Basavaraj Mallapura <“5373156+vikasmb@users.noreply.github.com”> * Updating master branch config files to release 1.11.3 (#2055) * Updated changelog for 1.11.3 release * Image tag and chart version update for 1.11.3 release (#2050) Co-authored-by: Vikas Basavaraj Mallapura <“5373156+vikasmb@users.noreply.github.com”> (cherry picked from commit ff42a83) Co-authored-by: Vikas Basavaraj Mallapura <“5373156+vikasmb@users.noreply.github.com”> * update aws-node clusterrole permissions (#2058) * Fix minor typo on documentation (#2059) s/varibales/variables/ * multus manifest for release v3.9.0-eksbuild.2 (#2057) * Setting AWS_VPC_K8S_CNI_RANDOMIZESNAT to the default value (#2028) Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> * Fixing prefixes per ENI value in example (#2060) Prefixes per ENI in row 6 should be 1 not 3. Co-authored-by: Jayanth Varavani <1111446+jayanthvn@users.noreply.github.com> * IPAMD optimizations and makefile changes (#1975) * IPAMD optimizations and makefile changes * Minor comments * Removed IMDS dependency * fix test * fix test * fix test-format * Updated new instances (#2062) * Updated new instances * fix format Co-authored-by: M00nF1sh <yyyng@amazon.com> Co-authored-by: Sushmitha Ravikumar <58063229+sushrk@users.noreply.github.com> Co-authored-by: Relk Li <YiJiun.Li.C@gmail.com> Co-authored-by: Relk Li <relk@maicoin.com> Co-authored-by: Jan-Otto Kröpke <github@jkroepke.de> Co-authored-by: Shuntaro Azuma <azush.work@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Senthil Kumaran <senthilx@amazon.com> Co-authored-by: cgchinmay <cgadgil@amazon.com> Co-authored-by: Vikas Basavaraj <5373156+vikasmb@users.noreply.github.com> Co-authored-by: Hao Zhou <haouc@users.noreply.github.com> Co-authored-by: abhipth <abhipth@amazon.com> Co-authored-by: Prasad Jivane <prasad.jivane@walchandsangli.ac.in> Co-authored-by: Vikas Basavaraj Mallapura <“5373156+vikasmb@users.noreply.github.com”> Co-authored-by: Guillaume Delacour <guillaume.delacour@gmail.com> Co-authored-by: Venkata Gunapati <gvsukumar@gmail.com> Co-authored-by: Muhammed Karakas <karakas@amazon.com>
What type of PR is this?
feature
Which issue does this PR fix:
Adds integration tests for testing upgrade/downgrade using user provided initial and final CNI version. Pod traffic, host networking and service connectivity test are run, first on applying initial addon version and again on applying final addon version to test for successful upgrade/downgrade.
What does this PR do / Why do we need it:
eks.go
under framework folders that can be re-used for addon related utilitiesIf an issue # is not available please add repro steps and logs from IPAMD/CNI showing the issue:
#694
Testing done on this change:
Ran all the 3 test files that gave all tests passed in at least one of the runs:
If PD and other values not correctly configured as master config manifest, the tests might show failures.
Automation added to e2e:
Will this break upgrades or downgrades. Has updating a running cluster been tested?:
Does this change require updates to the CNI daemonset config files to work?:
Does this PR introduce any user-facing change?:
No, adds testing code
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.