Skip to content

Make the repo download/install more robust

Craig Miskell requested to merge more-robust-install-repo into main

What does this MR do?

Makes the repo download/install more robust.

Previously, if the download of the install script succeeded but executing it failed (e.g. packages.gitlab.com threw an error), further ansible runs would never succeed because the execution of 'Install GitLab repository' was only triggered by the download changing the script contents; if the .list file was not added, the installation of the package could not succeed. The execution of the script had previously been given 2 attempts to work around presumably transient failures, but empirically these failure states can continue longer than the retries + delays allow.

This MR makes the process more robust by always running the install script if the expected target apt repo list file does not exist, while retaining the execution if the installer script changes and the repo list file already exists. It relies on knowing the path to the repo .list file, but this was already known in the same module, so there's no new assumptions being made.

Related issues

Author's checklist

When ready for review, the Author applies the workflowready for review label and mention @gl-quality/get-maintainers:

  • Merge request:
    • Corresponding Issue raised and reviewed by the GET maintainers team.
    • Merge Request Title and Description are up to date, accurate, and descriptive
    • MR targeting the appropriate branch
    • MR has a green pipeline
  • Code:
    • Check the area changed works as expected. Consider testing it in different environment sizes (1k,3k,10k,etc.).
    • Documentation created/updated in the same MR.
    • If this MR adds an optional configuration - check that all permutations continue to work.
    • For Terraform changes: setup a previous version environment, then run a terraform plan with your new changes and ensure nothing will be destroyed. If anything will be destroyed and this can't be avoided please add a comment to the current MR.
  • Create any follow-up issue(s) to support the new feature across other supported cloud providers or advanced configurations. Create 1 issue for each provider/configuration. Contact the Quality Enablement team if unsure.
Edited by Craig Miskell

Merge request reports