Story #17535

Jenkins step to test provision.sh + salt formula

Added by Peter Amstutz 5 months ago. Updated 15 days ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Deployment
Target version:
Start date:
05/03/2021
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Story points:
-

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


Subtasks

Task #17542: Review #17535 commit 84e52fd52, branch 17535-test-provision-jenkinsResolvedJavier Bértoli

Task #17633: 5.5 Test installer formula/provision scripts with RC packagesResolved

Task #17634: 14.5 Publish formula/provision.sh tied to releaseResolved


Related issues

Blocked by Arvados - Bug #17990: [deployment][arvados-formula] ubuntu 18.04 needs to install using rvm for api and workbenchResolved08/13/2021

Associated revisions

Revision ce121896
Added by Javier Bértoli about 1 month ago

Merge branch '17535-test-provision-jenkins'

refs #17535
Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <>

Revision dfbe77a3 (diff)
Added by Javier Bértoli about 1 month ago

Debian/Ubuntu: os-release has an extra string to remove

refs #17535
Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <>

Revision 6d4bb529 (diff)
Added by Javier Bértoli about 1 month ago

Only add Debian's backport in Debian images

refs #17535
Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <>

Revision 7b53343d (diff)
Added by Javier Bértoli about 1 month ago

Use apt-get instead of apt so debian/ubuntu don't complain

refs #17535
Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <>

Revision 6f62736f (diff)
Added by Javier Bértoli about 1 month ago

Fix nginx_passenger parameters for Centos-7 and Ubuntu-18.04

refs #17535
Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <>

Revision d3b76845
Added by Javier Bértoli 29 days ago

Merge branch '17535-test-provision-jenkins'

closes #17535
Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <>

Revision 5cd4453b (diff)
Added by Javier Bértoli 18 days ago

Fix nginx_passenger parameters for Centos-7 and Ubuntu-18.04

refs #17535
Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <>

Revision d65a2758 (diff)
Added by Javier Bértoli 18 days ago

Fix nginx_passenger parameters for Centos-7 and Ubuntu-18.04

refs #17535
Arvados-DCO-1.1-Signed-off-by: Javier Bértoli <>

History

#1 Updated by Peter Amstutz 5 months ago

  • Description updated (diff)

#2 Updated by Peter Amstutz 5 months ago

  • Assigned To set to Javier Bértoli

#3 Updated by Javier Bértoli 5 months ago

  • Status changed from New to In Progress

#4 Updated by Javier Bértoli 5 months ago

  • 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.

#5 Updated by Javier Bértoli 5 months ago

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

#6 Updated by Peter Amstutz 5 months ago

  • Target version changed from 2021-04-28 bughunt sprint to 2021-05-12 sprint

#7 Updated by Javier Bértoli 5 months ago

The jenkins run is failing because the job is misconfigured:

#8 Updated by Javier Bértoli 5 months ago

Fixed the development run (sed regex issue in the job configuration), rerun latest and passed

#9 Updated by Peter Amstutz 4 months ago

  • Target version changed from 2021-05-12 sprint to 2021-05-26 sprint

#10 Updated by Peter Amstutz 4 months ago

  • Target version changed from 2021-05-26 sprint to 2021-06-09 sprint

#11 Updated by Peter Amstutz 3 months ago

  • Target version changed from 2021-06-09 sprint to 2021-06-23 sprint

#12 Updated by Peter Amstutz 3 months ago

  • Target version changed from 2021-06-23 sprint to 2021-07-07 sprint

#13 Updated by Peter Amstutz 2 months ago

  • Target version changed from 2021-07-07 sprint to 2021-07-21 sprint

#14 Updated by Peter Amstutz about 2 months ago

  • Target version changed from 2021-07-21 sprint to 2021-08-04 sprint

#15 Updated by Javier Bértoli about 2 months ago

#16 Updated by Peter Amstutz about 2 months ago

  • Description updated (diff)

#17 Updated by Peter Amstutz about 1 month ago

  • Target version changed from 2021-08-04 sprint to 2021-08-18 sprint

#18 Updated by Javier Bértoli about 1 month ago

  • Blocked by Bug #17990: [deployment][arvados-formula] ubuntu 18.04 needs to install using rvm for api and workbench added

#19 Updated by Javier Bértoli about 1 month ago

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.

#20 Updated by Javier Bértoli about 1 month ago

Added the jobs to the "release pipeline"

#21 Updated by Javier Bértoli about 1 month ago

  • Status changed from In Progress to Feedback

#22 Updated by Javier Bértoli about 1 month ago

84e52fd52, branch 17535-test-provision-jenkins

#23 Updated by Javier Bértoli about 1 month ago

  • Status changed from Feedback to In Progress

#24 Updated by Peter Amstutz about 1 month ago

  • Target version changed from 2021-08-18 sprint to 2021-09-01 sprint

#25 Updated by Ward Vandewege 30 days ago

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.

#26 Updated by Javier Bértoli 29 days ago

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?

#27 Updated by Javier Bértoli 29 days ago

  • % Done changed from 33 to 100
  • Status changed from In Progress to Resolved

#28 Updated by Javier Bértoli 28 days ago

  • Status changed from Resolved to In Progress

Merged. It's working

#29 Updated by Peter Amstutz 17 days ago

  • Target version changed from 2021-09-01 sprint to 2021-09-15 sprint

#30 Updated by Javier Bértoli 16 days ago

  • Status changed from In Progress to Resolved

Also available in: Atom PDF