Hide Forgot
Description of problem: ======================= While doing rolling update of cluster having 1 MON node and 1 OSD node it failed in task 'waiting for the monitor to join the quorum' with error 'UndefinedError: 'mon_host' is undefined' TASK: [waiting for the monitor to join the quorum...] ************************* fatal: [magna078 -> {{ mon_host }}] => Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 586, in _executor exec_rc = self._executor_internal(host, new_stdin) File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 789, in _executor_internal return self._executor_internal_inner(host, self.module_name, self.module_args, inject, port, complex_args=complex_args) File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 927, in _executor_internal_inner delegate = self._compute_delegate(actual_pass, inject) File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 363, in _compute_delegate fail_on_undefined=True File "/usr/lib/python2.7/site-packages/ansible/utils/template.py", line 124, in template varname = template_from_string(basedir, varname, templatevars, fail_on_undefined) File "/usr/lib/python2.7/site-packages/ansible/utils/template.py", line 382, in template_from_string res = jinja2.utils.concat(rf) File "<template>", line 8, in root File "/usr/lib/python2.7/site-packages/jinja2/runtime.py", line 485, in _fail_with_undefined_error raise self._undefined_exception(hint) UndefinedError: 'mon_host' is undefined Version-Release number of selected component (if applicable): ============================================================== update from 10.2.2-38.el7cp.x86_64 to 10.2.2-39.el7cp.x86_64 How reproducible: ================= always Steps to Reproduce: =================== 1. Create a cluster via ceph-ansible having 1 MON, 1 OSD and 1 RGW node (10.2.2-38.el7cp.x86_64) 2. create repo fie on all node which points to 10.2.2-39.el7cp.x86_64 bits 3. use rolling_update.yml to update all nodes Actual results: =============== TASK: [waiting for the monitor to join the quorum...] ************************* fatal: [magna078 -> {{ mon_host }}] => Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 586, in _executor exec_rc = self._executor_internal(host, new_stdin) File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 789, in _executor_internal return self._executor_internal_inner(host, self.module_name, self.module_args, inject, port, complex_args=complex_args) File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 927, in _executor_internal_inner delegate = self._compute_delegate(actual_pass, inject) File "/usr/lib/python2.7/site-packages/ansible/runner/__init__.py", line 363, in _compute_delegate fail_on_undefined=True File "/usr/lib/python2.7/site-packages/ansible/utils/template.py", line 124, in template varname = template_from_string(basedir, varname, templatevars, fail_on_undefined) File "/usr/lib/python2.7/site-packages/ansible/utils/template.py", line 382, in template_from_string res = jinja2.utils.concat(rf) File "<template>", line 8, in root File "/usr/lib/python2.7/site-packages/jinja2/runtime.py", line 485, in _fail_with_undefined_error raise self._undefined_exception(hint) UndefinedError: 'mon_host' is undefined FATAL: all hosts have already failed -- aborting PLAY RECAP ******************************************************************** to retry, use: --limit @/root/rolling_update.retry localhost : ok=1 changed=0 unreachable=0 failed=0 magna078 : ok=154 changed=8 unreachable=1 failed=0 magna084 : ok=5 changed=1 unreachable=0 failed=0 magna085 : ok=5 changed=1 unreachable=0 failed=0 Expected results: ================== It should update all node Additional info:
You are testing this on a non-supported configuration, no one runs a single monitor. So during your testing you must have 3 monitors to validate this. I'm closing this as this is invalid.