Skip to content

Releases: nasa/cumulus

v1.7.0

02 Jul 21:51
Compare
Choose a tag to compare

Please note: Upgrade Instructions

Added

  • CUMULUS-491 - Add granule reconciliation API endpoints.
  • CUMULUS-480 Add suport for backup and recovery:
    • Add DynamoDB tables for granules, executions and pdrs
    • Add ability to write all records to S3
    • Add ability to download all DynamoDB records in form json files
    • Add ability to upload records to DynamoDB
    • Add migration scripts for copying granule, pdr and execution records from ElasticSearch to DynamoDB
    • Add IAM support for batchWrite on dynamoDB
  • CUMULUS-508 - @cumulus/deployment cloudformation template allows for lambdas and ECS clusters to have multiple AZ availability.
    • @cumulus/deployment also ensures docker uses devicemapper storage driver.

Fixed

  • CUMULUS-747 - Delete granule API doesn't delete granule files in s3 and granule in elasticsearch
    • update the StreamSpecification DynamoDB tables to have StreamViewType: "NEW_AND_OLD_IMAGES"
    • delete granule files in s3
  • CUMULUS-398 - Fix not able to filter executions bu workflow
  • CUMULUS-544 - Post to CMR task has UAT URL hard-coded
    • Made configurable: PostToCmr now requires CMR_ENVIRONMENT env to be set to 'SIT' or 'OPS' for those CMR environments. Default is UAT.

v1.6.0

07 Jun 20:28
Compare
Choose a tag to compare

Please note: Upgrade Instructions

Fixed

  • CUMULUS-602 - Format all logs sent to Elastic Search.
    • Extract cumulus log message and index it to Elastic Search.

Added

  • CUMULUS-556 - add a mechanism for creating and running migration scripts on deployment.
  • CUMULUS-461 Support use of metadata date and other components in url_path property

Changed

  • CUMULUS-477 Update bucket configuration to support multiple buckets of the same type:
    • Change the structure of the buckets to allow for more than one bucket of each type. The bucket structure is now:
      bucket-key:
      name:
      type: i.e. internal, public, etc.
    • Change IAM and app deployment configuration to support new bucket structure
    • Update tasks and workflows to support new bucket structure
    • Replace instances where buckets.internal is relied upon to either use the system bucket or a configured bucket
    • Move IAM template to the deployment package. NOTE: You now have to specify '--template node_modules/@cumulus/deployment/iam' in your IAM deployment
    • Add IAM cloudformation template support to filter buckets by type

1.5.5

01 Jun 15:30
Compare
Choose a tag to compare

Added

  • CUMULUS-530 - PDR tracking through Queue-granules
    • Add optional pdr property to the sync-granule task's input config and output payload.
  • CUMULUS-548 - Create a Lambda task that generates EMS distribution reports
    • In order to supply EMS Distribution Reports, you must enable S3 Server
      Access Logging on any S3 buckets used for distribution. See How Do I Enable Server Access Logging for an S3 Bucket?
      The "Target bucket" setting should point at the Cumulus internal bucket.
      The "Target prefix" should be
      "<STACK_NAME>/ems-distribution/s3-server-access-logs/", where "STACK_NAME"
      is replaced with the name of your Cumulus stack.

Fixed

  • CUMULUS-546 - Kinesis Consumer should catch and log invalid JSON
    • Kinesis Consumer lambda catches and logs errors so that consumer doesn't get stuck in a loop re-processing bad json records.
  • EMS report filenames are now based on their start time instead of the time
    instead of the time that the report was generated

1.5.4

22 May 20:42
Compare
Choose a tag to compare

Added

  • CUMULUS-535 - EMS Ingest, Archive, Archive Delete reports
    • Add lambda EmsReport to create daily EMS Ingest, Archive, Archive Delete reports
    • ems.provider property added to @cumulus/deployment/app/config.yml.
      To change the provider name, please add ems: provider property to app/config.yml.

1.5.3

18 May 20:04
Compare
Choose a tag to compare

Fixed

  • CUMULUS-557 - "Add dataType to DiscoverGranules output"
    • Granules discovered by the DiscoverGranules task now include dataType
    • dataType is now a required property for granules used as input to the
      QueueGranules task
  • CUMULUS-550 Update deployment app/config.yml to force elasticsearch updates for deleted granules

1.5.2

15 May 20:18
Compare
Choose a tag to compare

Fixed

  • CUMULUS-514 - "Unable to Delete the Granules"
    • updated cmrjs.deleteConcept to return success if the record is not found
      in CMR.

