Some customers deploy OC using names of roles or host groups with capital letters. This can lead to situation when during upgrade "openstack overcloud upgrade run --nodes <HOSTNAME>" may fail dues to hostname mismatch.
Example:
Thursday 08 November 2018 13:17:09 +0200 (0:00:00.036) 0:00:00.808 *****
fatal: [localhost]: FAILED! => {"changed": true, "cmd": "openstack overcloud upgrade run --nodes overcloud-SriovPerformanceCompute-0 --playbook upgrade_steps_playbook.yaml --skip-tags validation",
............
.log'}, u'module_path': u'/usr/share/ansible-modules', u'nodes': u'overcloud-SriovPerformanceCompute-0', u'node_user': u'heat-admin', u'ansible_queue_name': u'upgrade'}, u'id': u'2be38f76-fc26-41b4-b773-5137b92d9b28'}}"], "stdout": "Started Mistral Workflow tripleo.package_update.v1.update_nodes. Execution ID: 2be38f76-fc26-41b4-b773-5137b92d9b28\n[u'Using /tmp/ansible-mistral-actionFVV7B0/ansible.cfg as config file',\n u' [WARNING]: Skipping unexpected key (hostvars) in group (_meta), only \"vars\",',\n u'\"children\" and \"hosts\" are valid',\n u' [WARNING]: Could not match supplied host pattern, ignoring: overcloud-',\n u'SriovPerformanceCompute-0',\n u'ERROR! Specified hosts and/or --limit does not match any hosts']", "stdout_lines": ["Started Mistral Workflow tripleo.package_update.v1.update_nodes. Execution ID: 2be38f76-fc26-41b4-b773-5137b92d9b28", "[u'Using /tmp/ansible-mistral-actionFVV7B0/ansible.cfg as config file',", " u' [WARNING]: Skipping unexpected key (hostvars) in group (_meta), only \"vars\",',", " u'\"children\" and \"hosts\" are valid',", " u' [WARNING]: Could not match supplied host pattern, ignoring: overcloud-',", " u'SriovPerformanceCompute-0',", " u'ERROR! Specified hosts and/or --limit does not match any hosts']"]}
The problem here is that node name is passed from TripleO client to Mistral workflow and Mistral generate playbooks to execute.
The main script which executes that playbook: "/tmp/ansible-mistral-XXXXXXXXXX/ansible-playbook-command.sh" use ansible --limit option.
And finally --limit option seems work more like regexp.
--nodes overcloud-SriovPerformanceCompute-0 -> FAILS
--nodes overcloud-sriovperformancecompute-0 -> PASS
Fix proposed to branch: master /review. openstack. org/616542
Review: https:/