[FOLIO-2338] SPIKE: prepare a design for continuous folio-snapshot environment Created: 04/Nov/19  Updated: 03/Jun/20  Resolved: 15/Nov/19

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Task Priority: P2
Reporter: Jakub Skoczen Assignee: Ian Hardy
Resolution: Done Votes: 0
Labels: platform-backlog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Blocks
blocks FOLIO-2336 continuous folio-snapshot reference env Closed
Sprint: CP: sprint 76
Story Points: 5
Development Team: Core: Platform

 Description   

A SPIKE to prepare a design FOLIO-2336 Closed



 Comments   
Comment by Ian Hardy [ 08/Nov/19 ]

Added a proof of concept pipeline in Jenkins Automation/snapshot-core-k8s to build/update snapshot-core. Re-uses John Malconian's playbook/process from pr preview to deploy the tenant on kubernetes. Pipeline: https://github.com/folio-org/folio-infrastructure/blob/FOLIO-2388-kube-snapshot/CI/jenkins/Jenkinsfile.snapshot-k8s

Process:

  1. Clone latest platoform-core
  2. Build stripes and derive stripes-install.json and okapi-install.json files
  3. create a tenant called snapshot_core if it doesn't already exist
  4. post modules to /install endpoint (this will trigger an update if there are new versions of modules)

Note that okapi is not updated as part of the platform. Treating the existing okapi-default.ci.folio.org as part of infrastructure more than part of the snapshot version.

Assuming one of the uses of this is to work out migrations, we can assume this build will break when there are database schema changes in modules until migrations are implemented. Could have an option or another job to drop and purge the tenant when a reset is required.

Comment by Ian Hardy [ 13/Nov/19 ]

Results of this spike:

We'll create a folio-snapshot-core environment on kubernetes using the pipeline tested above. Instead of allowing upgrades, we'll delete the tenant and recreate it with each build (which can be done several times a day triggered by a timer). Recognizing that there may be a need to test migrations in CI, we could create a parameterized pipeline to update a specific module. When migrations are available for all modules, we can stop deleting the tenant for each build.

Generated at Thu Feb 08 23:19:56 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.