Skip to content
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

OCPBUGS-4185: Fix nodeService.getVolumesLimit() adding more instance #213

Conversation

gnufied
Copy link
Member

@gnufied gnufied commented Nov 28, 2022

This commit fixes the getVolumesLimit function.

Previously, the volume limit for Nitro instances was based off of a regex. This regex is insufficient for the wide variety of Nitro instances that AWS supports today.

Nitro instances share attachments with ENIs and NVMe instance stores.

The number of attached ENIs is queried through IMDS, against the network/interfaces/macs endpoint.

The number of already attached block devices is also queried through IMDS, against the block-device-mapping endpoint.

Currently, IMDS does not provide a way to query NVMe instance store volumes. So, all instances that support NVMe instance stores are listed in pkg/cloud/volume_limits.go

This commit also added more tests to cover various scenarios.

This commit fixes the `getVolumesLimit` function.

Previously, the volume limit for Nitro instances was based off of a
regex. This regex is insufficient for the wide variety of Nitro
instances that AWS supports today.

Nitro instances share attachments with ENIs and NVMe instance
stores.

The number of attached ENIs is queried through IMDS, against the
`network/interfaces/macs` endpoint.

The number of already attached block devices is also queried through
IMDS, against the `block-device-mapping` endpoint.

Currently, IMDS does not provide a way to query NVMe instance store
volumes. So, all instances that support NVMe instance stores are listed
in `pkg/cloud/volume_limits.go`

This commit also added more tests to cover various scenarios.
@openshift-ci
Copy link

openshift-ci bot commented Nov 28, 2022

@gnufied: No Bugzilla bug is referenced in the title of this pull request.
To reference a bug, add 'Bug XXX:' to the title of this pull request and request another bug refresh with /bugzilla refresh.

In response to this:

JIRA 4185: Fix nodeService.getVolumesLimit() adding more instance

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 kubernetes/test-infra repository.

@gnufied gnufied changed the title JIRA 4185: Fix nodeService.getVolumesLimit() adding more instance OCPBUGS 4185: Fix nodeService.getVolumesLimit() adding more instance Nov 28, 2022
@gnufied gnufied changed the title OCPBUGS 4185: Fix nodeService.getVolumesLimit() adding more instance OCPBUGS-4185: Fix nodeService.getVolumesLimit() adding more instance Nov 28, 2022
@openshift-ci
Copy link

openshift-ci bot commented Nov 28, 2022

@gnufied: No Bugzilla bug is referenced in the title of this pull request.
To reference a bug, add 'Bug XXX:' to the title of this pull request and request another bug refresh with /bugzilla refresh.

In response to this:

OCPBUGS 4185: Fix nodeService.getVolumesLimit() adding more instance

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 kubernetes/test-infra repository.

@openshift-ci-robot openshift-ci-robot added the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Nov 28, 2022
@openshift-ci-robot
Copy link

@gnufied: This pull request references Jira Issue OCPBUGS-4185, which is invalid:

  • expected Jira Issue OCPBUGS-4185 to depend on a bug targeting a version in 4.12.0 and in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), but no dependents were found

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

In response to this:

This commit fixes the getVolumesLimit function.

Previously, the volume limit for Nitro instances was based off of a regex. This regex is insufficient for the wide variety of Nitro instances that AWS supports today.

Nitro instances share attachments with ENIs and NVMe instance stores.

The number of attached ENIs is queried through IMDS, against the network/interfaces/macs endpoint.

The number of already attached block devices is also queried through IMDS, against the block-device-mapping endpoint.

Currently, IMDS does not provide a way to query NVMe instance store volumes. So, all instances that support NVMe instance stores are listed in pkg/cloud/volume_limits.go

This commit also added more tests to cover various scenarios.

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 kubernetes/test-infra repository.

@openshift-ci
Copy link

openshift-ci bot commented Nov 28, 2022

