CNF-23053: Migrate away from deprecated ioutil#102
CNF-23053: Migrate away from deprecated ioutil#102sebrandon1 wants to merge 1 commit intoopenshift-kni:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: sebrandon1 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/retest |
|
@sebrandon1: This pull request references CNF-23053 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
ioutilhas been deprecated since Go 1.16: https://go.dev/doc/go1.16#ioutilTracking issue: redhat-best-practices-for-k8s/telco-bot#52
Migration from
ioutiltoos/ioand related refactoring:ioutil.ReadFile,ioutil.WriteFile, andioutil.ReadAllwithos.ReadFile,os.WriteFile, andio.ReadAllrespectively across all affected files. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]ioutil.Discardtoio.Discardfor logger initialization and null logging. [1] [2] [3] [4]Directory reading and file info handling:
ioutil.ReadDirto useos.ReadDir, and reconstructed[]os.FileInfoslices by calling.Info()on each directory entry, ensuring compatibility with the new API. This impacts methods inpkg/fswrap/fswrap.goandpkg/machineinformer/relocatablesysfs.go. [1] [2] [3]Test and temporary file management updates:
ioutil.TempDirwithos.MkdirTempin test files for creating temporary directories, and updated test file writing to useos.WriteFile. [1] [2] [3] [4] [5] [6]General import cleanup:
ioutilimports and updated import blocks to useosandioas needed. [1] [2] [3] [4] [5] [6] [7] [8]These changes modernize the codebase and remove reliance on deprecated APIs, improving maintainability and future compatibility.