openshift/openshift-ansible

Cannot specify etcd listen ip using openshift_ip

Closed this issue · 3 comments

Description

On a single master deployment I am unable to specify the etcd engine IP despite the fact that openshift_ip variable has been set in the inventory, it keeps using a secondary ip which exists on the host.
Which makes etcd listen to a different ip and the API cannot connect.

I believe this was working and fixed in early commits but i cannot seem to make it work again, I know it is possible to specify the ip to be used with openshift_ip but its not taking it, etcd listens to a different ip.

Version
ansible --version
ansible 2.7.10

git describe
openshift-ansible-3.11.125-1-6-gb5d9ee8bb

Steps To Reproduce
  1. ansible-playbook -i myInventory ~/openshift-ansible/playbooks/deploy_cluster.yml
  2. docker logs 95d790ffe811 (the etcd pod)
    embed: serving client requests on 10.0.3.15:2379
Expected Results

Installer should take the openshift_ip variable that was passed on the inventory

embed: serving client requests on 192.168.56.31:2379
Additional Information

Below is my inventory file.

[OSEv3:children]
masters
etcd
nodes
nfs

[OSEv3:vars]
ansible_ssh_user=root
deployment_type=origin
os_sdn_network_plugin_name='redhat/openshift-ovs-multitenant'
openshift_docker_options='--selinux-enabled --insecure-registry 172.30.0.0/16'
openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]
openshift_disable_check=disk_availability,docker_storage,memory_availability
openshift_enable_unsupported_configurations=true
openshift_master_default_subdomain=apps.smk.local
openshift_public_hostname=master.smk.local
openshift_public_ip=192.168.56.31

[masters]
master.smk.local openshift_ip=192.168.56.31 

[etcd]
master.smk.local openshift_ip=192.168.56.31

[nfs]
master.smk.local openshift_ip=192.168.56.31

[nodes]
master.smk.local openshift_node_group_name='node-config-master-infra' openshift_ip=192.168.56.31
node1.smk.local openshift_node_group_name='node-config-compute'       openshift_ip=192.168.56.32
node2.smk.local openshift_node_group_name='node-config-compute'       openshift_ip=192.168.56.33

I was able to overcome this by specify the etcd_ip=192.168.56.31 variable at inventory level, but that shouldnt be needed, maybe there is a bug/typo somewhere in the playbooks that is not assigning it properly as everywhere i looked at references etcd_ip=openshift.common.ip which should default to openshift_ip

everywhere i looked at references etcd_ip=openshift.common.ip which should default to openshift_ip

openshift.common.ip defaults to first interface IP, openshift_ip doesn't override that

openshift.common.ip defaults to first interface IP, openshift_ip doesn't override that

Then there is no way to specify etcd_ip using openshift_ip ? the documentation is misleading as it says so...
Why is it beign closed if it was not resolved?