Skip to content

feat(opensearchservice): support OI2 instance type with local NVMe storage#36700

Merged
mergify[bot] merged 2 commits intoaws:mainfrom
pahud:feat/opensearch-oi2-instance-type-36698
Jan 26, 2026
Merged

feat(opensearchservice): support OI2 instance type with local NVMe storage#36700
mergify[bot] merged 2 commits intoaws:mainfrom
pahud:feat/opensearch-oi2-instance-type-36698

Conversation

@pahud
Copy link
Copy Markdown
Contributor

@pahud pahud commented Jan 15, 2026

Issue # (if applicable)

Closes #36698

Reason for this change

OI2 is an OpenSearch-specific instance type that uses local NVMe storage and does not support EBS volumes. Currently, CDK validation incorrectly rejects OI2 instance types when ebs: { enabled: false } is specified, throwing:
ValidationError: EBS volumes are required when using instance types other than R3, I3, R6GD, I4G, I4I, I8G, IM4GN, R7GD or R8GD.

Description of changes

  • Added 'oi2' to the unSupportEbsInstanceType array in domain.ts to recognize OI2 as an instance type that doesn't support EBS (and therefore supports instance storage)
  • Since OI2 is an OpenSearch-specific instance family (not an EC2 instance class), it's added as a string literal rather than using ec2.InstanceClass
  • Updated the comment to include OI2 and added a reference to the AWS documentation
  • Updated unit tests to include OI2 test cases and updated expected error messages

Describe any new or updated permissions being added

N/A - No IAM permission changes.

Description of how you validated changes

  • Added unit tests for OI2 instance type:
    • Error when OI2 is specified with EBS enabled
    • No error when OI2 is specified without EBS enabled
  • All existing tests continue to pass

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

…rage

OI2 is an OpenSearch-specific instance type that uses local NVMe storage
and does not support EBS volumes. This fix adds OI2 to the list of instance
types that support instance storage, allowing users to create OpenSearch
domains with OI2 data nodes when EBS is disabled.

Closes aws#36698
@github-actions github-actions bot added bug This issue is a bug. effort/small Small work item – less than a day of effort p2 labels Jan 15, 2026
@aws-cdk-automation aws-cdk-automation requested a review from a team January 15, 2026 14:55
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Jan 15, 2026
Copy link
Copy Markdown
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(This review is outdated)

@pahud
Copy link
Copy Markdown
Contributor Author

pahud commented Jan 15, 2026

PR self-review/analysis OK.

@pahud
Copy link
Copy Markdown
Contributor Author

pahud commented Jan 15, 2026

Exemption Request - unit tests already added.

@pahud pahud changed the title fix(opensearchservice): support OI2 instance type with local NVMe storage chore(opensearchservice): support OI2 instance type with local NVMe storage Jan 15, 2026
@aws-cdk-automation aws-cdk-automation added pr-linter/exemption-requested The contributor has requested an exemption to the PR Linter feedback. pr/needs-maintainer-review This PR needs a review from a Core Team Member labels Jan 15, 2026
@aws-cdk-automation aws-cdk-automation dismissed their stale review January 15, 2026 19:18

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@mrgrain mrgrain changed the title chore(opensearchservice): support OI2 instance type with local NVMe storage feat(opensearchservice): support OI2 instance type with local NVMe storage Jan 26, 2026
@mrgrain mrgrain added pr-linter/exempt-readme The PR linter will not require README changes pr-linter/exempt-test The PR linter will not require test changes pr-linter/exempt-integ-test The PR linter will not require integ test changes labels Jan 26, 2026
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Jan 26, 2026

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Jan 26, 2026

Merge Queue Status

✅ The pull request has been merged at 1ced0ed

This pull request spent 43 minutes 45 seconds in the queue, including 43 minutes 36 seconds running CI.
The checks were run in-place.

Required conditions to merge

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Jan 26, 2026

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@mergify mergify bot merged commit 034baf3 into aws:main Jan 26, 2026
17 of 18 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 26, 2026
@aws-cdk-automation aws-cdk-automation removed the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Jan 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

bug This issue is a bug. contribution/core This is a PR that came from AWS. effort/small Small work item – less than a day of effort p2 pr-linter/exempt-integ-test The PR linter will not require integ test changes pr-linter/exempt-readme The PR linter will not require README changes pr-linter/exempt-test The PR linter will not require test changes pr-linter/exemption-requested The contributor has requested an exemption to the PR Linter feedback.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

OpenSearch Service: cannot create OI2 data nodes

3 participants