Hide Forgot
Description of problem: Trying to install on OpenStack on machines without floating IPs fails. Steps to Reproduce: 1. create OpenStack machines without floating IPs 2. setup inventory file 3. run openshift-ansible Actual results: > fatal: [vm-10-0-76-105.example.com]: FAILED! => {"changed": false, "module_stderr": "KeyError('ansible_os_family',)\nTraceback (most recent call last):\n File \"/tmp/ansible_3Qqndl/ansible_module_openshift_facts.py\", line 1300, in <module>\n main()\n File \"/tmp/ansible_3Qqndl/ansible_module_openshift_facts.py\", line 1287, in main\n additive_facts_to_overwrite)\n File \"/tmp/ansible_3Qqndl/ansible_module_openshift_facts.py\", line 1039, in __init__\n additive_facts_to_overwrite)\n File \"/tmp/ansible_3Qqndl/ansible_module_openshift_facts.py\", line 1061, in generate_facts\n provider_facts = self.init_provider_facts()\n File \"/tmp/ansible_3Qqndl/ansible_module_openshift_facts.py\", line 1194, in init_provider_facts\n provider_info.get('metadata')\n File \"/tmp/ansible_3Qqndl/ansible_module_openshift_facts.py\", line 345, in normalize_provider_facts\n facts = normalize_openstack_facts(metadata, facts)\n File \"/tmp/ansible_3Qqndl/ansible_module_openshift_facts.py\", line 310, in normalize_openstack_facts\n if socket.gethostbyname(metadata['ec2_compat'][h_var]) == metadata['ec2_compat'][ip_var].split(',')[0]:\nAttributeError: 'list' object has no attribute 'split'\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 1} Expected results: Installation succeed. Additional info: Analysis shows that installer always expects some value for floating IP to run `split` over it but there is no such value for machines without floating IPs. The reason for lack of floating IP can be that OpenStack is setup with public routed networks to begin with (e.g. provider network). Or user wants to install without direct internet access to nodes.
Should be fixed in https://github.com/openshift/openshift-ansible/pull/10974 Fix is available in openshift-ansible-3.11.70-1
Installed this successfully by the pointers you gave me yesterday, thank you! I believe issue is fixed in code. Do we know when a new official build will be done? P.S. wrote a short blog post [1] about installing with unreleased openshift-ansible source code. Any corrections to my instructions are welcome. [1] https://rboci.blogspot.com/2019/01/install-okd-311-with-source-version-of.html
3.10 and 3.9 are also affected. I had some difficulties testing earlier version but will do later. Shall I create separate issues?
The 3.9 version of this fix is already merged. The 3.10 version is waiting on PR tests to pass: https://github.com/openshift/openshift-ansible/pull/11013
3.10 version merged now.
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-2019:0326
*** Bug 1671342 has been marked as a duplicate of this bug. ***