Description of problem: openshift_logging_storage_volume_size is required even without installation of logging stack. Version-Release number of the following components: rpm -q openshift-ansible openshift-ansible-3.7.0-0.126.4.git.0.3fc2b9b.el7.noarc rpm -q ansible ansible-2.3.2.0-2.el7.noarch ansible --version ansible 2.3.2.0 config file = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides python version = 2.7.5 (default, May 3 2017, 07:55:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-14)] How reproducible: ansible-playbook -i inv.file openshift-ansible/playbooks/byo/config.yml Steps to Reproduce: 1. 2. 3. Actual results: Failure summary: 1. Hosts: ec2-34-212-33-220.us-west-2.compute.amazonaws.com, ec2-54-187-182-183.us-west-2.compute.amazonaws.com, ec2-54-187-241-115.us-west-2.compute.amazonaws.com, ec2-54-202-122-120.us-west-2.compute.amazonaws.com Play: Initialize host facts Task: openshift_sanitize_inventory : set_fact Message: The task includes an option with an undefined variable. The error was: 'openshift_logging_storage_volume_size' is undefined The error appears to have been in '/home/slave3/workspace/Launch Environment Flexy/private-openshift-ansible/roles/openshift_sanitize_inventory/tasks/__deprecations_logging.yml': line 36, column 3, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - set_fact: ^ here exception type: <class 'ansible.errors.AnsibleUndefinedVariable'> exception: 'openshift_logging_storage_volume_size' is undefined Expected results: Installation is successful. Additional info: We could avoid this issue by giving openshift_logging_storage_volume_size=20Gi in the inventory file. However, this var should not be required if no logging stack is to be installed.
I see. The inv file contains openshift_hosted_logging_deploy=false # line 1 openshift_hosted_logging_storage_kind=dynamic # line 2 So even with line 1, line 2 still implies checking on openshift_logging_storage_volume_size, doesn't it? Let me try out to remove all logging variables. I will update the result here. Another questions related to this issue: 1. Can we run the playbook in openshift-ansible github checkout on a host where openshift-ansible rpm is already installed? I guess we should not. 2. What is the difference bewteen openshift_logging_storage_volume_size and openshift_logging_es_pvc_size?
It works now. What I did: # yum remove -y openshift-ansible\* # Rerun the playbook # cd ~/openshift-ansible # git log --oneline -1 c390d38 Merge pull request #5492 from jsafrane/local-storage-predicate It would be great if I could get answers to questions in comment 2.
openshift_logging_es_pvc_size will be set to openshift_logging_elasticsearch_pvc_size if it is provided, otherwise it will be ''. The idea is that if we are creating a storage volume (nfs or dynamic) then we would want to create a PVC that matches that same size. Between "openshift_logging_storage_volume_size" and "openshift_logging_es_pvc_size" you should be setting "openshift_logging_storage_volume_size"
Further test on openshift_logging_storage_volume_size and openshift_logging_es_pvc_size: openshift_logging_install_logging=true openshift_logging_image_prefix=registry.ops.openshift.com/openshift3/ openshift_logging_storage_volume_size=25Gi openshift_logging_storage_kind=dynamic openshift_logging_es_pvc_size=50Gi openshift_logging_es_pvc_dynamic=true All works if using the above vars in inv. file. Actually the created PVC for logging is 50Gi. So openshift_logging_storage_volume_size=25Gi did not take effect. Then remove openshift_logging_es_pvc_size=50Gi. It gave me the error below: Should I create another bug for this? TASK [openshift_logging_elasticsearch : Creating ES storage template - dynamic] *********************************************** fatal: [ec2-34-223-226-228.us-west-2.compute.amazonaws.com]: FAILED! => {"failed": true, "msg": "{{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: {{ openshift_logging_es_pvc_size }}: {{ openshift_logging_elasticsearch_pvc_size | default('') }}: recursive loop detected in template string: {{ openshift_logging_elasticsearch_pvc_size | default('') }}"}
If you are specifying "openshift_logging_es_pvc_size" it should honor that value, so that is working as expected. However, removing "openshift_logging_es_pvc_size" and rerunning should not cause an issue like that. It looks like the default for it is incorrectly defined. Yes, please create another bz for that.
Done: https://bugzilla.redhat.com/show_bug.cgi?id=1496202
https://github.com/openshift/openshift-ansible/pull/5546 Should address a default volume size if not set
[fedora@ip-172-31-33-174 openshift-ansible]$ git branch --contains 22683f6 * master [fedora@ip-172-31-33-174 openshift-ansible]$ git log --oneline -1 a0ba7b469 (HEAD -> master, origin/stage, origin/master, origin/HEAD) Merge pull request #5648 from jcantrill/1497401_default_image_versions openshift_logging_storage_volume_size param is removed from inv file. All worked fine. Thanks for the fix.
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/RHSA-2017:3188