Description of problem: I'm unable to install openshift origin as explained in here: https://docs.okd.io/latest/install/running_install.html#running-the-advanced-installation-rpm (step 2: Run the deploy_cluster.yml playbook to initiate the cluster installation:) Version-Release number of selected component (if applicable): openshift v3.10 How reproducible: Always Steps to Reproduce (native on Fedora): 1. Install ansible (ansible-2.6.4-1.fc28.noarch) 2. Clone openshift-ansible repo (https://github.com/openshift/openshift-ansible) 3. Prepare inventory file (see my inventory in attachment) 4. Execute: ansible-playbook -vvv -i inventory/dev_hosts playbooks/deploy_cluster.yml Steps to Reproduce (docker: openshift/origin-ansible:v3.10): 1. Install docker-ce (docker-ce-18.06.1.ce-3.fc28.x86_64) 2. Prepare inventory file (see my inventory in attachment) 3. Execute: docker run -u `id -u` -v $HOME/.ssh/jurikolo_rsa:/opt/app-root/src/.ssh/id_rsa:Z,ro -v $HOME/git/openshift-ansible/inventory/dev_hosts:/tmp/inventory:ro -e INVENTORY_FILE=/tmp/inventory -e OPTS="-vvv" -e PLAYBOOK_FILE=playbooks/deploy_cluster.yml openshift/origin-ansible:v3.10 Actual results: Playbook fails with error: Message: The conditional check '('config' in l2_openshift_node_kubelet_args) | bool' failed. The error was: An unhandled exception occurred while templating '{{ openshift_node_kubelet_args_dict[openshift_cloudprovider_kind | default('undefined')] }}'. Error was a <class 'ansible.errors.AnsibleError'>, original message: An unhandled exception occurred while templating '{u'vsphere': {u'cloud-config': [u"{{ openshift_config_base ~ '/cloudprovider/vsphere.conf' }}"], u'node-labels': u'{{ l_node_kubelet_node_labels }}', u'cloud-provider': [u'vsphere']}, u'gce': {u'cloud-config': [u"{{ openshift_config_base ~ '/cloudprovider/gce.conf' }}"], u'node-labels': u'{{ l_node_kubelet_node_labels }}', u'cloud-provider': [u'gce']}, u'undefined': {u'node-labels': u'{{ l_node_kubelet_node_labels }}'}, u'aws': {u'cloud-config': [u"{{ openshift_config_base ~ '/cloudprovider/aws.conf' }}"], u'node-labels': u'{{ l_node_kubelet_node_labels }}', u'cloud-provider': [u'aws']}, u'azure': {u'cloud-config': [u"{{ openshift_config_base ~ '/cloudprovider/azure.conf' }}"], u'node-labels': u'{{ l_node_kubelet_node_labels }}', u'cloud-provider': [u'azure']}, u'openstack': {u'cloud-config': [u"{{ openshift_config_base ~ '/cloudprovider/openstack.conf' }}"], u'node-labels': u'{{ l_node_kubelet_node_labels }}', u'cloud-provider': [u'openstack']}}'. Error was a <class 'ansible.errors.AnsibleError'>, original message: An unhandled exception occurred while templating '{{ openshift_node_labels | default({}) | lib_utils_oo_dict_to_keqv_list }}'. Error was a <type 'exceptions.SyntaxError'>, original message: invalid syntax (<unknown>, line 1) The file and a line of code that causes issues: https://github.com/openshift/openshift-ansible/blob/release-3.10/roles/openshift_node/tasks/config.yml#L21 Expected results: Installation continues Additional info: The servers for openshift are CentOS VMs in Azure cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)
Created attachment 1483565 [details] native on Fedora log
Created attachment 1483566 [details] docker log
Apparently the issue gone with modified inventory file, where instead of: [nodes] 40.85.82.159 openshift_node_group_name="node-config-master" openshift_node_labels="{'region': 'infra', 'zone': 'default'}" openshift_public_ip=40.85.82.159 openshift_ip=10.0.0.5 openshift_public_hostname=40.85.82.159 openshift_hostname=openshift-1 openshift_scheduleable=false 40.87.134.175 openshift_node_group_name="node-config-compute" openshift_node_labels="{'region': 'primary', 'zone': 'east'}"openshift_public_ip=40.87.134.175 openshift_ip=10.0.0.6 openshift_public_hostname=40.87.134.175 openshift_hostname=openshift-2 I removed most of extra data and left just this: [nodes] 40.85.82.159 openshift_node_group_name='node-config-master' 40.87.134.175 openshift_node_group_name='node-config-compute' I believe there should be a validation for the inventory file or user-friendly error message. Full fixed inventory file in attachment.
Created attachment 1483570 [details] inventory file fixed
Are you sure it's not just the lack of a space between openshift_node_labels and openshift_public_ip definition in your second host?
(In reply to Scott Dodson from comment #5) > Are you sure it's not just the lack of a space between openshift_node_labels > and openshift_public_ip definition in your second host? For some reason original inventory file is removed and I didn't save it locally. But if the reason is mistype, then feel free to close the issue.