-
Notifications
You must be signed in to change notification settings - Fork 748
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
Re-use logger instance #2029
Re-use logger instance #2029
Conversation
- Existing logger initialization constructed different logger instances upon call to Get() method. - Fixed the initailiation logic to re-use the logger instance.
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.
Excellent Fix.
@@ -47,22 +47,17 @@ type Logger interface { | |||
|
|||
// Get returns an default instance of the zap logger | |||
func Get() Logger { | |||
var logf = &structuredLogger{} |
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.
Why are we removing this structuredLogger reference? and isEmpty() call?
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.
Here logf will always be empty, hence it was removed.
But I am thinking should we instead implement isEmpty() for the global variable and assign the local variable to global variable if the global is empty. Just to keep the code readable.
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.
Wont be isEmpty() be handled by the library itself? I was curious both by the presence and now is removal.
- The single place initialization is one change, that looks good to me.
- Removal of this logger property seems a different change than single place initialization.
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.
Existing logic was
var logf = &structuredLogger{}
if logf.isEmpty() {
func (logf *structuredLogger) isEmpty() bool {
return logf.zapLogger == nil
}
Through log messages, it was confirmed that each package was obtaining it's own logger instance:
Test execution logs (prior to the change)
"level":"info","ts":"2022-07-07T23:02:41.525Z","caller":"eniconfig/eniconfig.go:61","msg":"******** : Initialized new logger"}
{"level":"info","ts":"2022-07-07T23:02:41.526Z","caller":"networkutils/network.go:128","msg":"******** : Initialized new logger"}
{"level":"info","ts":"2022-07-07T23:02:41.531Z","caller":"awssession/session.go:39","msg":"******** : Initialized new logger"}
{"level":"info","ts":"2022-07-07T23:02:41.531Z","caller":"ec2wrapper/ec2wrapper.go:21","msg":"******** : Initialized new logger"}
{"level":"info","ts":"2022-07-07T23:02:41.537Z","caller":"k8sapi/k8sutils.go:23","msg":"******** : Initialized new logger"}
{"level":"info","ts":"2022-07-07T23:02:41.537Z","caller":"eventrecorder/eventrecorder.go:33","msg":"******** : Initialized new logger"}
{"level":"info","ts":"2022-07-07T23:02:41.538Z","caller":"awsutils/awsutils.go:81","msg":"******** : Initialized new logger"}
Thus, the extra method was removed and nil check was moved in-line, keeping the code simple and easy to read.
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.
Understood, and that was the only place it was used, so helps to remove it.
Thank you.
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 have a question on the change too.
LogLocation: logger.GetLogLocation(), | ||
} | ||
log := logger.New(&logConfig) | ||
log := logger.Get() |
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.
Since, we go through this only during initial bootup - the leaked file handles show up only if the aws-node
pod on the node goes through a restart for some reason? I thought we've a known issue in the upstream logger lib and so curious why we are not running in to that? Would be good to expand on this in the PR description.
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.
the leaked file handles show up only if the aws-node pod on the node goes through a restart for some reason?
No, leaked file handles show up with the long running aws-node ipamd daemon. If it is restarted, leaked file handles would disappear.
Core of the issue is that different packages used to obtain different logger instances (pointing to the same underlying file) and upon rotation, file reference would be updated in one logger but not in others, leading to leaked file handle. This change fixes the situation by ensuring that a single logger instance is ever created and the rotation logic within lumberjack ensures that rotation and file closure is properly handled. Unit-test with a single logger instance doing file rotation correctly was confirmed by using delve debugger.
Regarding the upstream issue of natefinch/lumberjack#81, it is not directly applicable in case of ipamd as transient goroutines holding on to logger instances were not observed (using dlv).
Also can we add the UT which you tried? Using that as base commit we can start adding more UTs as follow up. |
LGTM, Vikas. All my comments are addressed. |
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.
LGTM, again.
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.
lgtm
* 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?
bug-fix
Which issue does this PR fix:
instances upon call to Get() method.
What does this PR do / Why do we need it:
If an issue # is not available please add repro steps and logs from IPAMD/CNI showing the issue:
Testing done on this change:
Deployed this fix on a cluster and verified that leaked file handles for ipamd log file are no longer present.
Automation added to e2e:
Will this PR introduce any new dependencies?:
No
Will this break upgrades or downgrades. Has updating a running cluster been tested?:
No
Does this change require updates to the CNI daemonset config files to work?:
No
Does this PR introduce any user-facing change?:
No
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.