Project

General

Profile

Actions

Idea #17535

closed

Jenkins step to test provision.sh + salt formula

Added by Peter Amstutz about 3 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Javier Bértoli
Category:
Deployment
Target version:
Story points:
-
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


Subtasks 3 (0 open3 closed)

Task #17542: Review #17535 commit 84e52fd52, branch 17535-test-provision-jenkinsResolvedJavier Bértoli08/13/2021Actions
Task #17633: 5.5 Test installer formula/provision scripts with RC packagesResolved05/03/2021Actions
Task #17634: 14.5 Publish formula/provision.sh tied to releaseResolved05/03/2021Actions

Related issues

Blocked by Arvados - Bug #17990: [deployment][arvados-formula] ubuntu 18.04 needs to install using rvm for api and workbenchResolvedJavier Bértoli08/13/2021Actions
Actions #1

Updated by Peter Amstutz about 3 years ago

  • Description updated (diff)
Actions #2

Updated by Peter Amstutz about 3 years ago

  • Assigned To set to Javier Bértoli
Actions #3

Updated by Javier Bértoli almost 3 years ago

  • Status changed from New to In Progress
Actions #4

Updated by Javier Bértoli almost 3 years 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.

Actions #5

Updated by Javier Bértoli almost 3 years 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
Actions #6

Updated by Peter Amstutz almost 3 years ago

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

Updated by Javier Bértoli almost 3 years ago

The jenkins run is failing because the job is misconfigured:

Actions #8

Updated by Javier Bértoli almost 3 years ago

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

Actions #9

Updated by Peter Amstutz almost 3 years ago

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

Updated by Peter Amstutz almost 3 years ago

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

Updated by Peter Amstutz almost 3 years ago

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

Updated by Peter Amstutz almost 3 years ago

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

Updated by Peter Amstutz almost 3 years ago

  • Target version changed from 2021-07-07 sprint to 2021-07-21 sprint
Actions #14

Updated by Peter Amstutz over 2 years ago

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

Updated by Javier Bértoli over 2 years ago

Actions #16

Updated by Peter Amstutz over 2 years ago

  • Description updated (diff)
Actions #17

Updated by Peter Amstutz over 2 years ago

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

Updated by Javier Bértoli over 2 years ago

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

Updated by Javier Bértoli over 2 years 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.

Actions #20

Updated by Javier Bértoli over 2 years ago

Added the jobs to the "release pipeline"

Actions #21

Updated by Javier Bértoli over 2 years ago

  • Status changed from In Progress to Feedback
Actions #22

Updated by Javier Bértoli over 2 years ago

84e52fd52, branch 17535-test-provision-jenkins

Actions #23

Updated by Javier Bértoli over 2 years ago

  • Status changed from Feedback to In Progress
Actions #24

Updated by Peter Amstutz over 2 years ago

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

Updated by Ward Vandewege over 2 years 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.

Actions #26

Updated by Javier Bértoli over 2 years 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?

Actions #27

Updated by Javier Bértoli over 2 years ago

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

Updated by Javier Bértoli over 2 years ago

  • Status changed from Resolved to In Progress

Merged. It's working

Actions #29

Updated by Peter Amstutz over 2 years ago

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

Updated by Javier Bértoli over 2 years ago

  • Status changed from In Progress to Resolved
Actions #31

Updated by Peter Amstutz over 2 years ago

  • Release set to 42
Actions

Also available in: Atom PDF