Вопрос или проблема
Я использую OpenStack Keystone для проверки пользователей в OpenStack Swift. Но, похоже, версия Keystone не совместима с версией Swift или что-то еще, чего я не знаю. Пожалуйста, помогите.
Я использую версию Yoga на Ubuntu 20. Команды, которые я выполнил перед установкой компонентов:
$ sudo apt -y install software-properties-common
$ sudo add-apt-repository cloud-archive:yoga
$ sudo apt -y update && sudo apt -y upgrade
Пожалуйста, проверьте статус службы swift-proxy
.
$ sudo systemctl status swift-proxy
● swift-proxy.service - OpenStack Swift proxy server
Loaded: loaded (/lib/systemd/system/swift-proxy.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2025-01-08 10:48:31 UTC; 3s ago
Docs: man:swift-proxy-server(1)
Main PID: 29909 (swift-proxy-ser)
Tasks: 3 (limit: 2218)
Memory: 99.9M
CGroup: /system.slice/swift-proxy.service
├─29909 /usr/bin/python3 /usr/bin/swift-proxy-server /etc/swift/proxy-server.conf
├─29931 /usr/bin/python3 /usr/bin/swift-proxy-server /etc/swift/proxy-server.conf
└─29932 /usr/bin/python3 /usr/bin/swift-proxy-server /etc/swift/proxy-server.conf
Jan 08 10:48:33 proxy1 proxy-server[29932]: STDERR: The option "user" is not known to keystonemiddleware
Jan 08 10:48:33 proxy1 proxy-server[29932]: STDERR: The option "log_name" is not known to keystonemiddleware
Jan 08 10:48:33 proxy1 proxy-server[29932]: STDERR: The option "auth_url" is not known to keystonemiddleware
Jan 08 10:48:33 proxy1 proxy-server[29932]: STDERR: The option "project_domain_name" is not known to keystonemiddleware
Jan 08 10:48:33 proxy1 proxy-server[29932]: STDERR: The option "user_domain_name" is not known to keystonemiddleware
Jan 08 10:48:33 proxy1 proxy-server[29932]: STDERR: The option "project_name" is not known to keystonemiddleware
Jan 08 10:48:33 proxy1 proxy-server[29932]: STDERR: The option "username" is not known to keystonemiddleware
Jan 08 10:48:33 proxy1 proxy-server[29932]: STDERR: The option "password" is not known to keystonemiddleware
Jan 08 10:48:33 proxy1 proxy-server[29932]: STDERR: The option "__name__" is not known to keystonemiddleware
Jan 08 10:48:33 proxy1 proxy-server[29909]: Started child 29932 from parent 29909
Было установлено keystonemiddleware
:
$ sudo apt install -y python3-keystonemiddleware
Конфигурация swift-proxy
:
[pipeline:main]
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server
...
[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = swift
password = password
delay_auth_decision = True
...
На узле controller я могу видеть статистику Swift, но не могу создать или вывести список контейнеров, что заставляет меня думать, что проблема в узле swift-proxy.
$ . admin-openrc
$ swift stat
Account: AUTH_aaedb5bd27ff4c4f83e06bcfd2070ac0
Containers: 0
Objects: 0
Bytes: 0
Content-Type: text/plain; charset=utf-8
X-Timestamp: 1736324719.03515
X-Put-Timestamp: 1736324719.03515
Vary: Accept
X-Trans-Id: tx11bd046e687048c3b6a36-00677e3641
X-Openstack-Request-Id: tx11bd046e687048c3b6a36-00677e3641
$ openstack container list
Unrecognized schema in response body. (HTTP 503) (Request-ID: txeb877a4151e74113b4d94-00677e4610)
Ответ или решение
Конфигурация OpenStack Swift и Keystone производит определенные проблемы, связанные с несовместимостью параметров, как видно из сообщений об ошибках: «The option "user" is not known to keystonemiddleware» и других аналогичных. Это означает, что некоторые параметры конфигурации вашего swift-proxy несовместимы с текущей версией keystonemiddleware. Данная ситуация может быть связана с изменениями в API Keystone, поскольку параметры могут различаться между версиями OpenStack.
Возможные решения:
-
Проверка версии: Убедитесь, что версии компонентов OpenStack совместимы. Yoga версия предполагает использование и соответствующего выпуска Swift и Keystone. Неправильные версии могут вызвать указанную проблему.
-
Обновление конфигурации:
- Убедитесь, что список используемых вами параметров соответствует конфигурационным параметрам актуальной версии keystonemiddleware. Ваша конфигурация
[filter:authtoken]
должна следовать последним рекомендациям документации OpenStack. - Например, в конфигурации может отсутствовать параметр
auth_url
, соответствующий API версии. Убедитесь, что используются корректные параметры согласно версии Yoga.
- Убедитесь, что список используемых вами параметров соответствует конфигурационным параметрам актуальной версии keystonemiddleware. Ваша конфигурация
-
Документирование изменений: Ознакомьтесь с документами по релизу Yoga и проверьте наличие изменений в параметрах keystonemiddleware.
-
Устранение проблем с подключением:
- Изучите связь между контроллером и swift-proxy узлами, поскольку HTTP 503 указывает на проблемы с соединением или доступностью сервиса.
- Проверьте состояние сети и доступность конечных точек входа. Используйте команды наподобие
curl
для проверки доступности URL.
-
Логирование и отслеживание:
- Изучите логи на контроллере и swift-proxy узле для получения более подробной информации о сбое.
- Убедитесь, что другие сервисы OpenStack функционируют корректно.
Если вышеуказанные шаги не решают проблему, подумайте о создании нового тикета в багтрекере OpenStack или на форумах сообщества, чтобы найти более специфичные рекомендации от других специалистов.
Для повышения SEO оптимизации:
- Убедитесь, что ключевые термины, такие как «OpenStack Swift», «Keystone», «Yoga», «Ubuntu 20», отражены в данном тексте.
- Используйте заголовки для структуры текста и улучшения навигации.
Пожалуйста, в случае дополнительных сложностей в обращении к сообществу вы можете предоставить дополнительные детали конфигурации для более целенаправленного решения.