Story #17535
closed
Jenkins step to test provision.sh + salt formula
Added by Peter Amstutz about 4 years ago.
Updated over 3 years ago.
Estimated time:
(Total: 0.00 h)
Release relationship:
Auto
Description
Somewhere in the Jenkins pipeline after development packages are built:
1) Spin up a Jenkins worker from a slim image (possibly multiple OS versions)
2) Run provision.sh / salt to install and configure Arvados on the worker
3) Run the diagnostics + smoke tests (hasher pipeline)
4) Report results
5) Shut everything down
- Description updated (diff)
- Assigned To set to Javier Bértoli
- Status changed from New to In Progress
- Subject changed from Jenkins step to test terraform + provision.sh + salt formula to Jenkins step to test provision.sh + salt formula
Added a test Saltstack arvados-formula pipeline, with multi-configuration matrix (to enable testing Debian and Centos if desired), using a tests-2.1
worker node.
The job:
- copies the 'single_host/multi_hostname' configuration examples
- copies the 'local.params' example and modifies it to be usable (same as the local Vagrant script does)
- runs the provision script
- runs the
runs-test.sh
script in the @arvados/tools/salt-install/tests' directory, which:
- verifies the SSL snake-oil certificates are in place
- creates the Arvados Standard Docker Images project
- uploads an
arvados/jobs
image to the project
- creates the initial user if it does not exist
- activates the user
- runs the
hasher-workflow.cwl
using the user's credentials
Run successfully an initial test with the current branch I'm testing for #17246
Still pending to add this job in one of the pipelines.
Added the job in the Arvados Build Pipeline, as a downstream job after build-packages-debian10 success.
Modified the "Execute Shell" step to:
- use the development release (so it the formula uses the
arvados-dev
repo)
- set VERSION to "latest" (so it picks the newest package in the repo
- Target version changed from 2021-04-28 bughunt sprint to 2021-05-12 sprint
The jenkins run is failing because the job is misconfigured:
Fixed the development run (sed regex issue in the job configuration), rerun latest and passed
- Target version changed from 2021-05-12 sprint to 2021-05-26 sprint
- Target version changed from 2021-05-26 sprint to 2021-06-09 sprint
- Target version changed from 2021-06-09 sprint to 2021-06-23 sprint
- Target version changed from 2021-06-23 sprint to 2021-07-07 sprint
- Target version changed from 2021-07-07 sprint to 2021-07-21 sprint
- Target version changed from 2021-07-21 sprint to 2021-08-04 sprint
- Description updated (diff)
- Target version changed from 2021-08-04 sprint to 2021-08-18 sprint
- Blocked by Bug #17990: [deployment][arvados-formula] ubuntu 18.04 needs to install using rvm for api and workbench added
All is working now
Added a multi-job pipeline, test-provision, which accepts two parameters:
- git_hash, arvados commit (as we do with all our other jobs) and
- ARVADOS_FORMULA_BRANCH, to pass the arvados-formula branch to pass to the provision.sh script.
This job launches
after "build-packages-multijob" completes successfully.
Added the jobs to the "release pipeline"
- Status changed from In Progress to Feedback
84e52fd52, branch 17535-test-provision-jenkins
- Status changed from Feedback to In Progress
- Target version changed from 2021-08-18 sprint to 2021-09-01 sprint
I'm wondering about the duplication of all those nginx sls files: there are three copies of each under `tools/salt-install/config_examples`, and another copy in the arvados-formula repo under `test/salt/pillar/examples`. I looked at some of the differences, I think there may be some room to make all copies more consistent with each other.
And maybe some trimming/consolidation is also in order. Anyway, none of that should block this, LGTM.
I had the same thoughts regarding duplication. I just hate it.
The examples in the formula are there for those that expect to use the formula without using the provision scripts.
And the duplication in the provision scripts are because each directory is self-contained and to simplify the deployment process, I suggested users just choose a configuration variant and copy the dir to a 'working dir'.
De-duplicating means we will not allow users to just 'copy the whole dir to a place, modify it and use it', unless we find an alternative way to do this?
- Status changed from In Progress to Resolved
- % Done changed from 33 to 100
- Status changed from Resolved to In Progress
- Target version changed from 2021-09-01 sprint to 2021-09-15 sprint
- Status changed from In Progress to Resolved
Also available in: Atom
PDF
Merge branch '17535-test-provision-jenkins'
refs #17535
Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <jbertoli@curii.com>