@gnufied: No Bugzilla bug is referenced in the title of this pull request.
To reference a bug, add 'Bug XXX:' to the title of this pull request and request another bug refresh with /bugzilla refresh.

In response to this:

OCPBUGS-4185: Fix nodeService.getVolumesLimit() adding more instance

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 kubernetes/test-infra repository.

@gnufied
Copy link
Member Author

gnufied commented Nov 28, 2022

/jira refresh

@openshift-ci-robot
Copy link

@gnufied: An error was encountered converting bugzilla URL https://issues.redhat.com/browse/OCPBUGS-3775 to an ID for bug OCPBUGS-4185 on the Jira server at https://bugzilla.redhat.com. No known errors were detected, please see the full error message for details.

Full error message. strconv.Atoi: parsing "https://issues.redhat.com/browse/OCPBUGS-3775": invalid syntax

Please contact an administrator to resolve this issue, then request a bug refresh with /jira refresh.

In response to this:

/jira refresh

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 kubernetes/test-infra repository.

@openshift-ci
Copy link

openshift-ci bot commented Nov 28, 2022

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gnufied

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 28, 2022
@gnufied
Copy link
Member Author

gnufied commented Nov 28, 2022

/jira refresh

@openshift-ci-robot
Copy link

@gnufied: This pull request references Jira Issue OCPBUGS-4185, which is invalid:

  • expected dependent Jira Issue OCPBUGS-3775 to be in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), but it is Closed (Cannot Reproduce) instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

In response to this:

/jira refresh

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 kubernetes/test-infra repository.

@gnufied
Copy link
Member Author

gnufied commented Nov 28, 2022

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Nov 28, 2022
@openshift-ci-robot
Copy link

@gnufied: This pull request references Jira Issue OCPBUGS-4185, which is valid. The bug has been moved to the POST state.

6 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.11.z) matches configured target version for branch (4.11.z)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
  • dependent bug Jira Issue OCPBUGS-3775 is in the state Closed (Done), which is one of the valid states (VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE))
  • dependent Jira Issue OCPBUGS-3775 targets the "4.12.0" version, which is one of the valid target versions: 4.12.0
  • bug has dependents

No GitHub users were found matching the public email listed for the QA contact in Jira (wduan@redhat.com), skipping review request.

In response to this:

/jira refresh

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 kubernetes/test-infra repository.

@openshift-ci
Copy link

openshift-ci bot commented Nov 28, 2022

@gnufied: all tests passed!

Full PR test history. Your PR dashboard.

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 kubernetes/test-infra repository. I understand the commands that are listed here.

@dobsonj
Copy link
Member

dobsonj commented Nov 28, 2022

/lgtm
/label backport-risk-assessed

@openshift-ci openshift-ci bot added the backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. label Nov 28, 2022
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Nov 28, 2022
@duanwei33
Copy link

/label cherry-pick-approved

@openshift-ci openshift-ci bot added the cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. label Nov 29, 2022
@openshift-merge-robot openshift-merge-robot merged commit ba03552 into openshift:release-4.11 Nov 29, 2022
@openshift-ci-robot
Copy link

@gnufied: All pull requests linked via external trackers have merged:

Jira Issue OCPBUGS-4185 has been moved to the MODIFIED state.

In response to this:

This commit fixes the getVolumesLimit function.

Previously, the volume limit for Nitro instances was based off of a regex. This regex is insufficient for the wide variety of Nitro instances that AWS supports today.

Nitro instances share attachments with ENIs and NVMe instance stores.

The number of attached ENIs is queried through IMDS, against the network/interfaces/macs endpoint.

The number of already attached block devices is also queried through IMDS, against the block-device-mapping endpoint.

Currently, IMDS does not provide a way to query NVMe instance store volumes. So, all instances that support NVMe instance stores are listed in pkg/cloud/volume_limits.go

This commit also added more tests to cover various scenarios.

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 kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants