Update update tests for backport testing
What does this MR do and why?
As per discussion from https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/1075
Try and find the version used by the image of the image under test. Use that published image as the previous version if found. Otherwise fall back to current functionality of latest.
Describe in detail what your merge request does and why.
Screenshots or screen recordings
These are strongly recommended to assist reviewers and reduce the time to merge your change.
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
Build and install from branch
gem build gitlab-qa.gemspec
gem install gitlab-qa-8.0.0.gem
Run up an update test against a test image
eg.
GITLAB_QA_ACCESS_TOKEN=<token> gitlab-qa Test::Omnibus::Update registry.gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/gitlab-ee:d6653f8680a0b0187723a9f1f6a3b4264a1db12a registry.gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/gitlab-ee:d6653f8680a0b0187723a9f1f6a3b4264a1db12a
View logs
[Jul 19 2022 11:26:59 BST (Gitlab QA)] INFO -- Docker shell command: `docker run --rm --entrypoint /bin/cat registry.gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/gitlab-ee:d6653f8680a0b0187723a9f1f6a3b4264a1db12a /opt/gitlab/version-manifest.json`
.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
[Jul 19 2022 11:27:00 BST (Gitlab QA)] INFO -- Found previous version '15.1.2'
[Jul 19 2022 11:27:00 BST (Gitlab QA)] INFO -- Docker shell command: `docker manifest inspect gitlab/gitlab-ee:15.1.2`
.
[Jul 19 2022 11:27:03 BST (Gitlab QA)] ERROR -- Docker shell command output:
no such manifest: docker.io/gitlab/gitlab-ee:15.1.2
[Jul 19 2022 11:27:03 BST (Gitlab QA)] INFO -- Docker shell command: `docker manifest inspect gitlab/gitlab-ee:15.1.2-ee.0`
...................................................
[Jul 19 2022 11:27:08 BST (Gitlab QA)] INFO -- Using previous image 'gitlab/gitlab-ee:15.1.2-ee.0'
[Jul 19 2022 11:27:08 BST (Gitlab QA)] INFO -- Docker shell command: `docker pull -q gitlab/gitlab-ee:15.1.2-ee.0`
.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.