Skip to content

The installer should fail on errors #119

@vorakl

Description

@vorakl

Summary
I would like to bring in to the discussion a quite serious issue that the installer doesn't fail on any errors.

Steps to reproduce
idt-installer VERSION="1.2.3"

Operating System
Specify: MacOS, Linux

Supporting details
Yesterday, my build pipeline for docker images with cloud tools failed on a testing stage with the error "kubectl: command not found". It was a bit unexpectedly. The first question in the mind was "why the image was even built??!". After a short investigation, it turned out, that all IBM Cloud tools are being installed by only one bash installer and it doesn't fail if cannot install something along the way. I submitted a related pull-request #118. But, it won't fix the main issue. Yes, it does fix the curl's options set and curl will exit with exit code 22 instead of 0, but the installer doesn't check this condition and keep working.
I din't submit a pull-request for this issue as long as it's a matter of adding "set -e" or "set -o errexit" closer to the beginning of the script and run it through your testing suite.

It is more about the understanding of what a behavior is right.
I suppose, most people expect to get all cloud tools installed if the installer finishes with no errors.

What do you guys think?


Development "done" checklist

  • Test case to verify
  • Public Documentation updated
  • Change added to "release notes" as appropropriate
  • Notification to stakeholders (OM, other squads, etc)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions