Cloud native hybrid deployment fails when starting docker container on HAProxy External due to address already in use when binding ssh port
GET version: main branch Environment configuration:
all:
vars:
# Ansible Settings
ansible_user: "ubuntu"
ansible_ssh_private_key_file: "{{ lookup('env', 'PWD') }}/../keys/id_ed25519"
# Cloud Settings
cloud_provider: "aws"
aws_region: "us-east-1"
# General Settings
prefix: "dev-os-test"
external_url: "http://elif-get.supermunn.net"
#external_ssl_source: "letsencrypt"
#external_ssl_letsencrypt_issuer_email: "elif.munn@gmail.com"
gitlab_license_file: "{{ lookup('env', 'PWD') }}/../keys/performance/Gitlab.gitlab-license"
cloud_native_hybrid_environment: true
kubeconfig_setup: true
gitlab_charts_release_namespace: dev-em
#gitlab_repo_script_url: "https://packages.gitlab.com/install/repositories/gitlab/nightly-builds/script.deb.sh"
# Component Settings
patroni_remove_data_directory_on_rewind_failure: true
patroni_remove_data_directory_on_diverged_timelines: true
# Passwords / Secrets
gitlab_root_password: ''
grafana_password: ''
postgres_password: ''
consul_database_password: ''
gitaly_token: ''
pgbouncer_password: ''
redis_password: ''
praefect_external_token: ''
praefect_internal_token: ''
praefect_postgres_password: ''
Error received:
TASK [haproxy : Create /opt/haproxy/ssl directory if External SSL configured] *************************************************************************************************************************************
ok: [dev-os-test-haproxy-external-1]
ok: [dev-os-test-haproxy-internal-1]
FAILED - RETRYING: [dev-os-test-haproxy-external-1]: Start HAProxy External Docker (2 retries left).
FAILED - RETRYING: [dev-os-test-haproxy-external-1]: Start HAProxy External Docker (1 retries left).
TASK [haproxy : Start HAProxy External Docker] ********************************************************************************************************************************************************************
fatal: [dev-os-test-haproxy-external-1]: FAILED! => changed=false
attempts: 2
msg: 'Error starting container e112b11dd6c0d606c0f169adb072bf7a20ff6f4cb539b4ae8f8194cd4fc55be8: 500 Server Error for http+docker://localhost/v1.45/containers/e112b11dd6c0d606c0f169adb072bf7a20ff6f4cb539b4ae8f8194cd4fc55be8/start: Internal Server Error ("driver failed programming external connectivity on endpoint haproxy (cda2dea93aae24e2869aba3a1f2bcf739ca8871cb242960626cdbf665b9c5ad4): Error starting userland proxy: listen tcp4 0.0.0.0:22: bind: address already in use")'
On (Ubuntu) HAProxy external node, sshd service is listening on port 22. This causes the HAProxy container to not start. When I checked, gitlab_shell_ssh_port
variable used in the haproxy task is set to 22
for Cloud native hybrid deployments; otherwise 2222
.
roles/common_vars/defaults/main.yml
106:gitlab_shell_ssh_port: "{{ '22' if cloud_native_hybrid_environment else '2222' }}"