Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

atc: behaviour: unpausing archived pipelines fails #5351

Closed
wants to merge 5 commits into from

Commits on Mar 30, 2020

  1. atc: behaviour: add ArchivePipeline endpoint

    #5315
    
    Driving this change with tests had some pain points. We decided to work
    outside-in, starting with an ATC integration test. It was difficult to
    move from the outer TDD loop to the inner - I was surprised by the
    number of seemingly-far-flung changes that were required to move from
    one failure to the next. These included:
    
    * adding an entry to the auditor to overcome a panic
    * modifying the `atc/api/present` package to link the DB entity to the
      API entity
    
    both of these things feel so easy to forget, and it might be nice if
    they could be described by a change in the same part of the codebase.
    
    Signed-off-by: Jamie Klassen <cklassen@pivotal.io>
    Co-authored-by: Bishoy Youssef <byoussef@pivotal.io>
    Co-authored-by: Aidan Oldershaw <aoldershaw@pivotal.io>
    3 people committed Mar 30, 2020
    Configuration menu
    Copy the full SHA
    ef631fe View commit details
    Browse the repository at this point in the history
  2. atc: behaviour: add flag to enable archive pipeline

    #5315 - as per
    #5346 (comment),
    the ability to archive pipelines is now behind an api flag
    `enable-archive-pipeline`.
    
    Signed-off-by: Aidan Oldershaw <aoldershaw@pivotal.io>
    Co-authored-by: James Thomson <jthomson@pivotal.io>
    aoldershaw and James Thomson committed Mar 30, 2020
    Configuration menu
    Copy the full SHA
    44d2670 View commit details
    Browse the repository at this point in the history
  3. atc: remove mig binary

    Not sure how that got in there!
    
    Signed-off-by: Aidan Oldershaw <aoldershaw@pivotal.io>
    aoldershaw committed Mar 30, 2020
    Configuration menu
    Copy the full SHA
    b404fbf View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2020

  1. api: add 401 test for archiving

    Specifically for the pipelines/:pipeline_name/archive endpoint
    
    Signed-off-by: Bishoy Youssef <byoussef@pivotal.io>
    Co-authored-by: Taylor Silva <tsilva@pivotal.io>
    YoussB and taylorsilva committed Apr 6, 2020
    Configuration menu
    Copy the full SHA
    99071ef View commit details
    Browse the repository at this point in the history
  2. atc: behaviour: unpausing archived pipelines fails

    #5316
    
    Rather than adding a concrete error type to check against, we elected to
    create an interface for our domain-specific error to satisfy - see:
    
    https://dave.cheney.net/2016/04/27/dont-just-check-errors-handle-them-gracefully
    
    Following the example of trigger-job we decided that 409 Conflict was the
    most logical http status to use to represent this kind of policy
    violation.
    
    We decided to add the `Conflict` interface to the `db` package because
    it seems there is no more-appropriate "business logic" or "policy" layer
    to place this kind of validation error. Since multiple backend members
    in the web node interact with pipelines directly via the database, it
    seems justified to place the business logic as close to that integration
    boundary as possible.
    
    Recent painful experiences with observability motivated the choice to
    treat logging more like a feature, and have unit tests that specifically
    require it.
    
    Signed-off-by: Aidan Oldershaw <aoldershaw@pivotal.io>
    Co-authored-by: Jamie Klassen <cklassen@pivotal.io>
    Signed-off-by: Aidan Oldershaw <aoldershaw@pivotal.io>
    2 people authored and YoussB committed Apr 6, 2020
    Configuration menu
    Copy the full SHA
    9ee4dfd View commit details
    Browse the repository at this point in the history