| Summary: | [quick-install] Can't specify LB in arbitrary installer yaml | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | Gan Huang <ghuang> |
| Component: | Installer | Assignee: | Samuel Munilla <smunilla> |
| Status: | CLOSED ERRATA | QA Contact: | Gan Huang <ghuang> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 3.3.0 | CC: | aos-bugs, jdetiber, jokerman, mmccomas |
| Target Milestone: | --- | ||
| Target Release: | 3.4.z | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | No Doc Update | |
| Doc Text: |
undefined
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-04-25 17:41:57 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | 1421053 | ||
| Bug Blocks: | |||
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 |
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.