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

Version 1.10.0 and above of this module breaks existing rds instances #252

Open
tsfoer opened this issue Jan 13, 2025 · 1 comment
Open
Labels
bug 🐛 An issue with the system

Comments

@tsfoer
Copy link

tsfoer commented Jan 13, 2025

Describe the Bug

Dear Team,

I would like to bring attention to a breaking change introduced in version 1.10.0 of this module, specifically due to the change in how the RDS instance identifier is now derived from a separate random_pet resource. This change can result in significant issues for users upgrading from versions earlier than 1.10.0, as it disrupts the existing naming schema.

Key Issues

  • Breaking Change: The modification of the instance identifier logic has rendered previous naming conventions incompatible, leading to RDS instances being deleted and recreated during upgrades.
  • Lack of Notice: This major change was not communicated in the release notes, which has left many users unprepared for the impact.
  • Data Loss and Downtime: There is currently no built-in mechanism in Terraform or AWS to migrate data seamlessly during the upgrade. The absence of a simple option to retain the existing instance identifier means that upgrading to the new version could result in data loss and significant downtime, especially for large databases (e.g., millions of records, gigabytes of data, and multiple instances/clusters).

Request

To address these issues and enable a smooth upgrade path, I strongly request that an option be added to retain the legacy naming scheme when upgrading to version 1.10.0 and beyond. This option would allow users to continue using their existing naming conventions and avoid unnecessary data loss or downtime during module upgrades.

In the case of databases with significant data (e.g., multi-gigabyte or multi-terabyte datasets), a more gradual and less disruptive upgrade path is essential for maintaining service reliability and preventing potential data migration challenges.

Conclusion

The current behavior introduces a devastating risk for users managing critical infrastructure. Therefore, it is crucial that this change be addressed by providing an option to retain legacy identifiers, or at least a clear migration guide to prevent data loss and minimize downtime.

Thank you

Expected Behavior

Existing instances keep unchanged when upgrading the module

Steps to Reproduce

Simply create a RDS cluster/instance with this module with version 1.9.x and the upgrade to 1.10.x or higher.

Screenshots

No response

Environment

No response

Additional Context

No response

@tsfoer tsfoer added the bug 🐛 An issue with the system label Jan 13, 2025
@tsfoer tsfoer changed the title Version 10.0 and above of this module breaks existing rds instances Version 1.10.0 and above of this module breaks existing rds instances Jan 13, 2025
@noqqe
Copy link

noqqe commented Jan 13, 2025

second this.

Need a way to upgrade the module without recreating the instance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐛 An issue with the system
Projects
None yet
Development

No branches or pull requests

2 participants