Вопрос или проблема
Я устанавливаю OpenStack службы, такие как Keystone, Nova и Swift и т. д., но при установке службы Keystone появляется ошибка: “Ваш запрос требует аутентификации. (HTTP 401) (Request-ID: req-a4af8573-cfb9-490e-b146-f0bce2cfa0b5)”, и после решения этой проблемы я столкнулся с другой ошибкой: “Отсутствует значение auth-url, необходимое для auth-plugin password”. Я не могу перейти к другой службе, если Keystone не установлен полностью. Я сталкиваюсь с этой проблемой с командой “openstack token issue”. Из-за этой ошибки я не могу создать проекты Keystone, домены, пользователей и роли. Пожалуйста, помогите мне решить эту проблему.
Ответ или решение
Установка OpenStack на сервере Ubuntu в облаке AWS EC2 может быть сложным процессом, особенно если вы сталкиваетесь с проблемами при развёртывании ключевых компонентов, таких как Keystone. Рассмотрим подробнее, как решить упомянутые проблемы и успешно установить Keystone.
Теория
Keystone является компонентом управления идентификацией в OpenStack и необходим для аутентификации пользователей, предоставления токенов, а также управления проектами, доменами и ролями. Ошибки, с которыми вы столкнулись, указывают на проблемы в конфигурации Keystone, в частности, с аутентификацией и параметрами подключения.
Ошибка HTTP 401 «The request you have made requires authentication» свидетельствует о проблемах с аутентификацией, что может быть вызвано неверной конфигурацией сервисных файлов или отсутствием необходимых учетных данных. Вторая ошибка — «Missing value auth-url required for auth plugin password» — говорит о том, что в конфигурационных файлах отсутствует обязательный URL для аутентификации.
Пример
Для примера, рассмотрим стандартный процесс, который должен быть выполнен для корректной настройки Keystone. Процесс состоит из установки пакетов, настройки конфигурационных файлов и выполнения команд для инициализации системной базы данных.
-
Установка пакетов Keystone:
sudo apt-get update sudo apt-get install keystone apache2 libapache2-mod-wsgi
-
Конфигурация файла
/etc/keystone/keystone.conf
:Убедитесь, что секции
[database]
и[token]
настроены корректно, а также все значения заменены действительными данными:[database] connection = mysql+pymysql://keystone:KESTONE_DBPASSWORD@CONTROLLER/keystone [token] provider = fernet
-
Создание базы данных Keystone и её инициализация:
Подключитесь к MySQL и выполните:
CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KESTONE_DBPASSWORD'; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KESTONE_DBPASSWORD';
Затем выполните инициализацию:
su -s /bin/sh -c "keystone-manage db_sync" keystone keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
-
Инициализация Apache HTTP службы:
Убедитесь, что Apache настроен для работы с Keystone и добавлены соответствующие виртуальные узлы:
echo "ServerName CONTROLLER" | sudo tee /etc/apache2/conf-available/servername.conf sudo a2enconf servername sudo service apache2 restart
-
Настройка окружения для выполнения команд OpenStack:
Создайте файл сценария, который экспортирует переменные окружения:
export OS_USERNAME=admin export OS_PASSWORD=ADMIN_PASS export OS_PROJECT_NAME=admin export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_NAME=Default export OS_AUTH_URL=http://CONTROLLER:5000/v3 export OS_IDENTITY_API_VERSION=3
Применение
Теперь перейдем к конкретным действиям, которые могут помочь в решении вашего вопроса:
-
Проверка настроек окружения:
Убедитесь, что все переменные окружения правильно настроены. Особенно проверьте
OS_AUTH_URL
— именно этот параметр часто становится причиной ошибок аутентификации. -
Проверка конфигурации Keystone:
Откройте файл
/etc/keystone/keystone.conf
и убедитесь, что все параметры конфигурации заполнены правильно, особенно те, что связаны с базой данных и аутентификацией. -
Логи Keystone и Apache:
Логи часто содержат подробную информацию о возникающих ошибках. Проверьте файлы
/var/log/keystone/keystone.log
и/var/log/apache2/error.log
для выявления специфических ошибок, которые могут указать на реальные проблемы конфигурации. -
Повторная установка и настройка:
Если проблема не решена, попробуйте удалить и установить Keystone заново, следуя наилучшим практикам и актуальной документации OpenStack для вашей версии.
Это, конечно, общее руководство, и конфигурация может отличаться в зависимости от вашей специфической архитектуры и версии OpenStack. Грамотная проработка каждого шага конфигурации является ключом к успешной установке и дальнейшей эксплуатации Keystone и других компонентов OpenStack.