HA provisioner test are failing in master
Original Report
Just noticed that an HA provisioner pipeline fails in one of the latest nightlies https://dev.gitlab.org/gitlab/omnibus-gitlab/pipelines/118372 .
On closer inspection, it appears that the jobs have been failing for a while now https://gitlab.com/gitlab-org/distribution/gitlab-provisioner/pipelines
@gitlab-org/distribution is this known? Seems that the last passing pipeline was from a month ago https://gitlab.com/gitlab-org/distribution/gitlab-provisioner/pipelines/65521211
Discoveries
- The Google Inventory provider
gce.py
for Google Cloud was deprecated. - The new
google_compute
provider is not guaranteed or officially supported, nor does it provide the same filtering features - The latest version of Ansible 2.8 removed the custom
six
ports to enablegce.py
to work properly
Initial Proposal
The initial proposal was to use terraform's outputs to generate the Ansible inventory. This was deemed too large of a change and warranted more discussion.
The Stopgap Fix
The following was done to address the pipelines:
- Establish a
gitlab-provisioner
base image - Use the new
gitlab-provisioner
base image- Issue: gitlab-org/omnibus-gitlab#3581 (closed)
- Related MR: gitlab-provisioner!33 (merged)
This move pins us to Ansible v2.7 as the last version to support gce.py
and enables the pipelines to run in our nightlies.
Follow Up Work
- Determine how we are going to address the
gce.py
deprecation - Ansible Updates Required
- Turn on Terraform Linting to prevent issues like what Gerard found and fixed
More details on each of these will be posted in their respective issues.