Project

General

Profile

Actions

Bug #22778

closed

Salt installer doesn't pin arvados packages when VERSION is set in local.params

Added by Lucas Di Pentima 12 months ago. Updated 6 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Deployment
Target version:
Story points:
-
Release relationship:
Auto

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.


Subtasks 1 (0 open1 closed)

Task #22807: Review 22778-installer-pkgs-pin (both arvados & arvados-formula repos)ResolvedBrett Smith04/25/2025Actions
Actions #2

Updated by Lucas Di Pentima 12 months ago

  • Status changed from New to In Progress
Actions #3

Updated by Peter Amstutz 11 months ago

  • Target version changed from Development 2025-04-16 to Development 2025-04-30
Actions #4

Updated by Peter Amstutz 11 months ago

  • Subtask #22807 added
Actions #5

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/arvados file.
  • 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/arvados when the new config knob pin_version is set to true and version is not 'latest' on Debian based distros.
  • When pin_version is false or the requested version is '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: true config to salt installer so that the new behavior is used whenever the Arvados version is specified in local.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)
Actions #6

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_version variable at all? Would it suffice to decide whether or not to install the pins based solely on arvados.version != 'latest'?
  • You should remove *-cwltest from 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.

Actions #7

Updated by Lucas Di Pentima 11 months ago

Brett Smith wrote in #note-6:

  • Why do we need the separate pin_version variable at all? Would it suffice to decide whether or not to install the pins based solely on arvados.version != 'latest'?

You're right, don't know why I did that in the first place. Fixed!

  • You should remove *-cwltest from 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-formula repo
  • Commit b7ac87e634 at the arvados repo

Tests:

Actions #8

Updated by Brett Smith 11 months ago

Lucas Di Pentima wrote in #note-7:

Updates at:

  • Commit 6e56a882b7274ab9790af108ad801fd7e458f273 at the arvados-formula repo
  • Commit b7ac87e634 at the arvados repo

LGTM, thanks.

Actions #9

Updated by Anonymous 11 months ago

  • Status changed from In Progress to Resolved
Actions #10

Updated by Brett Smith 6 months ago

  • Release set to 79
Actions

Also available in: Atom PDF