If you upgrade the undercloud (openstack undercloud upgrade) before doing an actual overcloud deployment (either because it failed, or you did not do it yet, or because you deleted the overcloud) it will fail with:
2018-02-15 10:11:16,691 INFO: Starting and waiting for validation groups ['post-upgrade']
2018-02-15 10:11:39,998 ERROR: ERROR error running the validation groups ['post-upgrade'] {"stderr": "[DEPRECATION WARNING]: DEFAULT_SUDO_FLAGS option, In favor of become which is a\n generic framework . This feature will be removed in version 2.8. Deprecation \nwarnings can be disabled by setting deprecation_warnings=False in ansible.cfg.\n", "stdout": "Task 'Fail if the HorizonPublic endpoint is not defined' failed:\nHost: localhost\nMessage: The `HorizonPublic` endpoint is not defined in the `EndpointMap` of the deployed stack. This means Horizon may not have been deployed correctly.\n\nFailure! The validation failed for all hosts:\n* localhost\n"} {"stderr": "[DEPRECATION WARNING]: DEFAULT_SUDO_FLAGS option, In favor of become which is a\n generic framework . This feature will be removed in version 2.8. Deprecation \nwarnings can be disabled by setting deprecation_warnings=False in ansible.cfg.\n", "stdout": "Task 'Check stack resource statuses' failed:\nHost: localhost\nMessage: An unhandled exception occurred while running the lookup plugin 'stack_resources'. Error was a <class 'heatclient.exc.HTTPNotFound'>, original message: ERROR: The Stack (overcloud) could not be found.\n\nFailure! The validation failed for all hosts:\n* localhost\n"} Mistral execution ID: 6609664d-ca44-46aa-a2ee-106a79e4b6f6
Also this will probably trigger if the overcloud stack is named differently?