Openstack Mitaka: невозможно загрузить экземпляр виртуальной машины - ошибка OSUtils
Я установил Openstack Mitaka на свежую систему Ubuntu 14.04 Trusty. Попытка настроить и запустить кластер "все в одном".
Кажется, все работает снаружи. Я попытался загрузить экземпляр Cirros, чтобы проверить, все ли в порядке. И я обнаружил, что независимо от того, что я пытаюсь, он никогда не загружается из-за этой ошибки в Nova:
nova hypervisor-list
+----+---------------------+-------+---------+
| ID | Hypervisor hostname | State | Status |
+----+---------------------+-------+---------+
| 1 | Ubuntu1404 | up | enabled |
+----+---------------------+-------+---------+
nova boot --flavor m1.tiny --image cirros --nic net-name=selfservice mybooty
+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Property | Value |
+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-SRV-ATTR:host | - |
| OS-EXT-SRV-ATTR:hostname | mybooty |
| OS-EXT-SRV-ATTR:hypervisor_hostname | - |
| OS-EXT-SRV-ATTR:instance_name | instance-00000009 |
| OS-EXT-SRV-ATTR:kernel_id | |
| OS-EXT-SRV-ATTR:launch_index | 0 |
| OS-EXT-SRV-ATTR:ramdisk_id | |
| OS-EXT-SRV-ATTR:reservation_id | r-wbquyn0t |
| OS-EXT-SRV-ATTR:root_device_name | - |
| OS-EXT-SRV-ATTR:user_data | - |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | - |
| OS-EXT-STS:vm_state | error |
| OS-SRV-USG:launched_at | - |
| OS-SRV-USG:terminated_at | - |
| accessIPv4 | |
| accessIPv6 | |
| adminPass | CB7SqqGtANaD |
| config_drive | |
| created | 2018-06-15T04:44:55Z |
| description | - |
| fault | {"message": "'Version' object does not support indexing", "code": 500, "details": " File \"/usr/lib/python2.7/dist-packages/nova/conductor/manager.py\", line 404, in build_instances |
| | context, request_spec, filter_properties) |
| | File \"/usr/lib/python2.7/dist-packages/nova/conductor/manager.py\", line 448, in _schedule_instances |
| | hosts = self.scheduler_client.select_destinations(context, spec_obj) |
| | File \"/usr/lib/python2.7/dist-packages/nova/scheduler/utils.py\", line 372, 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 121, in select_destinations |
| | return cctxt.call(ctxt, 'select_destinations', **msg_args) |
| | File \"/usr/lib/python2.7/dist-packages/oslo_messaging/rpc/client.py\", line 158, in call |
| | retry=self.retry) |
| | File \"/usr/lib/python2.7/dist-packages/oslo_messaging/transport.py\", line 90, in _send |
| | timeout=timeout, retry=retry) |
| | File \"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py\", line 470, in send |
| | retry=retry) |
| | File \"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py\", line 456, in _send |
| | msg=msg, timeout=timeout, retry=retry) |
| | File \"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py\", line 1211, in topic_send |
| | retry=retry) |
| | File \"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py\", line 1089, in _ensure_publishing |
| | self.ensure(method, retry=retry, error_callback=_error_callback) |
| | File \"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py\", line 758, in ensure |
| | ret, channel = autoretry_method() |
| | File \"/usr/lib/python2.7/dist-packages/kombu/connection.py\", line 436, in _ensured |
| | return fun(*args, **kwargs) |
| | File \"/usr/lib/python2.7/dist-packages/kombu/connection.py\", line 508, in __call__ |
| | return fun(*args, channel=channels[0], **kwargs), channels[0] |
| | File \"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py\", line 734, in execute_method |
| | method() |
| | File \"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py\", line 1119, in _publish |
| | producer.publish(msg, expiration=self._get_expiration(timeout), |
| | File \"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py\", line 1098, in _get_expiration |
| | if not versionutils.is_compatible('3.0.25', kombu_version): |
| | File \"/usr/lib/python2.7/dist-packages/oslo_utils/versionutils.py\", line 49, in is_compatible |
| | print(\"Requested: \", requested_version, \" Current: \", current_version) |
| | ", "created": "2018-06-15T04:44:55Z"} |
| flavor | m1.tiny (1) |
| hostId | |
| host_status | |
| id | 90aa5f4c-0526-4b45-b58c-884f3d4d91e0 |
| image | cirros (a9bfd6a1-2942-43c6-8b37-9d58196eed4a) |
| key_name | - |
| locked | False |
| metadata | {} |
| name | mybooty |
| os-extended-volumes:volumes_attached | [] |
| security_groups | default |
| status | ERROR |
| tenant_id | ef29d816f80f40e18af588a51df4981e |
| updated | 2018-06-15T04:44:55Z |
| user_id | 7dee1e07b5e741e0a4069244a7d44df7 |
+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Логи от нова-дирижер:
File "/usr/lib/python2.7/dist-packages/nova/conductor/manager.py", line 404, in build_instances context, request_spec, filter_properties)
File "/usr/lib/python2.7/dist-packages/nova/conductor/manager.py", line 448, in _schedule_instances hosts = self.scheduler_client.select_destinations(context, spec_obj)
File "/usr/lib/python2.7/dist-packages/nova/scheduler/utils.py", line 372, 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 121, in select_destinations return cctxt.call(ctxt, 'select_destinations', **msg_args)
File "/usr/lib/python2.7/dist-packages/oslo_messaging/rpc/client.py", line 158, in call retry=self.retry)
File "/usr/lib/python2.7/dist-packages/oslo_messaging/transport.py", line 90, in _send timeout=timeout, retry=retry)
File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 470, in send retry=retry)
File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 456, in _send msg=msg, timeout=timeout, retry=retry)
File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py", line 1211, in topic_send retry=retry)
File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py", line 1089, in _ensure_publishing self.ensure(method, retry=retry, error_callback=_error_callback)
File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py", line 758, in ensure ret, channel = autoretry_method()
File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 436, in _ensured return fun(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 508, in __call__ return fun(*args, channel=channels[0], **kwargs), channels[0]
File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py", line 734, in execute_method method()
File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py", line 1119, in _publish producer.publish(msg, expiration=self._get_expiration(timeout),
File "/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/impl_rabbit.py", line 1098, in _get_expiration if not versionutils.is_compatible('3.0.25', kombu_version):
File "/usr/lib/python2.7/dist-packages/oslo_utils/versionutils.py", line 49, in is_compatible print("Requested: ", requested_version, " Current: ", current_version)
Я подумал, что это может быть проблемой с пакетом osloutils, но пока не нашел ничего, что могло бы его охватить.
Вот журналы от нова-дирижера, где, кажется, все это происходит:
/var/log/nova# tail -f nova-conductor.log
2018-06-14 21:44:55.890 2473 ERROR oslo.messaging._drivers.impl_rabbit [req-b0ead34b-4714-4814-8148-bf8ece6f38c0 7dee1e07b5e741e0a4069244a7d44df7 ef29d816f80f40e18af588a51df4981e - - -] Failed to publish message to topic 'nova': 'Version' object does not support indexing
2018-06-14 21:44:55.891 2473 WARNING nova.scheduler.utils [req-b0ead34b-4714-4814-8148-bf8ece6f38c0 7dee1e07b5e741e0a4069244a7d44df7 ef29d816f80f40e18af588a51df4981e - - -] Failed to compute_task_build_instances: 'Version' object does not support indexing
2018-06-14 21:44:55.892 2473 WARNING nova.scheduler.utils [req-b0ead34b-4714-4814-8148-bf8ece6f38c0 7dee1e07b5e741e0a4069244a7d44df7 ef29d816f80f40e18af588a51df4981e - - -] [instance: 90aa5f4c-0526-4b45-b58c-884f3d4d91e0] Setting instance to ERROR state.
Логи от RabbitMQ указывают на что-то:
=WARNING REPORT==== 14-Jun-2018::17:51:36 ===
closing AMQP connection <0.30444.0> (10.105.166.92:38900 -> 10.105.166.92:5672):
connection_closed_abruptly
=WARNING REPORT==== 14-Jun-2018::17:51:36 ===
closing AMQP connection <0.30530.0> (10.105.166.92:38907 -> 10.105.166.92:5672):
connection_closed_abruptly
=WARNING REPORT==== 14-Jun-2018::17:51:36 ===
closing AMQP connection <0.30513.0> (10.105.166.92:38906 -> 10.105.166.92:5672):
connection_closed_abruptly
Может ли кто-нибудь помочь мне понять это? Я установил все зависимости из облачного архива ubuntu, mitaka PPA.
Вот пакеты Python, которые у меня есть:
# pip freeze
alembic==0.8.2.dev0
amqp==1.4.9
anyjson==0.3.3
appdirs==1.4.0
automaton==1.2.0
Babel==1.3
beautifulsoup4==4.2.1
boto==2.38.0
cachetools==1.1.5
castellan==0.4.0
chardet==2.0.1
cinder==8.1.1
cliff==1.15.0
cmd2==0.6.7
contextlib2==0.5.1
cryptography==1.2.3
csscompressor==0.9.4
debtcollector==1.3.0
decorator==3.4.0
defusedxml==0.4.1
Django==1.8.7
django-appconf==1.0.1
django-compressor==2.0
django-openstack-auth==2.1.1
django-pyscss==2.0.2
docutils==0.11
dogpile.cache==0.5.7
dogpile.core==0.4.1
ecdsa==0.13
enum34==1.1.2
eventlet==0.18.4
extras==0.0.3
fasteners==0.12.0
fixtures==1.3.1
FormEncode==1.2.6
funcsigs==0.4
functools32==3.2.3.post2
futures==3.0.5
futurist==0.13.0
glance==12.0.0
glance-store==0.13.0
greenlet==0.4.2
horizon==9.1.2
httplib2==0.8
idna==2.0
ipaddr==2.1.10
ipaddress==1.0.16
iso8601==0.1.11
Jinja2==2.8
jsonpatch==1.10
jsonpointer==1.9
jsonschema==2.5.1
kazoo==2.2.1.dev0
keyring==7.3
keystone==9.3.0
keystoneauth1==2.4.1
keystonemiddleware==4.4.1
kombu==3.0.33
libvirt-python==1.3.1
linecache2==1.0.0
logutils==0.3.3
lxml==3.3.3
Mako==0.9.1
manila==2.0.0
MarkupSafe==0.18
mock==1.3.0
monotonic==0.6
msgpack-python==0.4.6
netaddr==0.7.18
netifaces==0.10.4
networkx==1.11
neutron==8.4.0
neutron-fwaas==8.2.0
neutron-lib==0.0.2
nova==13.1.4
numpy==1.8.2
oauthlib==0.6.1
openstacksdk==0.8.1
os-brick==1.2.0
os-client-config==1.16.0
os-win==0.4.1
oslo.cache==1.6.0
oslo.concurrency==3.7.1
oslo.config==3.9.0
oslo.context==2.2.0
oslo.db==4.7.0
oslo.i18n==3.5.0
oslo.log==3.2.0
oslo.messaging==4.6.1
oslo.middleware==3.8.0
oslo.policy==1.6.0
oslo.reports==1.7.0
oslo.rootwrap==4.1.0
oslo.serialization==2.4.0
oslo.service==1.8.0
oslo.utils==3.8.0
oslo.versionedobjects==1.8.0
oslo.vmware==2.5.0
osprofiler==1.2.0
PAM==0.4.2
paramiko==1.16.0
passlib==1.6.5
Paste==1.7.5.1
PasteDeploy==1.5.2
PasteScript==1.7.5
pathlib==1.0.1
pbr==1.8.0
pecan==1.0.2
pika==0.10.0
pika-pool==0.1.3
Pillow==2.3.0
Pint==0.6
positional==1.0.1
posix-ipc==0.9.8
prettytable==0.7.2
psutil==1.2.1
psycopg2==2.6.1
pyasn1==0.1.9
pycadf==2.2.0
pycrypto==2.6.1
pydns==2.3.6
Pygments==2.1
pygobject==3.12.0
pyinotify==0.9.6
pylxd==0.18.0
pymemcache==1.3.2
PyMySQL==0.7.2
pyOpenSSL==0.15.1
pyparsing==2.0.1
pysaml2==3.0.0
pyScss==1.3.4
pyserial==2.6
python-apt===0.9.3.5ubuntu2
python-barbicanclient==4.0.1
python-ceilometerclient==2.4.0
python-cinderclient==1.6.0
python-dateutil==2.4.2
python-designateclient==2.1.0
python-glanceclient==2.0.0
python-heatclient==1.1.0
python-keystoneclient==2.3.1
python-manilaclient==1.8.1
python-memcached==1.53
python-mimeparse==0.1.4
python-neutronclient==4.1.1
python-novaclient==3.3.1
python-novnc===0.4-dfsg-1-20130425-git4973b9cc80
python-openid==2.2.5
python-openstackclient==2.3.1
python-swiftclient==3.0.0
pytz==2014.10
PyYAML==3.10
rcssmin==1.0.6
redis==2.10.5
repoze.lru==0.6
requests==2.9.1
requests-unixsocket==0.1.5
requestsexceptions==1.1.2
retrying==1.3.3
rfc3986==0.2.2
rjsmin==1.0.12
roman==2.0.0
Routes==2.2
scgi==1.13
SecretStorage==2.0.0
semantic-version==2.3.1
simplegeneric==0.8.1
simplejson==3.3.1
singledispatch==3.4.0.2
six==1.10.0
SQLAlchemy==1.0.11
sqlalchemy-migrate==0.10.0
sqlparse==0.1.10
stevedore==1.12.0
suds-jurko==0.7.dev0
taskflow==1.30.0
Tempita==0.5.2
testtools==1.8.1
tooz==1.34.0
traceback2==1.4.0
unicodecsv==0.14.1
unittest2==1.1.0
urllib3==1.13.1
voluptuous==0.8.8
waitress==0.8.8
warlock==1.1.0
WebOb==1.5.1
websockify==0.6.1
WebTest==2.0.18
wrapt==1.8.0
WSME==0.8.0
zake==0.1.6
Вот где вещи стоят:
# nova list
+--------------------------------------+---------+--------+------------+-------------+----------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+---------+--------+------------+-------------+----------+
| 90aa5f4c-0526-4b45-b58c-884f3d4d91e0 | mybooty | ERROR | - | NOSTATE | |
+--------------------------------------+---------+--------+------------+-------------+----------+
Я попытался переустановить пакеты Python, а также без конца. Пожалуйста, помогите мне! У меня жесткая зависимость от использования Mitaka, и мне действительно нужно, чтобы это работало.