Skip to content

Commit a24c094

Browse files
jennyhliuNnaga1etcartJkovarik
authored
CUMULUS-4181: Re-release version 20.2.0 with RDS v17 upgrade fixes (#4036)
* CUMULUS-4170: Update node-buster to a newer debian build for CI (#4012) * first committ * CHANGELOG * changing local back * add me to edl users (#4024) * add me to edl users * updage dependency version * changelog * safe instead of un=vuln * CUMULUS-4176: canonize versioned parameter groups for postgres engine upgrade (#4033) * first commit * doc-fixes * Update CHANGELOG.md Co-authored-by: jennyhliu <[email protected]> * Update CHANGELOG.md Co-authored-by: jennyhliu <[email protected]> * small doc fix --------- Co-authored-by: jennyhliu <[email protected]> * Fix CreateReconciliationReportSpec test cleanup * update changelog and docs * update changelog release ref --------- Co-authored-by: Naga Nages <[email protected]> Co-authored-by: etcart <[email protected]> Co-authored-by: Jonathan Kovarik <[email protected]>
1 parent 8afcafd commit a24c094

File tree

14 files changed

+109
-22
lines changed

14 files changed

+109
-22
lines changed

CHANGELOG.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,32 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
66

77
## [Unreleased]
88

9+
## [v20.2.0] 2025-08-06 Updated
10+
11+
### Migration Notes
12+
13+
From this release forward, Cumulus Core will be tested against PostgreSQL v17. Users
14+
should migrate their datastores to Aurora PostgreSQL 17.4+ compatible data
15+
stores as soon as possible after upgrading to this release.
16+
17+
#### Database Upgrade
18+
19+
Users utilizing the `cumulus-rds-tf` module should reference [cumulus-rds-tf upgrade
20+
instructions](https://nasa.github.io/cumulus/docs/upgrade-notes/upgrade-rds-cluster-tf-postgres-17).
21+
22+
### Fixed
23+
24+
- **CUMULUS-4176**
25+
- Updated `engine_version` default value to `17.4` in `example/rds-cluster-tf/variables.tf`.
26+
- Updated `tf-modules/cumulus-rds-tf` module to take additional parameter `enable_upgrade` in support of
27+
migration from Aurora PostgreSQl v13 to v17.
28+
- **CUMULUS-4177**
29+
- Update form-data sub-dependency to safe version ^4.0.4
30+
- **CUMULUS_4174**
31+
- Fix broken CreateReconciliationReportSpec test cleanup
32+
- **CUMULUS-4170**
33+
- Upgrade Node Docker image from buster to bullseye for a compatible debian version
34+
935
## [v20.2.0] 2025-06-24
1036

1137
### Added
@@ -8610,7 +8636,8 @@ Note: There was an issue publishing 1.12.0. Upgrade to 1.12.1.
86108636
## [v1.0.0] - 2018-02-23
86118637

86128638

8613-
[Unreleased]: https://github.com/nasa/cumulus/compare/v20.1.2...HEAD
8639+
[Unreleased]: https://github.com/nasa/cumulus/compare/v20.2.0...HEAD
8640+
[v20.2.0]: https://github.com/nasa/cumulus/compare/v20.1.2...v20.2.0
86148641
[v20.1.2]: https://github.com/nasa/cumulus/compare/v20.1.1...v20.1.2
86158642
[v20.1.1]: https://github.com/nasa/cumulus/compare/v20.0.1...v20.1.1
86168643
[v20.0.1]: https://github.com/nasa/cumulus/compare/v20.0.0...v20.0.1

bamboo/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## Dockerfile to create integration/unit test environment
2-
FROM node:20.12.2-buster
2+
FROM node:20.12.2-bullseye
33
RUN apt update &&\
44
apt install -y netcat zip jq rsync zip
55
RUN apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \

bamboo/bootstrap-tf-deployment.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
set -ex
33

44
apt-get update
5-
apt-get install -y python-pip
5+
apt-get install -y python3-pip
66
pip install awscli
77

88
TF_VERSION=$(cat .tfversion)

docs/development/release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ If there is exists a PR in the cumulus-dashboard repo with a name containing: "V
173173

174174
### 4. Publish async_operations image to Docker Hub
175175

176-
For consistency and security reasons, a [new docker image for async_operations should be created and published](../../packages/api/ecs/async-operation/README.md) for each release and pushed to Docker Hub and possibly AWS ECR. Make sure to follow the instructions for **Updating the Cumulus deployment configuration**
176+
For consistency and security reasons, a [new docker image for async_operations should be created and published](https://github.com/nasa/cumulus/blob/master/packages/api/ecs/async-operation/README.md) for each release and pushed to Docker Hub and possibly AWS ECR. Make sure to follow the instructions for **Updating the Cumulus deployment configuration**
177177

178178
### 5. Update CHANGELOG.md
179179

docs/tasks.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,24 @@ Add checksums to files in S3 which don't have one
1717

1818
---
1919

20+
### [@cumulus/change-granule-collection-pg](https://github.com/nasa/cumulus/tree/master/tasks/change-granule-collection-pg)
21+
22+
Move granule files and postgres records to a new collection
23+
24+
- Schemas: See this module's [schema definitions](https://github.com/nasa/cumulus/tree/master/tasks/change-granule-collection-pg/schemas).
25+
- Resources: [npm](https://npmjs.com/package/@cumulus/change-granule-collection-pg) | [source](https://github.com/nasa/cumulus) | [web](https://github.com/nasa/cumulus/tree/master/tasks/change-granule-collection-pg)
26+
27+
---
28+
29+
### [@cumulus/change-granule-collection-s3](https://github.com/nasa/cumulus/tree/master/tasks/change-granule-collection-s3)
30+
31+
Move granule files and postgres records to a new collection
32+
33+
- Schemas: See this module's [schema definitions](https://github.com/nasa/cumulus/tree/master/tasks/change-granule-collection-s3/schemas).
34+
- Resources: [npm](https://npmjs.com/package/@cumulus/change-granule-collection-s3) | [source](https://github.com/nasa/cumulus) | [web](https://github.com/nasa/cumulus/tree/master/tasks/change-granule-collection-s3)
35+
36+
---
37+
2038
### [@cumulus/discover-granules](https://github.com/nasa/cumulus/tree/master/tasks/discover-granules)
2139

2240
Discover Granules in FTP/HTTP/HTTPS/SFTP/S3 endpoints

docs/upgrade-notes/upgrade-rds-cluster-tf-postgres-17.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Upgrade Database Cluster to PostgreSQL v17
44
hide_title: false
55
---
66

7-
Cumulus Core as of version > 20.1.2** now supports and is tested against Aurora Postgres v17. All users should update their datastores to this version as part of an upgrade process upon upgrading to release version 20.1.2.
7+
Cumulus Core as of version **>= 20.2.0** now supports and is tested against Aurora Postgres v17. All users should update their datastores to this version as part of an upgrade process upon upgrading to release version 20.2.0.
88

99
We recommend stopping all ingest rules if database downtime is required (e.g. you do not have a blue-green database solution or are using serverless V2) for the update as any unavailability of the database may result in unexpected database write failures (resulting in records in the Dead Letter Archive), workflow failures or other unexpected failures.
1010

@@ -14,21 +14,20 @@ We recommend stopping all ingest rules if database downtime is required (e.g. yo
1414

1515
It is recommended that users manually backup and/or consider cloning their datastore in order to recover the datastore if an upgrade goes awry.
1616

17-
Upgrading the Aurora Serverless v2 cluster will be completed via AWS console in this document and require manual steps to complete the upgrade:
18-
If you are on version 13.12, it is recommended that you upgrade to version 13.18 prior to upgrading to 17.x. The AWS RDS for PostgreSQL upgrade document may be used as a reference:
17+
Upgrading the Aurora Serverless v2 cluster will be completed via AWS console in this document and require manual steps to complete the upgrade. The AWS RDS for PostgreSQL upgrade document may be used as a reference:
1918
<https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.PostgreSQL.MajorVersion.html>
2019

21-
- Ensure a supported version (> 20.1.2 a later patch version) is deployed.
20+
- Ensure a supported version (> 20.1.2 or a later patch version) is deployed.
2221
- Deploy the newest version of the `cumulus-rds-tf` module, ensuring `enable_upgrade` is set to false. This will *only* deploy a `v17` version of your current parameter group configuration, named `<prefix>-cluster-parameter-group-v17`.
2322
- Shut down all ingest and other usage of the database cluster by 3rd party applications if appropriate.
2423
- Once this is done, utilize the AWS RDS console to `modify` the database cluster, and update the following settings:
25-
- Set `Engine Version` to the currently available Serverless v2 Postgres v17 engine (PostgreSQL 17.4 as of this instruction set’s authoring)
24+
- Set `Engine Version` to the currently available Serverless v2 Postgres v17 engine (PostgreSQL 17.4 as of this instruction set’s authoring)
2625
- Ensure the min/max capacity settings match expected values and have not changed
2726
- DB cluster parameter group - utilize the newly created parameter group from step #2 for the update.
2827
- Once you have completed the modifications, click `Continue` and verify the `Summary of modifications` has the engine version and modified parameter group.
2928
- **Important:** Update the `Schedule modifications` to apply the change immediately.
3029

31-
Once this is done, apply the updates. The database upgrade will begin, and the database will shutdown/restart repeatedly. You can monitor progress in the database cluster’s `Logs & events` tab.
30+
Once this is done, apply the updates. The database upgrade will begin, and the database will shutdown/restart repeatedly. You can monitor progress in the database cluster’s `Logs & events` tab.
3231

3332
Upon completion, you should expect to see output similar to:
3433

@@ -38,5 +37,5 @@ If you are on version 13.12, it is recommended that you upgrade to version 13.18
3837
```
3938
4039
- On update completion, validate database cluster appears to have restarted with the expected configuration, non-cumulus databases, etc.
41-
- Update the `enable_upgrade` `rds-cluster-tf` module variable to `true`, and run `terraform init` and `terraform apply` to ensure the postgres v17 compatible parameter group is cleaned up. This should be the only change so double-check the changeset or run `terraform plan` to be sure.
40+
- Update the `enable_upgrade` `rds-cluster-tf` module variable to `true`, and run `terraform init` and `terraform apply` to ensure the postgres v13 compatible parameter group is cleaned up. This should be the only change so double-check the changeset or run `terraform plan` to be sure.
4241
- Resume use of the database cluster.

example/cumulus-tf/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ module "cumulus" {
163163
"acyu",
164164
"chuang14",
165165
"ds_jennifertran",
166+
"ecarton",
166167
"efenollal",
167168
"filipgraniczny",
168169
"jasmine",

example/rds-cluster-tf/main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,7 @@ module "rds_cluster" {
2828
snapshot_identifier = var.snapshot_identifier
2929
lambda_timeouts = var.lambda_timeouts
3030
lambda_memory_sizes = var.lambda_memory_sizes
31+
enable_upgrade = var.enable_upgrade
3132
parameter_group_family_v13 = var.parameter_group_family_v13
33+
parameter_group_family_v17 = var.parameter_group_family_v17
3234
}

example/rds-cluster-tf/variables.tf

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ variable "tags" {
7373
variable "engine_version" {
7474
description = "Postgres engine version for Serverless cluster"
7575
type = string
76-
default = "13.12"
76+
default = "17.4"
7777
}
7878

7979
variable "vpc_tag_name" {
@@ -88,6 +88,12 @@ variable "subnets_tag_name" {
8888
default = "Private application *"
8989
}
9090

91+
variable "enable_upgrade" {
92+
description = "Flag to enable use of updated parameter group"
93+
type = bool
94+
default = false
95+
}
96+
9197
variable "lambda_memory_sizes" {
9298
description = "Configurable map of memory sizes for lambdas"
9399
type = map(number)
@@ -109,3 +115,9 @@ variable "parameter_group_family_v13" {
109115
type = string
110116
default = "aurora-postgresql13"
111117
}
118+
119+
variable "parameter_group_family_v17" {
120+
description = "Database family to use for creating database parameter group under postgres 17 upgrade conditions"
121+
type = string
122+
default = "aurora-postgresql17"
123+
}

example/spec/parallel/createReconciliationReport/CreateReconciliationReportSpec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,7 @@ describe('When there are granule differences and granule reconciliation is run',
393393

394394
console.log('dbGranuleId', dbGranuleId);
395395
console.log('publishedGranuleId', publishedGranuleId);
396+
console.log('cmrGranule', cmrGranule);
396397

397398
console.log('XXXXX Waiting for collections in list');
398399
const collectionIds = [
@@ -901,7 +902,7 @@ describe('When there are granule differences and granule reconciliation is run',
901902
removeCollectionAndAllDependencies({ prefix: config.stackName, collection }),
902903
s3().deleteObject(extraS3Object),
903904
deleteFolder(config.bucket, testDataFolder),
904-
cmrClient.deleteGranule(cmrGranule),
905+
cmrClient.deleteGranule(cmrGranule.granuleId),
905906
]);
906907
cleanupResults.forEach((result) => {
907908
if (result.status === 'rejected') {

0 commit comments

Comments
 (0)