Description of problem: In HA deployment, the role of "master_lb" must be specified in installer.cfg.yml, thus we have to use haproxy installed by openshift-ansible as lb, we can't specify external LB service on IAAS. Version-Release number of selected component (if applicable): atomic-openshift-utils-3.3.11-1.git.4.eac15df.el7.noarch How reproducible: always Steps to Reproduce: 1.[root@ghuang-ansible ~]# cat installer.cfg.yml ansible_callback_facts_yaml: /root/callback_facts.yaml ansible_config: /usr/share/atomic-openshift-utils/ansible.cfg ansible_inventory_path: /hosts ansible_log_path: /tmp/ansible.log deployment: ansible_ssh_user: root hosts: - connect_to: openshift-127.lab.eng.nay.redhat.com hostname: openshift-127.lab.eng.nay.redhat.com ip: 192.168.2.157 node_labels: '{''region'': ''infra''}' public_hostname: openshift-127.lab.eng.nay.redhat.com public_ip: 10.66.147.127 roles: - master - etcd - node - connect_to: openshift-111.lab.eng.nay.redhat.com hostname: openshift-111.lab.eng.nay.redhat.com ip: 192.168.2.158 node_labels: '{''region'': ''infra''}' public_hostname: openshift-111.lab.eng.nay.redhat.com public_ip: 10.66.147.111 roles: - master - etcd - node - connect_to: openshift-112.lab.eng.nay.redhat.com hostname: openshift-112.lab.eng.nay.redhat.com ip: 192.168.2.159 node_labels: '{''region'': ''infra''}' public_hostname: openshift-112.lab.eng.nay.redhat.com public_ip: 10.66.147.112 roles: - master - etcd - node - connect_to: openshift-106.lab.eng.nay.redhat.com hostname: openshift-106.lab.eng.nay.redhat.com ip: 192.168.2.162 node_labels: '{''region'': ''app''}' public_hostname: openshift-106.lab.eng.nay.redhat.com public_ip: 10.66.147.106 roles: - node - connect_to: openshift-121.lab.eng.nay.redhat.com hostname: openshift-121.lab.eng.nay.redhat.com ip: 192.168.2.161 public_hostname: openshift-121.lab.eng.nay.redhat.com public_ip: 10.66.147.121 roles: - storage master_routingconfig_subdomain: test.example openshift_hosted_registry_storage_access_modes: '[''ReadWriteMany'']' openshift_hosted_registry_storage_host: openshift-121.lab.eng.nay.redhat.com openshift_hosted_registry_storage_kind: nfs openshift_hosted_registry_storage_nfs_directory: /exports openshift_hosted_registry_storage_nfs_options: '*(rw,root_squash)' openshift_hosted_registry_storage_volume_name: registry proxy_exclude_hosts: '' proxy_http: '' proxy_https: '' roles: etcd: {} master: cluster_hostname: openshift-121.lab.eng.nay.redhat.com cluster_method: native cluster_public_hostname: openshift-121.lab.eng.nay.redhat.com openshift_master_htpasswd_users: user1: pass1 user2: pass2 openshift_master_identity_providers: - challenge: true filename: /etc/origin/master/htpasswd kind: HTPasswdPasswordIdentityProvider login: true name: htpasswd_auth node: {} storage: {} variant: openshift-enterprise variant_version: '3.3' version: v2 2.atomic-openshift-installer -c installer.cfg.yml -u install 3. Actual results: ERROR: No master load balancer specified in config. You must provide the FQDN of a load balancer to balance the API (port 8443) on all Master hosts. https://docs.openshift.org/latest/install_config/install/advanced_install.html#multiple-masters Expected results: As a user, we should be able to specify the LB as we want in arbitrary installer yaml Additional info: When I added master_lb into installer.cfg.yml, inventory hosts file was changed to: [OSEv3:vars] openshift_master_cluster_method=native openshift_master_cluster_hostname=openshift-103.lab.eng.nay.redhat.com openshift_master_cluster_public_hostname=openshift-103.lab.eng.nay.redhat.com [masters:vars] cluster_method=native cluster_public_hostname=openshift-121.lab.eng.nay.redhat.com cluster_hostname=openshift-121.lab.eng.nay.redhat.com They are conficted, and look like the variables under [OSEv3:vars] worked.
I believe this is fixed in openshift-ansible-3.4.17 and later which allows the cluster hostname to be set without defining a load balancer. https://github.com/openshift/openshift-ansible/pull/2683
BZ#1421053 is blocking the verification.
Verified with atomic-openshift-utils-3.4.66-1.git.0.dd202b2.el7.noarch Able to specify a preconfigured LB in installer.cfg.yaml #cat installer.cfg.yaml ansible_callback_facts_yaml: /tmp/.ansible/callback_facts.yaml ansible_inventory_path: /tmp/hosts ansible_log_path: /tmp/ansible.log deployment: ansible_ssh_user: root hosts: - connect_to: openshift-102.lab.eng.nay.redhat.com hostname: openshift-102.lab.eng.nay.redhat.com ip: 192.168.2.157 node_labels: '{''region'': ''infra''}' public_hostname: openshift-102.lab.eng.nay.redhat.com public_ip: 10.66.147.127 roles: - master - etcd - node - connect_to: openshift-115.lab.eng.nay.redhat.com hostname: openshift-115.lab.eng.nay.redhat.com ip: 192.168.2.158 node_labels: '{''region'': ''infra''}' public_hostname: openshift-115.lab.eng.nay.redhat.com public_ip: 10.66.147.111 roles: - master - etcd - node - connect_to: openshift-127.lab.eng.nay.redhat.com hostname: openshift-127.lab.eng.nay.redhat.com ip: 192.168.2.159 node_labels: '{''region'': ''infra''}' public_hostname: openshift-127.lab.eng.nay.redhat.com public_ip: 10.66.147.112 roles: - master - etcd - node - connect_to: openshift-128.lab.eng.nay.redhat.com hostname: openshift-128.lab.eng.nay.redhat.com ip: 192.168.2.162 node_labels: '{''region'': ''app''}' public_hostname: openshift-128.lab.eng.nay.redhat.com public_ip: 10.66.147.106 roles: - node - connect_to: openshift-131.lab.eng.nay.redhat.com hostname: openshift-131.lab.eng.nay.redhat.com ip: 192.168.2.161 public_hostname: openshift-131.lab.eng.nay.redhat.com public_ip: 10.66.147.121 roles: - storage - connect_to: openshift-156.lab.eng.nay.redhat.com hostname: openshift-156.lab.eng.nay.redhat.com ip: 192.168.2.160 preconfigured: true public_hostname: openshift-156.lab.eng.nay.redhat.com public_ip: 10.66.147.124 roles: - master_lb master_routingconfig_subdomain: test.example openshift_hosted_registry_storage_access_modes: '[''ReadWriteMany'']' openshift_hosted_registry_storage_host: openshift-131.lab.eng.nay.redhat.com openshift_hosted_registry_storage_kind: nfs openshift_hosted_registry_storage_nfs_directory: /exports openshift_hosted_registry_storage_nfs_options: '*(rw,root_squash)' openshift_hosted_registry_storage_volume_name: registry proxy_exclude_hosts: '' proxy_http: '' proxy_https: '' roles: etcd: {} master: openshift_master_htpasswd_users: user1: pass1 user2: pass2 openshift_master_identity_providers: - challenge: true filename: /etc/origin/master/htpasswd kind: HTPasswdPasswordIdentityProvider login: true name: htpasswd_auth master_lb: {} node: {} storage: {} variant: openshift-enterprise variant_version: '3.4' version: v2 The generated hosts file is correct. #cat hosts [OSEv3:children] nodes nfs masters lb etcd [OSEv3:vars] openshift_hosted_registry_storage_volume_name=registry openshift_master_default_subdomain=test.example openshift_hosted_registry_storage_nfs_options=*(rw,root_squash) ansible_ssh_user=root openshift_hosted_registry_storage_access_modes=['ReadWriteMany'] openshift_hosted_registry_storage_kind=nfs openshift_hosted_registry_storage_host=openshift-131.lab.eng.nay.redhat.com openshift_hosted_registry_storage_nfs_directory=/exports openshift_master_cluster_method=native openshift_master_cluster_hostname=openshift-156.lab.eng.nay.redhat.com openshift_master_cluster_public_hostname=openshift-156.lab.eng.nay.redhat.com deployment_type=openshift-enterprise [masters:vars] openshift_master_htpasswd_users={'user2': 'pass2', 'user1': 'pass1'} openshift_master_identity_providers=[{'login': True, 'filename': '/etc/origin/master/htpasswd', 'challenge': True, 'kind': 'HTPasswdPasswordIdentityProvider', 'name': 'htpasswd_auth'}] [nodes] openshift-102.lab.eng.nay.redhat.com openshift_public_ip=10.66.147.127 openshift_ip=192.168.2.157 openshift_public_hostname=openshift-102.lab.eng.nay.redhat.com openshift_hostname=openshift-102.lab.eng.nay.redhat.com connect_to=openshift-102.lab.eng.nay.redhat.com openshift_node_labels="{'region': 'infra'}" openshift_schedulable=False openshift-115.lab.eng.nay.redhat.com openshift_public_ip=10.66.147.111 openshift_ip=192.168.2.158 openshift_public_hostname=openshift-115.lab.eng.nay.redhat.com openshift_hostname=openshift-115.lab.eng.nay.redhat.com connect_to=openshift-115.lab.eng.nay.redhat.com openshift_node_labels="{'region': 'infra'}" openshift_schedulable=False openshift-127.lab.eng.nay.redhat.com openshift_public_ip=10.66.147.112 openshift_ip=192.168.2.159 openshift_public_hostname=openshift-127.lab.eng.nay.redhat.com openshift_hostname=openshift-127.lab.eng.nay.redhat.com connect_to=openshift-127.lab.eng.nay.redhat.com openshift_node_labels="{'region': 'infra'}" openshift_schedulable=False openshift-128.lab.eng.nay.redhat.com openshift_public_ip=10.66.147.106 openshift_ip=192.168.2.162 openshift_public_hostname=openshift-128.lab.eng.nay.redhat.com openshift_hostname=openshift-128.lab.eng.nay.redhat.com connect_to=openshift-128.lab.eng.nay.redhat.com openshift_node_labels="{'region': 'app'}" openshift_schedulable=True [nfs] openshift-131.lab.eng.nay.redhat.com openshift_public_ip=10.66.147.121 openshift_ip=192.168.2.161 openshift_public_hostname=openshift-131.lab.eng.nay.redhat.com openshift_hostname=openshift-131.lab.eng.nay.redhat.com connect_to=openshift-131.lab.eng.nay.redhat.com [masters] openshift-102.lab.eng.nay.redhat.com openshift_public_ip=10.66.147.127 openshift_ip=192.168.2.157 openshift_public_hostname=openshift-102.lab.eng.nay.redhat.com openshift_hostname=openshift-102.lab.eng.nay.redhat.com connect_to=openshift-102.lab.eng.nay.redhat.com openshift-115.lab.eng.nay.redhat.com openshift_public_ip=10.66.147.111 openshift_ip=192.168.2.158 openshift_public_hostname=openshift-115.lab.eng.nay.redhat.com openshift_hostname=openshift-115.lab.eng.nay.redhat.com connect_to=openshift-115.lab.eng.nay.redhat.com openshift-127.lab.eng.nay.redhat.com openshift_public_ip=10.66.147.112 openshift_ip=192.168.2.159 openshift_public_hostname=openshift-127.lab.eng.nay.redhat.com openshift_hostname=openshift-127.lab.eng.nay.redhat.com connect_to=openshift-127.lab.eng.nay.redhat.com [lb] [etcd] openshift-102.lab.eng.nay.redhat.com openshift_public_ip=10.66.147.127 openshift_ip=192.168.2.157 openshift_public_hostname=openshift-102.lab.eng.nay.redhat.com openshift_hostname=openshift-102.lab.eng.nay.redhat.com connect_to=openshift-102.lab.eng.nay.redhat.com openshift-115.lab.eng.nay.redhat.com openshift_public_ip=10.66.147.111 openshift_ip=192.168.2.158 openshift_public_hostname=openshift-115.lab.eng.nay.redhat.com openshift_hostname=openshift-115.lab.eng.nay.redhat.com connect_to=openshift-115.lab.eng.nay.redhat.com openshift-127.lab.eng.nay.redhat.com openshift_public_ip=10.66.147.112 openshift_ip=192.168.2.159 openshift_public_hostname=openshift-127.lab.eng.nay.redhat.com openshift_hostname=openshift-127.lab.eng.nay.redhat.com connect_to=openshift-127.lab.eng.nay.redhat.com
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:1140