Disable Consul telemetry compatibility
What does this MR do?
Disable Consul telemetry compatibility
Disable telemetry compatibility to 1.9, which will not
be supported for Consul 1.13+.
Related Consul Docs:
https://developer.hashicorp.com/consul/docs/v1.12.x/agent/config/config-files#telemetry-parameters
Closes: https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/7278
Changelog: changed
This will unblock us from upgrading to 1.13+.
Related issues/MRs
Closes: #7278 (closed)
Relates: !6612 (merged)
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion.
Required
-
MR title and description are up to date, accurate, and descriptive. -
MR targeting the appropriate branch. -
Latest Merge Result pipeline is green. -
When ready for review, MR is labeled "~workflow::ready for review" per the Distribution MR workflow.
Testing
Run a consul cluster with nodes with mixed 1.9 compat.
You might adapt/use this docker compose for doing so:
docker-compose.yaml
version: '3.6'
networks:
static-network:
ipam:
config:
- subnet: 172.30.0.0/16
services:
consul1:
# MR Image, not setting (disabling) compat 1.9 mode
image: registry.gitlab.com/gitlab-org/omnibus-gitlab/gitlab-ee:15.11.2-rfbranch.862636659.f4f892fc-0
environment:
GITLAB_OMNIBUS_CONFIG: |
roles ['consul_role']
consul['configuration'] = {
server: true,
retry_join: %w(172.30.0.4 172.30.0.3),
bind_addr: '172.30.0.4'
}
gitlab_rails['auto_migrate'] = false
networks:
static-network:
ipv4_address: '172.30.0.4'
consul2:
# Nightly Image, setting (enabling) compat 1.9 mode
image: gitlab/gitlab-ee:nightly
environment:
GITLAB_OMNIBUS_CONFIG: |
roles ['consul_role']
consul['configuration'] = {
server: true,
retry_join: %w(172.30.0.4 172.30.0.3),
bind_addr: '172.30.0.3'
}
gitlab_rails['auto_migrate'] = false
networks:
static-network:
ipv4_address: '172.30.0.3'
- Verify compat mode is not set for nodes running the package/image from this MR
docker exec <non-compat node> cat /var/opt/gitlab/consul/config.json | jq
- Verify compat mode is set for nodes not running the package/image from this MR
docker exec <compat node> cat /var/opt/gitlab/consul/config.json | jq
- Verify the consul cluster is healthy
docker exec <node> consul members # expects an empty array docker exec <node> curl "http://127.0.0.1:8500/v1/health/state/critical"
For GitLab team members
If you don't have access to this, the reviewer should trigger these jobs for you during the review process.
-
The manual Trigger:ee-package
jobs have a green pipeline running against latest commit. -
If config/software
orconfig/patches
directories are changed, make sure thebuild-package-on-all-os
job within theTrigger:ee-package
downstream pipeline succeeded. -
If you are changing anything SSL related, then theTrigger:package:fips
manual job within theTrigger:ee-package
downstream pipeline must succeed. -
If CI configuration is changed, the branch must be pushed todev.gitlab.org
to confirm regular branch builds aren't broken.
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes. -
Documentation created/updated. -
Tests added. -
Integration tests added to GitLab QA. -
Equivalent MR/issue for the GitLab Chart opened. -
Validate potential values for new configuration settings. Formats such as integer10
, duration10s
, URIscheme://user:passwd@host:port
may require quotation or other special handling when rendered in a template and written to a configuration file.