Added

  • CUMULUS-547 - The distribution API now includes an
    "earthdataLoginUsername" query parameter when it returns a signed S3 URL
  • CUMULUS-527 - "parse-pdr queues up all granules and ignores regex"
    • Add an optional config property to the ParsePdr task called
      "granuleIdFilter". This property is a regular expression that is applied
      against the filename of the first file of each granule contained in the
      PDR. If the regular expression matches, then the granule is included in
      the output. Defaults to '.', which will match all granules in the PDR.
  • File checksums in PDRs now support MD5
  • Deployment support to subscribe to an SNS topic that already exists
  • CUMULUS-470, CUMULUS-471 In-region S3 Policy lambda added to API to
    update bucket policy for in-region access.
  • CUMULUS-533 Added fields to granule indexer to support EMS ingest and
    archive record creation
  • You can now deploy cumulus without ElasticSearch. Just add es: null to
    your app/config.yml file. This is only useful for debugging purposes.
    Cumulus still requires ElasticSearch to properly operate.
  • @cumulus/integration-tests includes and exports the addRules function,
    which seeds rules into the DynamoDB table.
  • CUMULUS-534 Track deleted granules
    • added deletedgranule type to cumulus index.
    • Important Note: Force custom bootstrap to re-run by adding this to
      app/config.yml es: elasticSearchMapping: 7 or use Cumulus 1.5.3 to skip this step
  • Added capability to support EFS in cloud formation template. Also added
    optional capability to ssh to your instance and privileged lambda functions.
  • Added support to force discovery of PDRs that have already been processed
    and filtering of selected data types
  • @cumulus/cmrjs uses an environment variable USER_IP_ADDRESS or fallback
    IP address of 10.0.0.0 when a public IP address is not available. This
    supports lambda functions deployed into a VPC's private subnet, where no
    public IP address is available.

Changed

  • CUMULUS-550 Custom bootstrap automatically adds new types to index on
    deployment

v1.5.1

24 Apr 00:01
Compare
Choose a tag to compare

Fixed

v1.5.0

23 Apr 17:51
Compare
Choose a tag to compare

Changed

  • Removed babel from all tasks and packages and increased minimum node requirements to version 8.10
  • Lambda functions created by @cumulus/deployment will use node8.10 by default
  • Moved cumulus-integration-tests to the example folder CUMULUS-512
  • Streamlined all packages dependencies (e.g. remove redundant dependencies and make sure versions are the same across packages)
  • CUMULUS-352: Update Cumulus Elasticsearch indices to use index aliases.
  • CUMULUS-519: ECS tasks are no longer restarted after each CF deployment unless ecs.restartTasksOnDeploy is set to true
  • CUMULUS-298: Updated log filterPattern to include all CloudWatch logs in ElasticSearch
  • CUMULUS-518: Updates to the SyncGranule config schema
    • granuleIdExtraction is no longer a property
    • process is now an optional property
    • provider_path is no longer a property

Fixed

  • CUMULUS-455 "Kes deployments using only an updated message adapter do not get automatically deployed"
    • prepended the hash value of cumulus-message-adapter.zip file to the zip file name of lambda which uses message adapter.
    • the lambda function will be redeployed when message adapter or lambda function are updated
  • Fixed a bug in the bootstrap lambda function where it stuck during update process
  • Fixed a bug where the sf-sns-report task did not return the payload of the incoming message as the output of the task [CUMULUS-441]

Added

  • CUMULUS-352: Add reindex CLI to the API package.
  • CUMULUS-465: Added mock http/ftp/sftp servers to the integration tests
  • Added a delete method to the @common/CollectionConfigStore class
  • CUMULUS-467 "@cumulus/integration-tests or cumulus-integration-tests should seed provider and collection in deployed DynamoDB"
    • example integration-tests populates providers and collections to database
    • example workflow messages are populated from workflow templates in s3, provider and collection information in database, and input payloads. Input templates are removed.
    • added https protocol to provider schema

v1.4.1

11 Apr 16:25
Compare
Choose a tag to compare

Fixed

  • Sync-granule install

v1.4.0

11 Apr 14:46
Compare
Choose a tag to compare

Fixed

  • CUMULUS-392 "queue-granules not returning the sfn-execution-arns queued"
    • updated queue-granules to return the sfn-execution-arns queued and pdr if exists.
    • added pdr to ingest message meta.pdr instead of payload, so the pdr information doesn't get lost in the ingest workflow, and ingested granule in elasticsearch has pdr name.
    • fixed sf-sns-report schema, remove the invalid part
    • fixed pdr-status-check schema, the failed execution contains arn and reason
  • CUMULUS-206 make sure homepage and repository urls exist in package.json files of tasks and packages
  • CUMULUS-450
    • The queue-granules task now enqueues a sync-granule task with the
      correct collection config for that granule based on the granule's
      data-type. It had previously been using the collection config from the
      config of the queue-granules task, which was a problem if the granules
      being queued belonged to different data-types.
    • The parse-pdr task now handles the case where a PDR contains granules
      with different data types, and uses the correct granuleIdExtraction for
      each granule.

Changed

  • CUMULUS-450 - Updated the config schema of the queue-granules task
    • The config no longer takes a "collection" property
    • The config now takes an "internalBucket" property
    • The config now takes a "stackName" property
  • CUMULUS-450 - Updated the config schema of the parse-pdr task
    • The config no longer takes a "collection" property
    • The "stack", "provider", and "bucket" config properties are now
      required

Removed

  • Removed the findTmpTestDataDirectory() function from
    @cumulus/common/test-utils

Added

  • CUMULUS-448 Add code coverage checking using nyc.
  • CUMULUS-469 Added a lambda to the API package to prototype creating an S3 bucket policy for direct, in-region S3 access for the prototype bucket