Installer development process

The Arvados SaltStack based installer has two pieces:

  1. The provision script in https://git.arvados.org/arvados.git/tree/HEAD:/tools/salt-install
  2. The SaltStack formula at https://git.arvados.org/arvados-formula.git

Additionally, the documentation in https://git.arvados.org/arvados.git/tree/HEAD:/doc/install needs to be kept up to date.

Branches

  1. master - installer for current development packages.
  2. X.Y-dev - installer for X.Y release series (match the arvados branch name for that release series)

Process

Issues are created for installer bugs and features. Development takes place on feature branches in the formula and/or arvados repository, which are reviewed and merged into master and/or relevant X.Y-dev.

Releases

In the release branch, update these three variables in tools/tools/salt-install/provision.sh:

# For a stable release, change RELEASE "production" and VERSION to the
# package version of the release.
RELEASE="development" 
VERSION="latest" 

# The arvados-formula version.  For a stable release, change the tag
# or X.Y-dev branch of the release.
ARVADOS_TAG="master" 

Testing

Merge to arvados-formula master should trigger a jenkins jobs which

  • run formula linting / other checks
  • kicks off the single node installer with the new formula and current arvados master
  • runs tests to confirm a good install

Merge to arvados master should trigger a jenkins jobs which

  • after building packages, kicks off the single node installer with the current formula and new arvados master
  • runs tests to confirm a good install

It should also be possible to trigger the formula test directly with a explicitly specified commit hashes for both arvados and the formula.