@cumulus/test-data
Advanced tools
Changelog
[v1.10.3] - 2018-10-31
docs/docs-how-to.md
to outline how to do things like add new docs or locally install for testing.@cumulus/common/aws
:
aws.s3TagSetToQueryString
: converts S3 TagSet array to querystring (for use with upload()).aws.s3PutObject
: Returns promise of S3 putObject
, which puts an object on S3aws.s3CopyObject
: Returns promise of S3 copyObject
, which copies an object in S3 to a new S3 locationaws.s3GetObjectTagging
: Returns promise of S3 getObjectTagging
, which returns an object containing an S3 TagSet.@/cumulus/common/aws.s3PutObject
defaults to an explicit ACL
of 'private' if not overridden.@/cumulus/common/aws.s3CopyObject
defaults to an explicit TaggingDirective
of 'COPY' if not overridden.@cumulus/ingest/aws.S3
. Member functions of this class will now
log warnings pointing to similar functionality in @cumulus/common/aws
.Changelog
[v1.10.2] - 2018-10-24
CUMULUS-965
@cumulus/logger
packageCUMULUS-885
CUMULUS-705
@cumulus/api
package@cumulus/api
package, which can
be used to fetch the status of an AsyncOperation.@cumulus/api
package, which performs an
asynchronous bulk-delete operation. This is a stub right now which is only
intended to demonstration how AsyncOperations work.@cumulus/api
package, which will
fetch an Lambda function, run it in ECS, and then store the result to the
AsyncOperations table in DynamoDB.CUMULUS-851 - Added workflow lambda versioning feature to allow in-flight workflows to use lambda versions that were in place when a workflow was initiated
customCompilation
template configuration flag to indicate a template should use Cumulus's kes customized methods instead of 'core'.useWorkflowLambdaVersions
configuration option to enable the lambdaVersioning feature set. This option is set to true by default and should be set to false to disable the feature.LambdaVersions
stack that will take lambda parameters from the base template, generate lambda versions/aliases and return outputs with references to the most 'current' lambda alias reference, and updated 'core' template to utilize these outputs (if useWorkflowLambdaVersions
is enabled).Created a @cumulus/api/lib/OAuth2
interface, which is implemented by the
@cumulus/api/lib/EarthdataLogin
and @cumulus/api/lib/GoogleOAuth2
classes.
Endpoints that need to handle authentication will determine which class to use
based on environment variables. This also greatly simplifies testing.
Added @cumulus/api/lib/assertions
, containing more complex AVA test assertions
Added PublishGranule workflow to publish a granule to CMR without full reingest. (ingest-in-place capability)
@cumulus/integration-tests
new functionality:
listCollections
to list collections from a provided data directorydeleteCollection
to delete list of collections from a deployed stackcleanUpCollections
combines the above in one function.listProviders
to list providers from a provided data directorydeleteProviders
to delete list of providers from a deployed stackcleanUpProviders
combines the above in one function.@cumulus/integrations-tests/api.js
: deleteGranule
and deletePdr
functions to make DELETE
requests to Cumulus APIrules
API functionality for posting and deleting a rule and listing all ruleswait-for-deploy
lambda for use in the redeployment tests@cumulus/ingest/granule.js
: ingestFile
inserts new duplicate_found: true
field in the file's record if a duplicate file already exists on S3.
@cumulus/api
: /execution-status
endpoint requests and returns complete execution output if execution output is stored in S3 due to size.
Added option to use environment variable to set CMR host in @cumulus/cmrjs
.
CUMULUS-781 - Added integration tests for @cumulus/sync-granule
when duplicateHandling
is set to replace
or skip
CUMULUS-791 - @cumulus/move-granules
: moveFileRequest
inserts new duplicate_found: true
field in the file's record if a duplicate file already exists on S3. Updated output schema to document new duplicate_found
field.
@cumulus/common/fake-earthdata-login-server
. Tests can now create a
service stub based on @cumulus/api/lib/OAuth2
if testing requires handling
authentication.@cumulus/common/aws
receiveSQSMessages
to take a parameter object instead of positional parameters. All defaults remain the same, but now access to long polling is available through options.waitTimeSeconds
.CNMToCMA
and CnmResponse
in the cumulus-data-shared
bucket and point the default stack to them.@cumulus/sync-granule
task and Granule.ingestFile
in @cumulus/ingest
to keep both old and new data when a destination file with different checksum already exists and duplicateHandling
is version
@cumulus/move-granules
to include the moveStagedFiles
param.@cumulus/sync-granule
to include duplicateHandling
parameter for specifying how duplicate filenames should be handled@cumulus/sync-granule
to throw DuplicateFile
error when destination files already exist and duplicateHandling
is error
@cumulus/sync-granule
to use error
as the default for duplicateHandling
when it is not specified@cumulus/api
to use error
as the default value for duplicateHandling
in the Collection
model@cumulus/move-granules
to include duplicateHandling
parameter for specifying how duplicate filenames should be handled@cumulus/move-granules
to throw DuplicateFile
error when destination files already exist and duplicateHandling
is error
or not specified@cumulus/move-granules
to keep both old and new data when a destination file with different checksum already exists and duplicateHandling
is version
getGranuleId
in @cumulus/ingest
bug: getGranuleId
was constructing an error using filename
which was undefined. The fix replaces filename
with the uri
argument.del
in @cumulus/api/endpoints/granules.js
to not error/fail when not all files exist in S3 (e.g. delete granule which has only 2 of 3 files ingested).@cumulus/deployment/lib/crypto.js
now checks for private key existence properly.Changelog
[v1.10.1] - 2018-09-4
@cumulus/deployment/
Changelog
[v1.10.0] - 2018-08-31
@cumulus/common
@cumulus/common/test-helpers
@cumulus/common/task
@cumulus/common/message-source
getPossiblyRemote
function from @cumulus/common/aws
startPromisedSfnExecution
function from @cumulus/common/aws
getCurrentSfnTask
function from @cumulus/common/aws
@cumulus/sync-granule
, 'collection' is now an optional config parameter@cumulus/move-granules
and @cumulus/post-to-cmr
to @cumulus/ingest
. Fixed imports making assumptions about directory structure.@cumulus/ingest/consumer
correctly limits the number of messages being received and processed from SQS. Details:
@cumulus/api
includes a lambda <stack-name>-sqs2sf
which processes messages from the <stack-name>-startSF
SQS queue every minute. The sqs2sf
lambda uses @cumulus/ingest/consumer
to receive and process messages from SQS.messageLimit
number of messages were being consumed and processed from the <stack-name>-startSF
SQS queue. Many step functions were being triggered simultaneously by the lambda <stack-name>-sqs2sf
(which consumes every minute from the startSF
queue) and resulting in step function failure with the error: An error occurred (ThrottlingException) when calling the GetExecutionHistory
.@cumulus/ingest/consumer#processMessages
now processes messages until timeLimit
has passed OR once it receives up to messageLimit
messages. sqs2sf
is deployed with a default messageLimit
of 10.consumer
will actually process up to messageLimit * 2 - 1
messages. This is because sometimes receiveSQSMessages
will return less than messageLimit
messages and thus the consumer will continue to make calls to receiveSQSMessages
. For example, given a messageLimit
of 10 and subsequent calls to receiveSQSMessages
returns up to 9 messages, the loop will continue and a final call could return up to 10 messages.Changelog
[v1.9.1] - 2018-08-22
Please Note To take advantage of the added granule tracking API functionality, updates are required for the message adapter and its libraries. You should be on the following versions:
cumulus-message-adapter
1.0.9+cumulus-message-adapter-js
1.0.4+cumulus-message-adapter-java
1.2.7+cumulus-message-adapter-python
1.0.5+@cumulus/api
. Added integration test.@cumulus/deployment
supports a configurable docker storage driver for ECS. ECS can be configured with either devicemapper
(the default storage driver for AWS ECS-optimized AMIs) or overlay2
(the storage driver used by the NGAP 2.0 AMI). The storage driver can be configured in app/config.yml
with ecs.docker.storageDriver: overlay2 | devicemapper
. The default is overlay2
.
ifEquals
was added to packages/deployment/lib/kes.js
.@cumulus/api
added IAM roles required by the NGAP 2.0 AMI. The NGAP 2.0 AMI runs a script register_instances_with_ssm.py
which requires the ECS IAM role to include ec2:DescribeInstances
and ssm:GetParameter
permissions.@cumulus/deployment
uses overlay2
driver by default and does not attempt to write --storage-opt dm.basesize
to fix this error.@cumulus/api/lambdas.yml
@cumulus/api
@cumulus/api
executions endpoint under new tasks
property, and under workflow_tasks
in step input/output.
cumulus-message-adapter
1.0.9+, cumulus-message-adapter-js
1.0.4+, cumulus-message-adapter-java
1.2.7+ and cumulus-message-adapter-python
1.0.5+@cumulus/integration-tests
to handle remote lambda outputstate
to have default value ENABLED
@cumulus/deployment
, changed the example app config.yml to have additional IAM rolesChangelog
[v1.9.0] - 2018-08-06
Please note additional information and upgrade instructions here
@cumulus/deployment
@cumulus/deployment
and @cumulus/api
Changelog
[v1.8.1] - 2018-08-01
Note IAM roles should be re-deployed with this release.
@cumulus/integration-tests
: sfnStep
includes getStepInput
which returns the input to the schedule event of a given step function step.@cumulus/deployment
: Lambda processing IAM role includes kinesis::PutRecord
so step function lambdas can write to kinesis streams.@cumulus/api
. Refactored token endpoint to use environment variable flag OAUTH_PROVIDER
when determining with authentication method to use.api_lambda_memory
to @cumulus/api
and @cumulus/deployment
.@cumulus/api
: models/rules.js#addKinesisEventSource
was modified to call to deleteKinesisEventSource
with all required parameters (rule's name, arn and type).@cumulus/integration-tests
: getStepOutput
can now be used to return output of failed steps. If users of this function want the output of a failed event, they can pass a third parameter eventType
as 'failure'
. This function will work as always for steps which completed successfully.Cumulus-726
@cumulus/deployment
: Removed default auto scaling configuration for Granules and Files DynamoDB tables.CUMULUS-688
@cumulus/integration-tests
: api
includes getExecutionStatus
which returns the execution status from the Cumulus APIChangelog
[v1.7.1] - 2018-07-27 - [BACKPORT]
Changelog
[v1.8.0] - 2018-07-23
CUMULUS-718 Adds integration test for Kinesis triggering a workflow.
GITC-776-3 Added more flexibility for rules. You can now edit all fields on the rule's record We may need to update the api documentation to reflect this.
CUMULUS-681 - Add ingest-in-place action to granules endpoint
CUMULUS-685 - Add parent exeuction arn to the execution which is triggered from a parent step function