Bug #22778
closedSalt installer doesn't pin arvados packages when VERSION is set in local.params
Description
In addition to install the requested version, it should pin Arvados packages to it too, to avoid accidental upgrades. Not sure yet how to do this in RedHat based distros.
Updated by Lucas Di Pentima 12 months ago
- Status changed from New to In Progress
Updated by Lucas Di Pentima 11 months ago
22778-installer-pkgs-pin at 17dadc6997207e7797a9118af4b0754ea5d93b03 (arvados repo)
22778-installer-pkgs-pin at commit 761e1ce2ab129203b3394b665d7f25bd89f26807 (arvados-formula repo)
- test-provision requesting Arvados 3.1.1-1: test-provision: #1168
- You can confirm that it installs the
/etc/apt/preferences.d/arvadosfile.
- You can confirm that it installs the
- test-provision requesting Arvados latest (production): test-provision: #1169
(one sub-job failed because of temporary networking issues)
- You can confirm that it attempts to remove the file but reports "File /etc/apt/preferences.d/arvados is not present"
- All agreed upon points are implemented / addressed. Describe changes from pre-implementation design.
- Yes
- Anything not implemented (discovered or discussed during work) has a follow-up story.
- RedHat based distros not included in this branch
- Code is tested and passing, both automated and manual, what manual testing was done is described.
- Yes. I've also tested this by manually deploying a multi node cluster, changing the configuration from requesting a specific version to "latest" and confirming that the pin file is removed.
- New or changed UX/UX and has gotten feedback from stakeholders.
- N/A: The salt installer will automatically pin the versions when applicable, making reality more consistent with the expected behavior -- Arvados versions will be kept even when upgrading the OS when the syadmin request that.
- Documentation has been updated.
- N/A
- Behaves appropriately at the intended scale (describe intended scale).
- No changes in scale
- Considered backwards and forwards compatibility issues between client and server.
- N/A
- Follows our coding standards and GUI style guidelines.
- N/A
- Adds pinning file at
/etc/apt/preferences.d/arvadoswhen the new config knobpin_versionis set to true andversionis not 'latest' on Debian based distros. - When
pin_versionis false or the requestedversionis 'latest', it makes sure the package pin file is removed, so that an admin can go from requesting a particular version to latest without problems. - Makes the new preferences file a prerequisite of the Arvados package source file, to make sure it exists well before Arvados package installation/upgrade happens, to avoid confusing behavior.
- Adds the
pin_version: trueconfig to salt installer so that the new behavior is used whenever the Arvados version is specified inlocal.params - Updates the arvados-formula commit id to be used by the provision.sh script pointing to the new version (should update it again pointing to the final merge commit after review)
Updated by Brett Smith 11 months ago
Lucas Di Pentima wrote in #note-5:
22778-installer-pkgs-pin at 17dadc6997207e7797a9118af4b0754ea5d93b03 (arvados repo)
22778-installer-pkgs-pin at commit 761e1ce2ab129203b3394b665d7f25bd89f26807 (arvados-formula repo)
Two small things:
- Why do we need the separate
pin_versionvariable at all? Would it suffice to decide whether or not to install the pins based solely onarvados.version != 'latest'? - You should remove
*-cwltestfrom the pinned package list. This package was only meant for Curii to use for internal testing, it was never really meant to be user-facing, and we stopped packaging it as of 3.0.0. See the release notes.
Thanks.
Updated by Lucas Di Pentima 11 months ago
Brett Smith wrote in #note-6:
- Why do we need the separate
pin_versionvariable at all? Would it suffice to decide whether or not to install the pins based solely onarvados.version != 'latest'?
You're right, don't know why I did that in the first place. Fixed!
- You should remove
*-cwltestfrom the pinned package list. This package was only meant for Curii to use for internal testing, it was never really meant to be user-facing, and we stopped packaging it as of 3.0.0. See the release notes.
Thanks, fixed!
Updates at:
- Commit 6e56a882b7274ab9790af108ad801fd7e458f273 at the
arvados-formularepo - Commit b7ac87e634 at the
arvadosrepo
Tests:
- test-provision requesting 3.1.1-1: test-provision: #1170
- test-provision requesting latest from production: test-provision: #1171
Updated by Brett Smith 11 months ago
Lucas Di Pentima wrote in #note-7:
Updates at:
- Commit 6e56a882b7274ab9790af108ad801fd7e458f273 at the
arvados-formularepo- Commit b7ac87e634 at the
arvadosrepo
LGTM, thanks.
Updated by Anonymous 11 months ago
- Status changed from In Progress to Resolved
Applied in changeset arvados|fff60ce0dc3457583a1df2faf617b0fa83140476.