Releases: nasa/cumulus
v18.5.2
[v18.5.2] 2024-12-12
Breaking Changes
- CUMULUS-3934
- Removed
ecs_cluster_instance_allow_ssh
resource. - The
ecs_cluster_instance_allow_ssh
was implemented before SSM hosts were deployed
to NGAP accounts and allowed for SSHing into an instance from an SSH bastion, which no longer exists. - Tunneling into an EC2 via SSM is still supported. Users relying solely on SSH will need to transition to SSM.
- Removed
Changed
- CUMULUS-3936,CUMULUS-3948
- Updated
tf-modules/cumulus/ecs_cluster_instance_autoscaling_cf_template.yml.tmpl
user-data for compatibility with Amazon Linux 2023 AMI - Fixed
tf-modules/cumulus
scripts to use Instance Metadata Service V2 - Updated
fake-provider-cf.yml
to work for Amazon Linux 2023 AMI
- Updated
- CUMULUS-3941
- Updated
SendPan
task to generate short pan with FAILED disposition.
- Updated
- CUMULUS-3955
- Removed
VACUUM
statements from db migrations. In cases where the PG database is very large, these queries
can take a long time and exceed the Lambda timeout, causing failures on deployment.
- Removed
Fixed
- Security Vulnerabilities
- Updated
@octokit/graphql
from 2.1.1 to ^2.3.0 to address [CVE-2024-21538]
(GHSA-3xgq-45jj-v275)
- Updated
v19.2.0-alpha.1
Release v19.2.0-alpha.1
From feature/es-phase-2 deafd8b
v19.2.0-alpha.0
v19.1.0
[v19.1.0] 2024-10-07
Migration Notes
This release contains changes listed here as well as changes listed in v19.0.0,
despite v19.0.0 being deprecated. Please review Changelog entries and Migration Notes for
each Cumulus version between your current version and v19.1.0 as normal.
Added
-
CUMULUS-3020
- Updated sfEventSqsToDbRecords to allow override of the default value
(var.rds_connection_timing_configuration.acquireTimeoutMillis / 1000) + 60)
via a key 'sfEventSqsToDbRecords' onvar.lambda_timeouts
on the main cumulus module/archive module
Please note - updating this configuration is for adavanced users only. Value changes will modify the visibility
timeout onsfEventSqsToDbRecordsDeadLetterQueue
andsfEventSqsToDbRecordsInputQueue
and may lead to system
instability. - Updated sfEventSqsToDbRecords to allow override of the default value
-
CUMULUS-3756
- Added excludeFileRegex configuration to UpdateGranulesCmrMetadataFileLinks
- This is to allow files matching specified regex to be excluded when updating the Related URLs list
- Defaults to the current behavior of excluding no files.
-
CUMULUS-3773
- Added sftpFastDownload configuration to SyncGranule task.
- Updated
@cumulus/sftp-client
and@cumulus/ingest/SftpProviderClient
to support both regular and fastDownload. - Added sftp support to FakeProvider
- Added sftp integration test
Changed
- CUMULUS-3928
- updated publish scripting to use [email protected] for user email
- updated publish scripting to use esm over common import of latest-version
- updated bigint testing to remove intermitted failure source.
- updated postgres dependency version
- CUMULUS-3838
- Updated python dependencies to latest:
- cumulus-process-py 1.4.0
- cumulus-message-adapter-python 2.3.0
- Updated python dependencies to latest:
- CUMULUS-3906
- Bumps example ORCA deployment to version v10.0.1.
Fixed
- CUMULUS-3902
- Update error handling to use AWS SDK V3 error classes instead of properties on js objects
v18.5.1
Release v18.5.1
Please note This is a backport release - changes in v18.5.1 may not yet be released in future versions, as this
is a backport/patch release on the v18.5.x series of releases. Updates that are
included in the future will have a corresponding CHANGELOG entry in future releases.
Added
- CUMULUS-3773
- Added sftpFastDownload configuration to SyncGranule task.
- Updated
@cumulus/sftp-client
and@cumulus/ingest/SftpProviderClient
to support both regular and fastDownload. - Added sftp support to FakeProvider
- Added sftp integration test
- CUMULUS-3756
- Added excludeFileRegex configuration to UpdateGranulesCmrMetadataFileLinks
- This is to allow files matching specified regex to be excluded when updating the Related URLs list
- Defaults to the current behavior of excluding no files.
- CUMULUS-3919
- Added terraform variables
disableSSL
andrejectUnauthorized
totf-modules/cumulus-rds-tf
module.
- Added terraform variables
Changed
- CUMULUS-3928
- updated publish scripting to use [email protected] for user email
- updated publish scripting to use esm over common import of latest-version
- updated bigint testing to remove intermitted failure source.
- updated postgres dependency version
- CUMULUS-3838
- Updated python dependencies to latest:
- cumulus-process-py 1.4.0
- cumulus-message-adapter-python 2.3.0
- Updated python dependencies to latest:
Fixed
- CUMULUS-3902
- Update error handling to use AWS SDK V3 error classes instead of properties on js objects
v18.5.0
[v18.5.0] 2024-10-03
Migration Notes
CUMULUS-3536 Upgrading from Aurora Serverless V1 to V2
- The updates in CUMULUS-3536 require an upgrade of the postgres database.
Please follow [Upgrading from Aurora Serverless V1 to V2]
(https://nasa.github.io/cumulus/docs/next/upgrade-notes/serverless-v2-upgrade)
Added
- CUMULUS-3536
- Added
rejectUnauthorized
= false to db-provision-user-database as the Lambda
does not have the Serverless v2 SSL certifications installed.
- Added
Changed
- CUMULUS-3725
- Updated the default parameter group for
cumulus-rds-tf
to setforce_ssl
to 0. This setting for the Aurora Serverless v2 database allows non-SSL
connections to the database, and is intended to be a temporary solution
until Cumulus has been updated to import the RDS rds-ca-rsa2048-g1 CA bundles in Lambda environments.
See CUMULUS-3724.
- Updated the default parameter group for
Fixed
- CUMULUS-3901
- Fix error checking in @cumulus/errors to use Error.name in addition to Error.code
- CUMULUS-3824
- Added the missing double quote in ecs_cluster autoscaling cf template
- CUMULUS-3846
- improve reliability of unit tests
- tests for granules api get requests separated out to new file
- cleanup of granule database resources to ensure no overlap
- ensure uniqueness of execution names from getWorkflowNameIntersectFromGranuleIds
- increase timeout in aws-client tests
- improve reliability of unit tests
- Snyk
- Upgraded moment from 2.29.4 to 2.30.1
- Upgraded pg from ~8.10 to ~8.12
v18.3.5
v19.0.0
Deprecated
This release has been deprecated in favor of the 18.5->19.1 release series.
[v19.0.0] 2024-08-28
Dashboard Requirement
- Cumulus Dashboard v12.2.0
Breaking Changes
- This release includes
Replace ElasicSearch Phase 1
updates, we no longer savecollection/granule/execution
records to
ElasticSearch, thecollections/granules/executions
API endpoints are updated to perform operations on the postgres database.
Migration Notes
CUMULUS-3792 Add database indexes. Please follow the instructions before upgrading Cumulus
- The updates in CUMULUS-3792 require a manual update to the postgres database in the production environment.
Please follow [Update Table Indexes for CUMULUS-3792]
(https://nasa.github.io/cumulus/docs/next/upgrade-notes/update_table_indexes_CUMULUS_3792)
Replace ElasticSearch Phase 1
- CUMULUS-3238
- Removed elasticsearch dependency from collections endpoint
- CUMULUS-3239
- Updated
executions
list api endpoint and addedExecutionSearch
class to query postgres
- Updated
- CUMULUS-3240
- Removed Elasticsearch dependency from
executions
endpoints
- Removed Elasticsearch dependency from
- CUMULUS-3639
- Updated
/collections/active
endpoint to query postgres
- Updated
- CUMULUS-3640
- Removed elasticsearch dependency from granules endpoint
- CUMULUS-3641
- Updated
collections
api endpoint to query postgres instead of elasticsearch except ifincludeStats
is in the query parameters
- Updated
- CUMULUS-3642
- Adjusted queries to improve performance:
- Used count(*) over count(id) to count rows
- Estimated row count for large tables (granules and executions) by default for basic query
- Updated stats summary to default to the last day
- Updated ExecutionSearch to not include asyncOperationId by default
- Adjusted queries to improve performance:
- CUMULUS-3688
- Updated
stats
api endpoint to query postgres instead of elasticsearch
- Updated
- CUMULUS-3689
- Updated
stats/aggregate
api endpoint to query postgres instead of elasticsearch - Created a new StatsSearch class for querying postgres with the stats endpoint
- Updated
- CUMULUS-3692
- Added
@cumulus/db/src/search
BaseSearch
andGranuleSearch
classes to
support basic queries for granules - Updated granules List endpoint to query postgres for basic queries
- Added
- CUMULUS-3693
- Added functionality to
@cumulus/db/src/search
to support range queries
- Added functionality to
- CUMULUS-3694
- Added functionality to
@cumulus/db/src/search
to support term queries - Updated
BaseSearch
andGranuleSearch
classes to support term queries for granules - Updated granules List endpoint to search postgres
- Added functionality to
- CUMULUS-3695
- Updated
granule
list api endpoint and BaseSearch class to handle sort fields
- Updated
- CUMULUS-3696
- Added functionality to
@cumulus/db/src/search
to support terms,not
andexists
queries
- Added functionality to
- CUMULUS-3699
- Updated
collections
api endpoint to be able to supportincludeStats
query string parameter
- Updated
- CUMULUS-3792
- Added database indexes to improve search performance
v18.3.4
[v18.3.4] 2024-08-27
Please note changes in v18.3.4 may not yet be released in future versions, as this
is a backport/patch release on the v18.3.x series of releases. Updates that are
included in the future will have a corresponding CHANGELOG entry in future releases.
Changed
- CUMULUS-3841
- Increased fetchRules page size to default to 100 instead of 10. This improves overall query time when fetching all rules such as in sqsMessageConsumer.
v18.4.0
[v18.4.0] 2024-08-23
Migration Notes
Important
This release requires manual intervention before applying the Terraform changes. The two tickets below require manual database updates including adding indices, modifying table constraints, and updating types. Please read and complete the steps outlined in the following two tickets, CUMULUS-3320 and CUMULUS-3449 before deploying v18.4.0.
CUMULUS-3320 Update executions table
The work for CUMULUS-3320 required index updates as well as a modification of a
table constraint. To install the update containing these changes you should:
- Pre-generate the indexes on the execution table. This can be done via manual
procedure prior to upgrading without downtime, or done more quickly before or
during upgrade with downtime. - Update the
executions_parent_cumulus_id_foreign
constraint. This will
require downtime as updating the constraint requires a table write lock, and
the update may take some time.
Deployments with low volume databases and low activity and/or test/development
environments should be able to install these updates via the normal automatic
Cumulus deployment process.
Please carefully review the migration process documentation. Failure to
make these updates properly will likely result in deployment failure and/or
degraded execution table operations.
CUMULUS-3449 Please follow the instructions before upgrading Cumulus
- The updates in CUMULUS-3449 requires manual update to postgres database in
production environment. Please follow Update Cumulus_id Type and
Indexes
Breaking Changes
Added
- CUMULUS-3320
- Added endpoint
/executions/bulkDeleteExecutionsByCollection
to allow
bulk deletion of executions from elasticsearch by collectionId - Added
Bulk Execution Delete
migration type to async operations types
- Added endpoint
- CUMULUS-3608
- Exposes variables for sqs_message_consumer_watcher messageLimit and timeLimit configurations. Descriptions
of the variables here include notes on usage and what users should
consider if configuring something other than the default values.
- Exposes variables for sqs_message_consumer_watcher messageLimit and timeLimit configurations. Descriptions
- CUMULUS-3449
- Updated the following database columns to BIGINT: executions.cumulus_id, executions.parent_cumulus_id,
files.granule_cumulus_id, granules_executions.granule_cumulus_id, granules_executions.execution_cumulus_id
and pdrs.execution_cumulus_id - Changed granules table unique constraint to granules_collection_cumulus_id_granule_id_unique
- Added indexes granules_granule_id_index and granules_provider_collection_cumulus_id_granule_id_index
to granules table
- Updated the following database columns to BIGINT: executions.cumulus_id, executions.parent_cumulus_id,
Changed
- CUMULUS-3320
- Updated executions table (please see Migration section and Upgrade
Instructions for more information) to:- Add index on
collection_cumulus_id
- Add index on
parent_cumulus_id
- Update
executions_parent_cumulus_id_foreign
constraint to addON DELETE SET NULL
. This change will cause deletions in the execution table to
allow deletion of parent executions, when this occurs the child will have
it's parent reference set to NULL as part of the deletion operations.
- Add index on
- Updated executions table (please see Migration section and Upgrade
- CUMULUS-3449
- Updated
@cumulus/db
package and configure knex hook postProcessResponse to convert the return string
from columns ending with "cumulus_id" to number.
- Updated
- CUMULUS-3841
- Increased
fetchRules
page size to default to 100 instead of 10. This improves overall query time when
fetching all rules such as insqsMessageConsumer
.
- Increased
Fixed
- CUMULUS-3817
- updated applicable @AWS-SDK dependencies to 3.621.0 to remove inherited vulnerability from fast-xml-parser
- CUMULUS-3320
- Execution database deletions by
cumulus_id
should have greatly improved
performance as a table scan will no longer be required for each record
deletion to validate parent-child relationships
- Execution database deletions by
- CUMULUS-3818
- Fixes default value (updated to tag 52) for async-operation-image in tf-modules/cumulus.
- CUMULUS-3840
- Fixed
@cumulus/api/bin/serve
to correctly use EsClient.
- Fixed