Uploaded image for project: 'Subscription Watch'
  1. Subscription Watch
  2. SWATCH-2820

Move the database creation out of the monolith

XMLWordPrintable

    • 5
    • False
    • Hide

      None

      Show
      None
    • True

      A new clowder service is created that only performs database maintenance. 

      This came up in a discussion of how to extract the contract service so that we could set up an IQE environment that only included the contract service and a minimal set of dependencies and it was uncovered that in order to deploy the export service we also had to deploy tally so that the database would be populated. 

      All other services depend on the DB migration service

      • Provide a way for contracts to have the database available that doesn't involve spinning up tally
      • Pulling the database out of the monolith. 
      • Clowder sequence deployments (dependencies)
      • Need to verify that if a migration fails then other services are not rolled out.
      • While swatch-contracts already has it's own liquibase, swatch-api also uses the subscriptions tables. This card gives us a clean way to isolate the db stuff until we can get all the calls proxied to their various microservices. 
      • Could also use liquibase commands to generate snapshot of the schema and put that in the individual services?  https://forum.liquibase.org/t/rebaseline-the-liquibase-changesets/2417

      Acceptance Criteria

      1. New Clowder 'swatch-database-migration' service is created that all other swatch services with a database depend on. 
      2. 'swatch-database-migration' service depends on 'swatch-tally-db' (the rds database itsefl)
      3. The only operation the service performs is to run the database migrations currently in tally
      4. If the service fails to update the database then other services do not get rolled to new versions

              awood1@redhat.com Alex Wood
              bcourt@redhat.com Barnaby Court
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: