OpenStack undercloud install fails with "ERROR: openstack The service catalog is empty."
Environment
- Red Hat Enterprise Linux OpenStack Platform (RHEL-OSP) 7
- Installer: OSP director
Issue
- When I run
openstack undercloud install
, the installer stops with this message:
ERROR: openstack The service catalog is empty.
- Additional errors are displayed on the command line:
[2015-08-12 12:26:09,083] (os-refresh-config) [ERROR] Aborting...
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/instack_undercloud/undercloud.py", line 526, in install
_run_orc(instack_env)
File "/usr/lib/python2.7/site-packages/instack_undercloud/undercloud.py", line 461, in _run_orc
_run_live_command(args, instack_env, 'os-refresh-config')
File "/usr/lib/python2.7/site-packages/instack_undercloud/undercloud.py", line 297, in _run_live_command
raise RuntimeError('%s failed. See log for details.', name)
RuntimeError: ('%s failed. See log for details.', 'os-refresh-config')
ERROR: openstack Command 'instack-install-undercloud' returned non-zero exit status 1
Resolution
As workaround
$ sudo chattr +i /etc/resolv.conf
$ openstack undercloud install
Root Cause
- on Some ealier packages the selinux-policy-devel was not configured properly
Diagnostic Steps
- Look at the error log:
Warning: /Stage[main]/Heat::Api/Service[heat-api]: Skipping because of failed dependencies
Notice: /Stage[main]/Heat::Api_cloudwatch/Service[heat-api-cloudwatch]: Dependency Package[python-mysqldb] has failures: true
Notice: /Stage[main]/Heat::Api_cloudwatch/Service[heat-api-cloudwatch]: Dependency Package[heat-api] has failures: true
Notice: /Stage[main]/Heat::Api_cloudwatch/Service[heat-api-cloudwatch]: Dependency Package[heat-api-cfn] has failures: true
Notice: /Stage[main]/Heat::Api_cloudwatch/Service[heat-api-cloudwatch]: Dependency Package[heat-api-cloudwatch] has failures: true
Notice: /Stage[main]/Heat::Api_cloudwatch/Service[heat-api-cloudwatch]: Dependency Package[heat-engine] has failures: true
Notice: /Stage[main]/Heat::Api_cloudwatch/Service[heat-api-cloudwatch]: Dependency Mysql_database[heat] has failures: true
Notice: /Stage[main]/Heat::Api_cloudwatch/Service[heat-api-cloudwatch]: Dependency Package[mysql-server] has failures: true
Notice: /Stage[main]/Heat::Api_cloudwatch/Service[heat-api-cloudwatch]: Dependency Package[mysql_client] has failures: true
Notice: /Stage[main]/Heat::Api_cloudwatch/Service[heat-api-cloudwatch]: Dependency Mysql_user[heat@%] has failures: true
Notice: /Stage[main]/Heat::Api_cloudwatch/Service[heat-api-cloudwatch]: Dependency Mysql_user[heat@x.x.x.x] has failures: true
Warning: /Stage[main]/Heat::Api_cloudwatch/Service[heat-api-cloudwatch]: Skipping because of failed dependencies
Error: Could not find a suitable provider for mysql_database
Error: Could not find a suitable provider for rabbitmq_plugin
Error: Could not find a suitable provider for mysql_user
Notice: Finished catalog run in 29.05 seconds
+ rc=6
+ set -e
+ echo 'puppet apply exited with exit code 6'
puppet apply exited with exit code 6
+ '[' 6 '!=' 2 -a 6 '!=' 0 ']'
+ exit 6
[2015-10-26 10:03:34,518] (os-refresh-config) [ERROR] during configure phase. [Command '['dib-run-parts', '/usr/libexec/os-refresh-config/configure.d']' returned non-zero exit status 6]
[2015-10-26 10:03:34,518] (os-refresh-config) [ERROR] Aborting...
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/instack_undercloud/undercloud.py", line 526, in install
_run_orc(instack_env)
File "/usr/lib/python2.7/site-packages/instack_undercloud/undercloud.py", line 461, in _run_orc
_run_live_command(args, instack_env, 'os-refresh-config')
File "/usr/lib/python2.7/site-packages/instack_undercloud/undercloud.py", line 297, in _run_live_command
raise RuntimeError('%s failed. See log for details.', name)
RuntimeError: ('%s failed. See log for details.', 'os-refresh-config')
ERROR: openstack Command 'instack-install-undercloud' returned non-zero exit status 1
hexdump -C /etc/resolv.conf #paste the output on the case
lets empty the file
/etc/resolv.conf
lets allow the network scripts to populate the resolve.conf
ifdown eth0; ifup eth0
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.