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

(aws-fsx): NetApp ONTAP file system #30848

Open
1 of 2 tasks
badmintoncryer opened this issue Jul 12, 2024 · 1 comment
Open
1 of 2 tasks

(aws-fsx): NetApp ONTAP file system #30848

badmintoncryer opened this issue Jul 12, 2024 · 1 comment
Labels
@aws-cdk/aws-fsx Related to Amazon FSx effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2

Comments

@badmintoncryer
Copy link
Contributor

Describe the feature

Supporting for creating FSx for NetApp ONTAP file system by OntapFileSystem class like existing LusterFileSystem class.

new fsx.OntapFileSystem(stack, 'OntapMultiAzFileSystem', {
  vpc,
  vpcSubnets: vpc.privateSubnets,
  storageCapacityGiB: 5120,
  ontapConfiguration: {
    automaticBackupRetention: Duration.days(7),
    dailyAutomaticBackupStartTime: new fsx.DailyAutomaticBackupStartTime({
      hour: 1,
      minute: 0,
    }),
    deploymentType: fsx.OntapDeploymentType.MULTI_AZ_2,
    diskIops: 15360,
    endpointIpAddressRange: '192.168.39.0/24',
    fsxAdminPassword: 'fsxPassword1',
    haPairs: 1,
    prefferredSubnet: vpc.privateSubnets[0],
    routeTables: [vpc.privateSubnets[0].routeTable, vpc.privateSubnets[1].routeTable],
    throughputCapacity: 384,
    weeklyMaintenanceStartTime: new fsx.MaintenanceTime({
      day: fsx.Weekday.SUNDAY,
      hour: 1,
      minute: 0,
    }),
  },
  removalPolicy: RemovalPolicy.DESTROY,
});

Use Case

AWS CDK can create FSx file systems (such as Lustre, NetApp ONTAP, Windows File Server, OpenZFS) using the CfnFileSystem construct. We can create only Lustre file systems with the LustreFileSystem construct, which is really useful due to its numerous validation methods for properties.

It is difficult for users to create a NetApp ONTAP file system via CfnFileSystem because there are many restrictions on properties. Therefore, I think it would also be useful to have an OntapFileSystem construct.

Proposed Solution

Define OntapFileSystem class by extending fsx.FileSystemBase class.

export class OntapFileSystem extends FileSystemBase {
  public static fromOntapFileSystemAttributes(scope: Construct, id: string, attrs: FileSystemAttributes): IFileSystem {
    class Import extends FileSystemBase {
      public readonly dnsName = attrs.dnsName;
      public readonly fileSystemId = attrs.fileSystemId;
      public readonly connections = OntapFileSystem.configureConnections(attrs.securityGroup);
    }
    return new Import(scope, id);
  }

  constructor(scope: Construct, id: string, props: OntapFileSystemProps) {
    super(scope, id);
    this.validateProps(props);

    this.fileSystem = new CfnFileSystem(this, 'Resource', {
      fileSystemType: OntapFileSystem.DEFAULT_FILE_SYSTEM_TYPE,
      subnetIds: props.vpcSubnets.map((subnet) => subnet.subnetId),
      backupId: props.backupId,
      kmsKeyId: props.kmsKey?.keyId,
      ontapConfiguration: {
        ...
      },
    });
})

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

CDK version used

2.147.0

Environment details (OS name and version, etc.)

irrelevant

@badmintoncryer badmintoncryer added feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels Jul 12, 2024
@github-actions github-actions bot added the @aws-cdk/aws-fsx Related to Amazon FSx label Jul 12, 2024
@khushail khushail added investigating This issue is being investigated and/or work is in progress to resolve the issue. and removed needs-triage This issue or PR still needs to be triaged. labels Jul 15, 2024
@khushail khushail self-assigned this Jul 15, 2024
@khushail
Copy link
Contributor

khushail commented Jul 15, 2024

Hi @badmintoncryer , thanks for requesting this useful feature and volunteering to contribute a PR for the same.

For L2 construct contribution, one has to submit RFC and get the approval on design. Once that is submitted and approved, PR can be submitted for the review. However this whole contribution process is currently under review and being reassessed. Please feel free to check this ReadMe on L2 construct submission..

@khushail khushail added p2 effort/medium Medium work item – several days of effort and removed investigating This issue is being investigated and/or work is in progress to resolve the issue. labels Jul 15, 2024
@khushail khushail removed their assignment Jul 15, 2024
@khushail khushail changed the title fsx: NetApp ONTAP file system (aws-fsx): NetApp ONTAP file system Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@aws-cdk/aws-fsx Related to Amazon FSx effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants