Current Series Release Notes


New Features

  • Development mode has been added to Deckhand, allowing for the possibility of running Deckhand without Keystone. A new paste file has been added to etc/deckhand called noauth-paste.ini which excludes Keystone authentication. To run Deckhand in development mode, set development_mode as True in deckhand.conf. Note that Deckhand will expect to find noauth-paste.ini on the host with development_mode set as True in etc/deckhand/deckhand.conf.sample.
  • Adds a new endpoint to the Deckhand Validations API, GET /api/v1.0/{revision_id}/validations/detail, which allows for the possibility of listing all validations for a revision with details. The response body includes all details returned by retrieving validation details for a specific validation entry.
  • The oslo.policy framework has been integrated into Deckhand. All currently supported endpoints are covered by RBAC enforcement. All default policy rules are admin-only by default. The defaults can be overridden via a custom policy.yaml file.
  • Deckhand now supports the following filter arguments for filtering revision documents:

    • schema
    • metadata.label
    • metadata.layeringDefinition.abstract
    • metadata.layeringDefinition.layer
    • status.bucket

    Deckhand now supports the following filter arguments for filtering revisions:

    • tag
  • Deckhand now supports secret substitution for documents. The endpoint GET revisions/{revision_id}/rendered-documents has been added to Deckhand, which allows the possibility of listing fully substituted documents. Only documents with metadata.substitutions field undergo secret substitution dynamically.
  • The Validations API has been introduced to Deckhand, allowing users to register new validation results in Deckhand, as well as query the API for validation results for a revision. The validation results include a list of errors that occurred during document validation.

    The following endpoints have been implemented:

    • /api/v1.0/revisions/{revision_id}/validations
    • /api/v1.0/revisions/{revision_id}/validations/{validation_name}
    • /api/v1.0/revisions/{revision_id}/validations/{validation_name}/entries
    • /api/v1.0/revisions/{revision_id}/validations/{validation_name}/entries/{entry_id}

Bug Fixes

  • Deckhand will no longer throw an AttributeError after a yaml.scanner.ScannerError is raised when attempting to parse a malformed YAML document. Deckhand should now correctly raise a “400 Bad Request” instead.
  • Deckhand will allow only one document with the schema LayeringPolicy to exist in the system at a time. To update the existing layering policy, the layerign policy with the same name as the existing one should be passed in. To create a new layering policy, delete the existing one first.
  • Removed indentation rules E127, E128, E129 and E131 from pep8 exclusion.