juno Boot from image (creates a new volume) не работает

93 views
Skip to first unread message

vadimv Vatlin

unread,
Jun 22, 2015, 3:39:29 PM6/22/15
to openstac...@googlegroups.com
Добрый вечер. Подскажите пожалуйста куда смотреть. 

Пытаюсь создать instance с volume, выдает ошибку
Error: Failed to launch instance "basic2": Please try again later [Error: Build of instance 30febb9e-0ef1-424a-81ca-99dac62116dc aborted: Failure prepping block device.].


В логах на compute ходе такая ошибка: 

2015-06-22 22:08:23.870 1844 INFO nova.scheduler.client.report [-] Compute_service record updated for ('compute', 'compute')
2015-06-22 22:08:30.745 1844 ERROR nova.compute.manager [-] [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc] Instance failed block device setup
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc] Traceback (most recent call last):
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1843, in _prep_block_device
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     do_check_attach=do_check_attach) +
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/virt/block_device.py", line 407, in attach_block_devices
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     map(_log_and_attach, block_device_mapping)
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/virt/block_device.py", line 405, in _log_and_attach
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     bdm.attach(*attach_args, **attach_kwargs)
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/virt/block_device.py", line 331, in attach
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     '', '', image_id=self.image_id)
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/volume/cinder.py", line 393, in create
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     item = cinderclient(context).volumes.create(size, **kwargs)
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/cinderclient/v1/volumes.py", line 187, in create
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     return self._create('/volumes', body, 'volume')
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/cinderclient/base.py", line 157, in _create
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     resp, body = self.api.client.post(url, body=body)
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/cinderclient/client.py", line 305, in post
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     return self._cs_request(url, 'POST', **kwargs)
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/cinderclient/client.py", line 269, in _cs_request
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     **kwargs)
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/cinderclient/client.py", line 252, in request
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     raise exceptions.from_response(resp, body)
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc] ClientException: The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-29514168-9b40-4422-8452-11463ab5a53c)
2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]
2015-06-22 22:08:30.746 1844 ERROR nova.compute.manager [-] [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc] Failure prepping block device
2015-06-22 22:08:30.746 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc] Traceback (most recent call last):
2015-06-22 22:08:30.746 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2242, in _build_resources
2015-06-22 22:08:30.746 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     block_device_mapping)
2015-06-22 22:08:30.746 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1871, in _prep_block_device
2015-06-22 22:08:30.746 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     raise exception.InvalidBDM()
2015-06-22 22:08:30.746 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc] InvalidBDM: Block Device Mapping is Invalid.
2015-06-22 22:08:30.746 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]
2015-06-22 22:08:30.762 1844 INFO nova.scheduler.client.report [-] Compute_service record updated for ('compute', 'compute')
2015-06-22 22:08:30.763 1844 ERROR nova.compute.manager [-] [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc] Build of instance 30febb9e-0ef1-424a-81ca-99dac62116dc aborted: Failure prepping block device.
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc] Traceback (most recent call last):
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2054, in _do_build_and_run_instance
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     filter_properties)
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2153, in _build_and_run_instance
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     'create.error', fault=e)
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 82, in __exit__
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     six.reraise(self.type_, self.value, self.tb)
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2126, in _build_and_run_instance
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     block_device_mapping) as resources:
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     return self.gen.next()
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2264, in _build_resources
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]     reason=msg)
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc] BuildAbortException: Build of instance 30febb9e-0ef1-424a-81ca-99dac62116dc aborted: Failure prepping block device.
2015-06-22 22:08:30.763 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc]
2015-06-22 22:08:30.784 1844 INFO nova.network.neutronv2.api [-] [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc] Unable to reset device ID for port None


Куда смотреть ? 

yashumitsu

unread,
Jun 22, 2015, 6:46:49 PM6/22/15
to openstac...@googlegroups.com
Добрый вечер!

В случае указанного действия ("boot from volume"), запуск ВМ выполняется на предсозданном блочном устройстве Cinder.

Из лога видно, что на запрос о создании диска Nova Compute к Cinder API, вернулась ошибка (HTTP 500):

2015-06-22 22:08:30.745 1844 TRACE nova.compute.manager [instance: 30febb9e-0ef1-424a-81ca-99dac62116dc] ClientException: The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-29514168-9b40-4422-8452-11463ab5a53c)

В первую очередь, следует проверить работоспособность Cinder:
  • вывести статус сервисов:
    • cinder-manage service list
  • посмотреть сообщения в логах (указав "verbose=True" в cinder.conf)
    • /var/log/cinder/api.log
    • /var/log/cinder/scheduler.log
    • /var/log/cinder/volume.log 

Дисковые устройства во вкладке Horizon - Volumes должны создаваться без ошибок.

Если с этим всё в порядке, проверить реквизиты аутентификации Keystone в nova.conf на хосте-гипервизоре.

Секция [keystone_authtoken] по аналогии с: http://docs.openstack.org/juno/install-guide/install/yum/content/ch_nova.html#nova-compute-install



--
Вы получили это сообщение, поскольку подписаны на группу "Russian OpenStack Community".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес openstack-russ...@googlegroups.com.
Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес openstac...@googlegroups.com.
Чтобы зайти в группу, перейдите по ссылке http://groups.google.com/group/openstack-russia.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.



--
Yakov Beschasnov

vadimv Vatlin

unread,
Jul 2, 2015, 12:50:11 PM7/2/15
to openstac...@googlegroups.com
Спасибо, Яков, все получилось. 
Действительно ошибка была в неправильных реквизитах в nova.conf. 


А такой еще глупый вопрос, можно ли через dashboard создать ВМ с чистым блочным устройством и с iso образом ОС в cdrom'е.

yashumitsu

unread,
Jul 3, 2015, 2:01:38 PM7/3/15
to openstac...@googlegroups.com
Вадим, приветствую, не за что!

Просто подключить ISO из Horizon, в данных версиях, к сожалению нельзя.

Хотя технически, установиться с ISO возможно следующими способами:

1. Если ВМ создана не на Volume. Из консоли (в Horizon этой команды пока нет), выполнить:

  nova rescue --image <image> <vm>

и после установки:

  nova unrescue <vm>

2a. Создать ВМ с ISO-образом из Glance. Подключить к ВМ блочное устройство.

После инсталляции, удалить ВМ, дополнительный диск при этом останется. Проверить, что у блочного устройства параметр "Boot" равен "yes"  (при необходимости, редактируется через "Edit Volume").

Загрузить новую ВМ на основе подготовленного диска, с помощью "Boot from volume"

2b. Установив систему на блочное устройство, создать из него снимок, который в последствии можно использовать как обычный образ.


Reply all
Reply to author
Forward
0 new messages