Skip to content

Commit 13f055a

Browse files
npauzengacharleshuang80jennyhliuJkovarik
authored
Release 12.0.3 (#3107)
* merge CUMULUS-2557 * merge CUMULUS-2971 * merge CUMULUS-3021 * merge CUMULUS-3024 * 12.0.3 version bump * remove duplicate api user * Sort results in unit test before comparison * add ci stack * CUMULUS-3027 -- Tightly constrain typescript version due to knex typing (#3095) * Tightly constrain typescript verseion due to knex typing Unpinned dependency resulted in typescript 4.8 being installed, however knex (all versions) has an outstanding bug: knex/knex#5279 * Add CHANGELOG 🔔 * Update generate-ts-build-cache to always 'npm install' * Update CHANGELOG * Update CNM lambdas to utilize newer releases (#3094) Co-authored-by: Charles Huang <[email protected]> Co-authored-by: jennyhliu <[email protected]> Co-authored-by: Jonathan Kovarik <[email protected]> Co-authored-by: Charles Huang <[email protected]>
1 parent a35accb commit 13f055a

File tree

135 files changed

+2439
-655
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

135 files changed

+2439
-655
lines changed

CHANGELOG.md

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

77
## Unreleased
88

9+
## [v12.0.3] 2022-10-03 [BACKPORT]
10+
11+
### Fixed
12+
13+
- **CUMULUS-3024**
14+
- Update PUT /granules endpoint to operate consistently across datastores
15+
(PostgreSQL, ElasticSearch, DynamoDB). Previously it was possible, given a
16+
partial Granule payload to have different data in Dynamo/ElasticSearch and PostgreSQL
17+
- Given a partial Granule object, the /granules update endpoint now operates
18+
with behavior more consistent with a PATCH operation where fields not provided
19+
in the payload will not be updated in the datastores.
20+
- Granule translation (db/src/granules.ts) now supports removing null/undefined fields when converting from API to Postgres
21+
granule formats.
22+
- Update granule write logic: if a `null` files key is provided in an update payload (e.g. `files: null`),
23+
an error will be thrown. `null` files were not previously supported and would throw potentially unclear errors. This makes the error clearer and more explicit.
24+
- Update granule write logic: If an empty array is provided for the `files` key, all files will be removed in all datastores
25+
- **CUMULUS-2971**
26+
- Updated `@cumulus/aws-client/S3ObjectStore` class to take string query parameters and
27+
its methods `signGetObject` and `signHeadObject` to take parameter presignOptions
28+
- **CUMULUS-2557**
29+
- Updated `@cumulus/aws-client/S3/moveObject` to handle zero byte files (0 byte files).
30+
- **CUMULUS-3021**
31+
- Updated `@cumulus/api-client/collections` and `@cumulus/integration-tests/api` to encode
32+
collection version in the URI path
33+
934
## [v12.0.2] 2022-08-10 [BACKPORT]
1035

1136
### Notable Changes
@@ -15,6 +40,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
1540
`cumulus_id`. Previous logic removed files by matching `file.cumulus_id`
1641
to `granule.cumulus_id`.
1742

43+
### Changed
44+
45+
- **CUMULUS-3027**
46+
- Pinned typescript to ~4.7.x to address typing incompatibility issues
47+
discussed in https://github.com/knex/knex/pull/5279
48+
- Update generate-ts-build-cache script to always install root project dependencies
1849
## [v12.0.1] 2022-07-18
1950

2051
- **CUMULUS-2995**
@@ -5932,7 +5963,8 @@ Note: There was an issue publishing 1.12.0. Upgrade to 1.12.1.
59325963

59335964
## [v1.0.0] - 2018-02-23
59345965

5935-
[unreleased]: https://github.com/nasa/cumulus/compare/v12.0.2...HEAD
5966+
[unreleased]: https://github.com/nasa/cumulus/compare/v12.0.3...HEAD
5967+
[v12.0.3]: https://github.com/nasa/cumulus/compare/v12.0.2...v12.0.3
59365968
[v12.0.2]: https://github.com/nasa/cumulus/compare/v12.0.1...v12.0.2
59375969
[v12.0.1]: https://github.com/nasa/cumulus/compare/v12.0.0...v12.0.1
59385970
[v12.0.0]: https://github.com/nasa/cumulus/compare/v11.1.0...v12.0.0

bamboo/generate-ts-build-cache.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@ if [[ $USE_CACHED_BOOTSTRAP == true ]]; then
2727
git checkout "$GIT_SHA"
2828
else
2929
CURRENT_WORKING_DIR=$(pwd)
30-
npm install
3130
fi
3231

32+
npm install
33+
3334
# Bootstrap to install/link packages
3435
npm run ci:bootstrap-no-scripts
3536

bamboo/select-stack.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ function determineIntegrationTestStackName(cb) {
1515
if (branch === 'master') return cb('cumulus-source');
1616

1717
const stacks = {
18+
'Charles Huang': 'ch-ci-tf',
1819
'Jenny Liu': 'jl-rds',
1920
jennyhliu: 'jl-rds',
2021
kkelly51: 'kk2',

docs/data-cookbooks/cnm-workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ The following are steps that are required to set up your Cumulus instance to run
7171

7272
In this example, we're going to trigger a workflow by creating a Kinesis rule and sending a record to a Kinesis stream.
7373

74-
The following [workflow definition](workflows/README.md) should be added to a new `.tf` workflow resource (e.g. `cnm_workflow.tf`) in your deployment directory. For the complete CNM workflow example, see [examples/cumulus-tf/kinesis_trigger_test_workflow.tf](https://github.com/nasa/cumulus/blob/master/example/cumulus-tf/kinesis_trigger_test_workflow.tf).
74+
The following [workflow definition](workflows/README.md) should be added to a new `.tf` workflow resource (e.g. `cnm_workflow.tf`) in your deployment directory. For the complete CNM workflow example, see [examples/cumulus-tf/cnm_workflow.tf](https://github.com/nasa/cumulus/blob/master/example/cumulus-tf/cnm_workflow.tf).
7575

7676
Add the following to the new terraform file in your deployment directory, updating the following:
7777

example/cumulus-tf/cnm_response_task.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
locals {
2-
cnm_response_version = "2.0.2"
2+
cnm_response_version = "2.0.3"
33
cnm_response_filename = "cnmResponse-${local.cnm_response_version}.zip"
44
}
55

example/cumulus-tf/cnm_to_cma_task.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
locals {
2-
cnm_to_cma_version = "1.5.3"
2+
cnm_to_cma_version = "1.5.4"
33
cnm_to_cma_filename = "cnmToGranule-${local.cnm_to_cma_version}.zip"
44
}
55

example/cumulus-tf/kinesis_trigger_test_workflow.asl.json renamed to example/cumulus-tf/cnm_workflow.asl.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"Comment": "Tests Workflow from Kinesis Stream",
2+
"Comment": "Tests CNM workflow",
33
"StartAt": "TranslateMessage",
44
"States": {
55
"TranslateMessage": {
@@ -380,7 +380,7 @@
380380
"distribution_endpoint": "{$.meta.distribution_endpoint}",
381381
"response-endpoint": "{$.meta.cnmResponseStream}",
382382
"region": "us-east-1",
383-
"type": "kinesis",
383+
"type": "{$.meta.cnmResponseMethod}",
384384
"WorkflowException": "{$.exception}",
385385
"cumulus_message": {
386386
"outputs": [
@@ -434,7 +434,7 @@
434434
"OriginalCNM": "{$.meta.cnm}",
435435
"response-endpoint": "{$.meta.cnmResponseStream}",
436436
"region": "us-east-1",
437-
"type": "kinesis",
437+
"type": "{$.meta.cnmResponseMethod}",
438438
"WorkflowException": "{$.exception}",
439439
"cumulus_message": {
440440
"outputs": [

example/cumulus-tf/kinesis_trigger_test_workflow.tf renamed to example/cumulus-tf/cnm_workflow.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module "kinesis_trigger_test_workflow" {
1+
module "cnm_workflow" {
22
depends_on = [
33
aws_lambda_function.cnm_response_task,
44
aws_lambda_function.cnm_to_cma_task
@@ -7,13 +7,13 @@ module "kinesis_trigger_test_workflow" {
77
source = "../../tf-modules/workflow"
88

99
prefix = var.prefix
10-
name = "KinesisTriggerTest"
10+
name = "CNMExampleWorkflow"
1111
workflow_config = module.cumulus.workflow_config
1212
system_bucket = var.system_bucket
1313
tags = local.tags
1414

1515
state_machine_definition = templatefile(
16-
"${path.module}/kinesis_trigger_test_workflow.asl.json",
16+
"${path.module}/cnm_workflow.asl.json",
1717
{
1818
cnm_to_cma_task_arn: aws_lambda_function.cnm_to_cma_task.arn,
1919
cnm_response_task_arn: aws_lambda_function.cnm_response_task.arn,

example/cumulus-tf/main.tf

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -162,20 +162,17 @@ module "cumulus" {
162162
# Archive API settings
163163
token_secret = var.token_secret
164164
archive_api_users = [
165-
"aortega527",
165+
"chuang14",
166+
"ds_jennifertran",
166167
"jasmine",
167168
"jennyhliu",
168169
"jmccoy_uat",
169-
"kbaynes",
170170
"kkelly",
171171
"kovarik",
172-
"lfrederick",
173-
"matthewsavoie",
174-
"mboyd",
175172
"menno.vandiermen",
176173
"mobrien84",
177-
"npauzenga",
178-
"ds_jennifertran"
174+
"nnageswa",
175+
"npauzenga"
179176
]
180177
archive_api_url = var.archive_api_url
181178
archive_api_port = var.archive_api_port
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"duplicateHandling": "replace",
3+
"files": [
4+
{
5+
"bucket": "protected",
6+
"regex": "^ascat_[0-9]{8}_[0-9]{6}_metopb_[0-9]{5}_eps_o_coa_[0-9]{4}_ovw\\.l2\\.nc$",
7+
"sampleFileName": "ascat_20121029_010301_metopb_00588_eps_o_coa_2101_ovw.l2.nc",
8+
"type": "data"
9+
},
10+
{
11+
"bucket": "private",
12+
"regex": "^ascat_[0-9]{8}_[0-9]{6}_metopb_[0-9]{5}_eps_o_coa_[0-9]{4}_ovw\\.l2.*\\.cmr\\.json$",
13+
"sampleFileName": "ascat_20121029_010301_metopb_00588_eps_o_coa_2101_ovw.l2.cmr.json",
14+
"type": "metadata"
15+
},
16+
{
17+
"bucket": "protected",
18+
"regex": "^ascat_[0-9]{8}_[0-9]{6}_metopb_[0-9]{5}_eps_o_coa_[0-9]{4}_ovw\\.l2\\.nc\\.dmrpp$",
19+
"sampleFileName": "ascat_20121029_010301_metopb_00588_eps_o_coa_2101_ovw.l2.nc.dmrpp",
20+
"type": "metadata"
21+
}
22+
],
23+
"granuleId": "^ascat_[0-9]{8}_[0-9]{6}_metopb_[0-9]{5}_eps_o_coa_[0-9]{4}_ovw\\.l2$",
24+
"granuleIdExtraction": "^(.*)(\\.nc|\\.cmr)",
25+
"meta": {
26+
"granuleMetadataFileExtension": ".cmr.json"
27+
},
28+
"name": "ASCATB-L2-Coastal",
29+
"sampleFileName": "ascat_20121029_010301_metopb_00588_eps_o_coa_2101_ovw.l2.nc",
30+
"url_path": "{cmrMetadata.CollectionReference.ShortName}",
31+
"version": "Operational/Near-Real-Time"
32+
}

0 commit comments

Comments
 (0)