OpenStack Horization error message
no valid host was found. There are not enough hosts available. Code 500 Details File "/usr/lib/python2.7/dist-packages/nova/conductor/manager.py", line 526, in build_instances context, request_spec, filter_properties) File "/usr/lib/python2.7/dist-packages/nova/conductor/manager.py", line 597, in _schedule_instances hosts = self.scheduler_client.select_destinations(context, spec_obj) File "/usr/lib/python2.7/dist-packages/nova/scheduler/utils.py", line 371, in wrapped return func(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/nova/scheduler/client/__init__.py", line 51, in select_destinations return self.queryclient.select_destinations(context, spec_obj) File "/usr/lib/python2.7/dist-packages/nova/scheduler/client/__init__.py", line 37, in __run_method return getattr(self.instance, __name)(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/nova/scheduler/client/query.py", line 32, in select_destinations return self.scheduler_rpcapi.select_destinations(context, spec_obj) File "/usr/lib/python2.7/dist-packages/nova/scheduler/rpcapi.py", line 129, in select_destinations return cctxt.call(ctxt, 'select_destinations', **msg_args) File "/usr/lib/python2.7/dist-packages/oslo_messaging/rpc/client.py", line 169, in call retry=self.retry) File "/usr/lib/python2.7/dist-packages/oslo_messaging/transport.py", line 97, in _send timeout=timeout, retry=retry) File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 458, in send retry=retry) File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 449, in _send raise result |
Possible reason
* if using cloud uefi image, it needs to install qemu-efi package in computer node, don’t know why it won’t install it automatically .
$ apt install qemu-efi
* when add new UEFI image, it needs to add new meta data parameter in Horization
hw_firmware_type=uefi
if see
2017-08-01 14:02:13.612 2409 ERROR nova.compute.manager [instance: b334f0b3-ca9a-4f9a-b488-532dce00265a] libvirtError: unsupported configuration: logfile not supported in this QEMU binary 2017-08-01 14:02:13.612 2409 ERROR nova.compute.manager [instance: b334f0b3-ca9a-4f9a-b488-532dce00265a] # Use the "logd" backend for handling stdout/stderr from QEMU processes. |
Reason
* Libvirt later version support new function, logd, it’s a new console log function, but ARM64 doesn’t support it. workaround solution is to disable it
Edit file /usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py, find
MIN_LIBVIRT_VIRTLOGD = (1, 3, 3) MIN_QEMU_VIRTLOGD = (2, 7, 0) |
Replaced it with
MIN_LIBVIRT_VIRTLOGD = (9, 9, 9) MIN_QEMU_VIRTLOGD = (9, 9, 9) |
it can avoid to call libvirt logd function.
rm -f /usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.pyc, make sure it will call .py
then, reboot service (or system)
Ref.
http://dozencloud.org/
發佈留言