Description of problem:
==============================
While installing CNS 3.10 on an already installed OCP 3.10.34 setup, the CNS install is failing on following two tasks.
TASK [openshift_node : Install GlusterFS storage plugin dependencies]
msg": "The conditional check 'not openshift_is_atomic | bool' failed. The error was: error while evaluating conditional (not openshift_is_atomic | bool):
TASK [openshift_storage_glusterfs : Ensure device mapper modules loaded]
"msg": "The conditional check 'inventory_hostname not in groups['glusterfs_registry']' failed
Version-Release number of the following components:
================================================
The GA'd version of OCP was used.
# rpm -qa|grep ansible
openshift-ansible-docs-3.10.34-1.git.0.48df172None.noarch
openshift-ansible-playbooks-3.10.34-1.git.0.48df172None.noarch
openshift-ansible-3.10.34-1.git.0.48df172None.noarch
ansible-2.4.6.0-1.el7ae.noarch
openshift-ansible-roles-3.10.34-1.git.0.48df172None.noarch
oc version
--------------
# oc version
oc v3.10.34
kubernetes v1.10.0+b81c8f8
# rpm -qa|grep openshift
openshift-ansible-docs-3.10.34-1.git.0.48df172None.noarch
atomic-openshift-docker-excluder-3.10.34-1.git.0.4a94911.el7.noarch
atomic-openshift-clients-3.10.34-1.git.0.4a94911.el7.x86_64
openshift-ansible-playbooks-3.10.34-1.git.0.48df172None.noarch
openshift-ansible-3.10.34-1.git.0.48df172None.noarch
atomic-openshift-excluder-3.10.34-1.git.0.4a94911.el7.noarch
atomic-openshift-3.10.34-1.git.0.4a94911.el7.x86_64
atomic-openshift-hyperkube-3.10.34-1.git.0.4a94911.el7.x86_64
openshift-ansible-roles-3.10.34-1.git.0.48df172None.noarch
atomic-openshift-node-3.10.34-1.git.0.4a94911.el7.x86_64
How reproducible:
===========================
100% on 2-3 different setups where OCP3/10.34 was already pre-installed
Steps to Reproduce:
========================
1. Deploy OCP with there extra node(for CNS)
ansible-playbook -vvv /usr/share/ansible/openshift-ansible/playbooks/deploy_cluster.yml
2. Defined glusterfs group in inventory file, execute CNS standalone deployment playbook.
ansible-playbook -vvv /usr/share/ansible/openshift-ansible/playbooks/openshift-glusterfs/config.yml
3. Check the status of installation
Actual results:
===================
1. The failed tasks - TASK#1
==============================
2018-09-02 17:47:12,103 p=27009 u=root | TASK [openshift_node : Install GlusterFS storage plugin dependencies] ***********************************
2018-09-02 17:47:12,103 p=27009 u=root | task path: /usr/share/ansible/openshift-ansible/roles/openshift_node/tasks/glusterfs.yml:2
2018-09-02 17:47:12,156 p=27009 u=root | Using module file /usr/lib/python2.7/site-packages/ansible/modules/packaging/os/yum.py
2018-09-02 17:47:12,173 p=27009 u=root | Using module file /usr/lib/python2.7/site-packages/ansible/modules/packaging/os/yum.py
2018-09-02 17:47:12,191 p=27009 u=root | Using module file /usr/lib/python2.7/site-packages/ansible/modules/packaging/os/yum.py
2018-09-02 17:47:12,214 p=27009 u=root | Using module file /usr/lib/python2.7/site-packages/ansible/modules/packaging/os/yum.py
2018-09-02 17:47:12,273 p=27009 u=root | fatal: [dhcp46-150.lab.eng.blr.redhat.com]: FAILED! => {
"failed": true,
"msg": "The conditional check 'not openshift_is_atomic | bool' failed. The error was: error while evaluating conditional (not openshift_is_atomic | bool): 'openshift_is_atomic' is undefined\n\nThe error appears to have been in '/usr/share/ansible/openshift-ansible/roles/openshift_node/tasks/glusterfs.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Install GlusterFS storage plugin dependencies\n ^ here\n"
}
2018-09-02 17:47:12,294 p=27009 u=root | fatal: [dhcp46-219.lab.eng.blr.redhat.com]: FAILED! => {
"failed": true,
"msg": "The conditional check 'not openshift_is_atomic | bool' failed. The error was: error while evaluating conditional (not openshift_is_atomic | bool): 'openshift_is_atomic' is undefined\n\nThe error appears to have been in '/usr/share/ansible/openshift-ansible/roles/openshift_node/tasks/glusterfs.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Install GlusterFS storage plugin dependencies\n ^ here\n"
}
2018-09-02 17:47:12,318 p=27009 u=root | fatal: [dhcp46-231.lab.eng.blr.redhat.com]: FAILED! => {
"failed": true,
"msg": "The conditional check 'not openshift_is_atomic | bool' failed. The error was: error while evaluating conditional (not openshift_is_atomic | bool): 'openshift_is_atomic' is undefined\n\nThe error appears to have been in '/usr/share/ansible/openshift-ansible/roles/openshift_node/tasks/glusterfs.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Install GlusterFS storage plugin dependencies\n ^ here\n"
}
2018-09-02 17:47:12,344 p=27009 u=root | fatal: [dhcp46-181.lab.eng.blr.redhat.com]: FAILED! => {
2. The Failed task - TASK#2
==============================
2018-09-02 17:47:34,371 p=27009 u=root | TASK [openshift_storage_glusterfs : Ensure device mapper modules loaded] ********************************
2018-09-02 17:47:34,371 p=27009 u=root | task path: /usr/share/ansible/openshift-ansible/roles/openshift_storage_glusterfs/tasks/kernel_modules.yml:2
2018-09-02 17:47:34,418 p=27009 u=root | fatal: [dhcp46-137.lab.eng.blr.redhat.com]: FAILED! => {
"failed": true,
"msg": "The conditional check 'inventory_hostname not in groups['glusterfs_registry']' failed. The error was: error while evaluating conditional (inventory_hostname not in groups['glusterfs_registry']): Unable to look up a name or access an attribute in template string ({% if inventory_hostname not in groups['glusterfs_registry'] %} True {% else %} False {% endif %}).\nMake sure your variable name does not contain invalid characters like '-': argument of type 'StrictUndefined' is not iterable\n\nThe error appears to have been in '/usr/share/ansible/openshift-ansible/roles/openshift_storage_glusterfs/tasks/kernel_modules.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Ensure device mapper modules loaded\n ^ here\n"
}
2018-09-02 17:47:34,438 p=27009 u=root | skipping: [dhcp46-55.lab.eng.blr.redhat.com] => {
"changed": false,
"skip_reason": "Conditional result was False",
"skipped": true
}
2018-09-02 17:47:34,439 p=27009 u=root | skipping: [dhcp46-95.lab.eng.blr.redhat.com] => {
"changed": false,
"skip_reason": "Conditional result was False",
"skipped": true
}
2018-09-02 17:47:34,454 p=27009 u=root | skipping: [dhcp47-106.lab.eng.blr.redhat.com] => {
"changed": false,
"skip_reason": "Conditional result was False",
"skipped": true
}
Comment 12Humble Chirammal
2018-09-05 07:52:38 UTC
Saravana/Jose/Karthick, Can you please clarify the impact or the functionalities broken with this bug or in absense of the fix? This information is vital for taking necessary actions for OCS 3.10 release.
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-2018:2985
Description of problem: ============================== While installing CNS 3.10 on an already installed OCP 3.10.34 setup, the CNS install is failing on following two tasks. TASK [openshift_node : Install GlusterFS storage plugin dependencies] msg": "The conditional check 'not openshift_is_atomic | bool' failed. The error was: error while evaluating conditional (not openshift_is_atomic | bool): TASK [openshift_storage_glusterfs : Ensure device mapper modules loaded] "msg": "The conditional check 'inventory_hostname not in groups['glusterfs_registry']' failed Version-Release number of the following components: ================================================ The GA'd version of OCP was used. # rpm -qa|grep ansible openshift-ansible-docs-3.10.34-1.git.0.48df172None.noarch openshift-ansible-playbooks-3.10.34-1.git.0.48df172None.noarch openshift-ansible-3.10.34-1.git.0.48df172None.noarch ansible-2.4.6.0-1.el7ae.noarch openshift-ansible-roles-3.10.34-1.git.0.48df172None.noarch oc version -------------- # oc version oc v3.10.34 kubernetes v1.10.0+b81c8f8 # rpm -qa|grep openshift openshift-ansible-docs-3.10.34-1.git.0.48df172None.noarch atomic-openshift-docker-excluder-3.10.34-1.git.0.4a94911.el7.noarch atomic-openshift-clients-3.10.34-1.git.0.4a94911.el7.x86_64 openshift-ansible-playbooks-3.10.34-1.git.0.48df172None.noarch openshift-ansible-3.10.34-1.git.0.48df172None.noarch atomic-openshift-excluder-3.10.34-1.git.0.4a94911.el7.noarch atomic-openshift-3.10.34-1.git.0.4a94911.el7.x86_64 atomic-openshift-hyperkube-3.10.34-1.git.0.4a94911.el7.x86_64 openshift-ansible-roles-3.10.34-1.git.0.48df172None.noarch atomic-openshift-node-3.10.34-1.git.0.4a94911.el7.x86_64 How reproducible: =========================== 100% on 2-3 different setups where OCP3/10.34 was already pre-installed Steps to Reproduce: ======================== 1. Deploy OCP with there extra node(for CNS) ansible-playbook -vvv /usr/share/ansible/openshift-ansible/playbooks/deploy_cluster.yml 2. Defined glusterfs group in inventory file, execute CNS standalone deployment playbook. ansible-playbook -vvv /usr/share/ansible/openshift-ansible/playbooks/openshift-glusterfs/config.yml 3. Check the status of installation Actual results: =================== 1. The failed tasks - TASK#1 ============================== 2018-09-02 17:47:12,103 p=27009 u=root | TASK [openshift_node : Install GlusterFS storage plugin dependencies] *********************************** 2018-09-02 17:47:12,103 p=27009 u=root | task path: /usr/share/ansible/openshift-ansible/roles/openshift_node/tasks/glusterfs.yml:2 2018-09-02 17:47:12,156 p=27009 u=root | Using module file /usr/lib/python2.7/site-packages/ansible/modules/packaging/os/yum.py 2018-09-02 17:47:12,173 p=27009 u=root | Using module file /usr/lib/python2.7/site-packages/ansible/modules/packaging/os/yum.py 2018-09-02 17:47:12,191 p=27009 u=root | Using module file /usr/lib/python2.7/site-packages/ansible/modules/packaging/os/yum.py 2018-09-02 17:47:12,214 p=27009 u=root | Using module file /usr/lib/python2.7/site-packages/ansible/modules/packaging/os/yum.py 2018-09-02 17:47:12,273 p=27009 u=root | fatal: [dhcp46-150.lab.eng.blr.redhat.com]: FAILED! => { "failed": true, "msg": "The conditional check 'not openshift_is_atomic | bool' failed. The error was: error while evaluating conditional (not openshift_is_atomic | bool): 'openshift_is_atomic' is undefined\n\nThe error appears to have been in '/usr/share/ansible/openshift-ansible/roles/openshift_node/tasks/glusterfs.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Install GlusterFS storage plugin dependencies\n ^ here\n" } 2018-09-02 17:47:12,294 p=27009 u=root | fatal: [dhcp46-219.lab.eng.blr.redhat.com]: FAILED! => { "failed": true, "msg": "The conditional check 'not openshift_is_atomic | bool' failed. The error was: error while evaluating conditional (not openshift_is_atomic | bool): 'openshift_is_atomic' is undefined\n\nThe error appears to have been in '/usr/share/ansible/openshift-ansible/roles/openshift_node/tasks/glusterfs.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Install GlusterFS storage plugin dependencies\n ^ here\n" } 2018-09-02 17:47:12,318 p=27009 u=root | fatal: [dhcp46-231.lab.eng.blr.redhat.com]: FAILED! => { "failed": true, "msg": "The conditional check 'not openshift_is_atomic | bool' failed. The error was: error while evaluating conditional (not openshift_is_atomic | bool): 'openshift_is_atomic' is undefined\n\nThe error appears to have been in '/usr/share/ansible/openshift-ansible/roles/openshift_node/tasks/glusterfs.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Install GlusterFS storage plugin dependencies\n ^ here\n" } 2018-09-02 17:47:12,344 p=27009 u=root | fatal: [dhcp46-181.lab.eng.blr.redhat.com]: FAILED! => { 2. The Failed task - TASK#2 ============================== 2018-09-02 17:47:34,371 p=27009 u=root | TASK [openshift_storage_glusterfs : Ensure device mapper modules loaded] ******************************** 2018-09-02 17:47:34,371 p=27009 u=root | task path: /usr/share/ansible/openshift-ansible/roles/openshift_storage_glusterfs/tasks/kernel_modules.yml:2 2018-09-02 17:47:34,418 p=27009 u=root | fatal: [dhcp46-137.lab.eng.blr.redhat.com]: FAILED! => { "failed": true, "msg": "The conditional check 'inventory_hostname not in groups['glusterfs_registry']' failed. The error was: error while evaluating conditional (inventory_hostname not in groups['glusterfs_registry']): Unable to look up a name or access an attribute in template string ({% if inventory_hostname not in groups['glusterfs_registry'] %} True {% else %} False {% endif %}).\nMake sure your variable name does not contain invalid characters like '-': argument of type 'StrictUndefined' is not iterable\n\nThe error appears to have been in '/usr/share/ansible/openshift-ansible/roles/openshift_storage_glusterfs/tasks/kernel_modules.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Ensure device mapper modules loaded\n ^ here\n" } 2018-09-02 17:47:34,438 p=27009 u=root | skipping: [dhcp46-55.lab.eng.blr.redhat.com] => { "changed": false, "skip_reason": "Conditional result was False", "skipped": true } 2018-09-02 17:47:34,439 p=27009 u=root | skipping: [dhcp46-95.lab.eng.blr.redhat.com] => { "changed": false, "skip_reason": "Conditional result was False", "skipped": true } 2018-09-02 17:47:34,454 p=27009 u=root | skipping: [dhcp47-106.lab.eng.blr.redhat.com] => { "changed": false, "skip_reason": "Conditional result was False", "skipped": true }