-
Notifications
You must be signed in to change notification settings - Fork 2
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
MTL-2371 Optimize NIC loop #85
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…1689174565 [chore] master -> develop from PR #70 (release/1.11.5)
CASMCMS-8716: Update some dependency patch versions
Update Jenkinsfile to reduce chances of hung or failed builds
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37 to 38. - [Release notes](https://github.com/tj-actions/changed-files/releases) - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) - [Commits](tj-actions/changed-files@v37...v38) --- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
…ions/changed-files-38 Bump tj-actions/changed-files from 37 to 38
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
…s/checkout-4 Bump actions/checkout from 3 to 4
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 38 to 39. - [Release notes](https://github.com/tj-actions/changed-files/releases) - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) - [Commits](tj-actions/changed-files@v38...v39) --- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
…ions/changed-files-39 Bump tj-actions/changed-files from 38 to 39
Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 4 to 5. - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](stefanzweifel/git-auto-commit-action@v4...v5) --- updated-dependencies: - dependency-name: stefanzweifel/git-auto-commit-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
…zweifel/git-auto-commit-action-5 Bump stefanzweifel/git-auto-commit-action from 4 to 5
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39 to 40. - [Release notes](https://github.com/tj-actions/changed-files/releases) - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) - [Commits](tj-actions/changed-files@v39...v40) --- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
…ions/changed-files-40 Bump tj-actions/changed-files from 39 to 40
…698433067 [chore] master -> develop from PR #78 (hotfix/1.11.6)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40 to 41. - [Release notes](https://github.com/tj-actions/changed-files/releases) - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) - [Commits](tj-actions/changed-files@v40...v41) --- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
…ions/changed-files-41 Bump tj-actions/changed-files from 40 to 41
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 41 to 42. - [Release notes](https://github.com/tj-actions/changed-files/releases) - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) - [Commits](tj-actions/changed-files@v41...v42) --- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
…ions/changed-files-42 Bump tj-actions/changed-files from 41 to 42
The hardcoded list of NIC interfaces has two caveats that this change addresses: 1. If a node has more than 5 interfaces, which does happen, then the interfaces beyond the fifth will never be tried. 2. If a node has less than 5 interfaces, the script wastes time trying non-existent interfaces. To address item 1, we will auto-increment an index until we hit a non-existent NIC. While doing so, we will maintain the start-index used by cms-ipxe today for compute-node optimization. The loop accounts for this by ensuring that the start index is ran first, and only once. Item 2 is implicitly addressed by item 1's fix. By only trying NICs that exist, we no longer will attempt using non-existent NICs. There is also some added logic for trying more consistently, ensuring we close/open the NIC before attempting DHCP. Lastly this uses smaller `int` sizes, we don't need to allocate 32bit integers for everything. NOTE: Unfortunately we can't use `iflinkwait` or `--timeout` due to the age of the iPXE source code being used, we could pull those helpful features in if MTL-2104 ever merges (http://github.com/Cray-HPE/ipxe-tpsw-clone/pull/19).
MTL-2371 Optimize NIC loop
Changelog and Copyright for develop
CASMCMS-8914: Use appropriate version of Python k8s client for CSM 1.6
Quality Gate passedIssues Measures |
jsl-hpe
approved these changes
Feb 12, 2024
mharding-hpe
added a commit
that referenced
this pull request
Feb 12, 2024
[chore] master -> develop from PR #85 (develop)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The hardcoded list of NIC interfaces has two caveats that this change addresses:
To address item 1, we will auto-increment an index until we hit a non-existent NIC.
While doing so, we will maintain the start-index used by cms-ipxe today for compute-node optimization. The loop accounts for this by ensuring that the start index is ran first, and only once.
Item 2 is implicitly addressed by item 1's fix. By only trying NICs that exist, we no longer will attempt using non-existent NICs.
There is also some added logic for trying more consistently, ensuring we close/open the NIC before attempting DHCP.
Lastly this uses smaller
int
sizes, we don't need to allocate 32bit integers for everything.NOTE: Unfortunately we can't use
iflinkwait
or--timeout
due to the age of the iPXE source code being used, we could pull those helpful features in if MTL-2104 ever merges(http://github.com/Cray-HPE/ipxe-tpsw-clone/pull/19).
When the max number of attempts are reached, an
IPXE>
shell will open.Optionally, a user may interrupt (CTRL+C) the
Retrying in X seconds ...
message to skip to a shell.The output also contains hints, telling the user they may skip interfaces using CTRL+C. These hints print out once per attempt.
Testing
List the environments in which these changes were tested.
Tested on:
mug
Test description:
For the test, I interrupted a few of the attempts in order to emulate a loop failure. In this way, we can observe how only the existing NICs were tired and what happens on success.