Вопрос или проблема
DEBUG novaclient.v2.client REQ: curl -g -i -X POST http://controller:8774/v2.1/servers -H “Accept: application/json” -H “Content-Type: application/json” -H “OpenStack-API-Version: compute 2.60” -H “User-Agent: python-novaclient” -H “X-Auth-Token: {SHA256}2ac706cb1e4e19eeb414255df32d44f8515dd7a13d77aa1620ae570199ea1076” -H “X-OpenStack-Nova-API-Version: 2.60” -d ‘{“server”: {“name”: “TestInstance”, “imageRef”: “”, “flavorRef”: “0”, “key_name”: “xxx_laptop”, “min_count”: 1, “max_count”: 1, “security_groups”: [{“name”: “e7bd6c22-e789-46c0-a1c0-b6756e73f39a”}, {“name”: “85d01deb-bc4d-4649-acc0-780f4f466ecb”}], “availability_zone”: “nova”, “block_device_mapping_v2”: [{“source_type”: “image”, “destination_type”: “volume”, “delete_on_termination”: false, “uuid”: “b89274d2-b871-42b0-b44f-e5902152bb73”, “boot_index”: “0”, “volume_size”: 1}], “networks”: [{“uuid”: “369e44fa-ae0f-47a7-a09e-5c18a92df788”}], “OS-DCF:diskConfig”: “AUTO”}}’
[Пн 30 сен 2024 16:06:16.396265] [authz_core:error] [pid 3806006:tid 140283471709952] [client xxx.xx.xx.xx:51450] AH01630: доступ клиента запрещён конфигурацией сервера: /usr/bin/keystone-wsgi-public
[Пн 30 сен 2024 16:06:16.402290] [wsgi:error] [pid 3805994:tid 140283623089920] [remote xxx.xx.xx.xxx:50198] DEBUG novaclient.v2.client RESP: [400] Connection: keep-alive Content-Length: 134 Content-Type: application/json; charset=UTF-8 Date: Пн, 30 сен 2024 08:06:16 GMT Openstack-Api-Version: compute 2.60 Vary: OpenStack-API-Version, X-OpenStack-Nova-API-Version X-Compute-Request-Id: req-73280771-79cb-4f55-a72b-ce3407c368d4 X-Openstack-Nova-Api-Version: 2.60 X-Openstack-Request-Id: req-73280771-79cb-4f55-a72b-ce3407c368d4
[Пн 30 сен 2024 16:06:16.402659] [wsgi:error] [pid 3805994:tid 140283623089920] [remote xxx.xx.xx.xxx:50198] DEBUG novaclient.v2.client RESP BODY: {“badRequest”: {“code”: 400, “message”: “Ошибка блока устройства: не удалось получить изображение b89274d2-b871-42b0-b44f-e5902152bb73.”}}
Ответ или решение
Проблема, с которой вы столкнулись при попытке создать экземпляр в OpenStack через Horizon, выглядит как сочетание нескольких факторов, включая ошибки конфигурации сервера и некорректное отображение блочных устройств. Давайте рассмотрим, как можно решить данные проблемы.
Ошибка "client denied by server configuration"
-
Проблемы с авторизацией:
- Строка в логе:
client denied by server configuration: /usr/bin/keystone-wsgi-public
указывает на проблемы с доступом к Keystone, который отвечает за авторизацию пользователей в OpenStack. - Убедитесь, что конфигурация вашего веб-сервера (например, Apache) корректна и разрешает доступ к начальному сервису Keystone. Проверьте настройки файлы конфигурации Apache (например,
/etc/httpd/conf/httpd.conf
или/etc/apache2/sites-enabled/keystone.conf
) и убедитесь, что там нет правил, запрещающих доступ к необходимым ресурсам.
- Строка в логе:
-
Права доступа:
- Проверьте, что пользователь, под которым выполняется веб-сервер, имеет необходимые права для доступа к папкам и файлам Keystone. Это может включать права на чтение для конфигурационных файлов и прав доступа к базам данных.
Ошибка "Block Device Mapping is Invalid"
-
Проблемы с UUID образа:
- Лог указывает на ошибку:
Block Device Mapping is Invalid: failed to get image b89274d2-b871-42b0-b44f-e5902152bb73
. Это говорит о том, что образ, указанный вblock_device_mapping_v2
, не существует или недоступен. - Проверьте, что образ с указанным UUID действительно существует в вашем OpenStack. Это можно сделать с помощью команды:
openstack image list
- Если образ отсутствует, вам нужно либо создать его, либо использовать корректный UUID существующего образа.
- Лог указывает на ошибку:
-
Параметры блочного устройства:
- Убедитесь, что параметры в разделе
block_device_mapping_v2
корректны. Если вы используете уже существующий образ, он должен быть в статусеactive
. Также проверьте, что размер тома (в вашем случаеvolume_size
) соответствует минимальным требованиям для этого образа.
- Убедитесь, что параметры в разделе
Общие рекомендации
-
Проверка конфигурации Horizon:
- Убедитесь, что ваша конфигурация Horizon корректна и что все сервисы OpenStack правильно зарегистрированы. Проверьте файл
local_settings.py
в директории с настройками Horizon на наличие ошибок.
- Убедитесь, что ваша конфигурация Horizon корректна и что все сервисы OpenStack правильно зарегистрированы. Проверьте файл
-
Логи OpenStack:
- Всегда полезно просматривать логи всех компонентов OpenStack, чтобы получить больше информации о произошедших ошибках. Логи можно найти обычно в
/var/log/nova/
для Nova, и/var/log/keystone/
для Keystone.
- Всегда полезно просматривать логи всех компонентов OpenStack, чтобы получить больше информации о произошедших ошибках. Логи можно найти обычно в
Следуя указанным шагам, вы сможете диагностировать и решить проблемы, связанные с созданием экземпляра в OpenStack. Если проблемы сохраняются, можно рассмотреть возможность обращения к документации OpenStack или к сообществу для получения дополнительной помощи.