Ошибка начальной области установки Openstack swift (SAIO) "Не удалось найти обработчики для регистратора" keystonemiddleware._common.config " - PullRequest
2 голосов
/ 11 апреля 2020

Во-первых, я знаю, что stackoverflow используется в основном для программирования, но я не нашел лучшего места, чтобы задать этот вопрос.

Я пытался установить swift, используя это руководство: https://docs.openstack.org/swift/latest/development_saio.html

Я добавил authtoken и keystoneauth в proxy-server.conf (ниже) и настроил их на прослушивание порта 8080 на 127.0.0.1

У меня проблемы с аутентификацией swift и, возможно, с правильным запуском службы. При использовании сценария запуска - startmain я получаю следующий вывод:

Starting proxy-server...(/etc/swift/proxy-server.conf)
Starting container-server...(/etc/swift/container-server/1.conf)
Starting container-server...(/etc/swift/container-server/2.conf)
Starting container-server...(/etc/swift/container-server/3.conf)
Starting container-server...(/etc/swift/container-server/4.conf)
Starting account-server...(/etc/swift/account-server/1.conf)
Starting account-server...(/etc/swift/account-server/2.conf)
Starting account-server...(/etc/swift/account-server/3.conf)
Starting account-server...(/etc/swift/account-server/4.conf)
Starting object-server...(/etc/swift/object-server/1.conf)
Starting object-server...(/etc/swift/object-server/2.conf)
Starting object-server...(/etc/swift/object-server/3.conf)
Starting object-server...(/etc/swift/object-server/4.conf)
No handlers could be found for logger "keystonemiddleware._common.config"

И служба запускается, она прослушивает порт 8080, и я могу отправить запрос без аутентификации и получить 200 без проблем. Но когда я пытаюсь выполнить аутентификацию с помощью полученного токена, например:

curl -v -H "X-Auth-Token: $ token" http://127.0.0.1: 8080 / auth / v1. 0 (токен правильный, например, AUTH_tk93bdad0ee5ab4814896a0d3f1cff025e) Я получаю HTTP / 1.1 401 Unauthorized

Кроме того, когда я пытаюсь использовать команду swift cli: swift --debug stat - я получаю HTTP 500 swift --debug -A http://127.0.0.1: 8080 / auth / v1.0 -U тест: тестер -K статистика тестирования - я получаю метод, запрещенный (HTTP 405)

My proxy-server.conf is:

[DEFAULT]
bind_ip = 127.0.0.1
bind_port = 8080
workers = 1
user = admin
log_facility = LOG_LOCAL1
eventlet_debug = true

[pipeline:main]
# Yes, proxy-logging appears twice. This is so that
# middleware-originated requests get logged too.
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache etag-quoter listing_formats bulk tempurl ratelimit  authtoken keystoneauth crossdomain container_sync tempauth staticweb copy container-quotas account-quotas slo dlo versioned_writes symlink proxy-logging proxy-server

[filter:catch_errors]
use = egg:swift#catch_errors

[filter:healthcheck]
use = egg:swift#healthcheck

[filter:proxy-logging]
use = egg:swift#proxy_logging

[filter:bulk]
use = egg:swift#bulk

[filter:ratelimit]
use = egg:swift#ratelimit

[filter:crossdomain]
use = egg:swift#crossdomain

[filter:dlo]
use = egg:swift#dlo

[filter:slo]
use = egg:swift#slo

[filter:container_sync]
use = egg:swift#container_sync
current = //saio/saio_endpoint

[filter:tempurl]
use = egg:swift#tempurl

[filter:tempauth]
use = egg:swift#tempauth
user_root_root = root .root .reseller_root
user_admin_admin = admin .admin .reseller_admin
user_test_tester = testing .root
user_test_tester2 = testing2 .root
user_test_tester3 = testing3
user_test2_tester2 = testing2 .root

[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
#www_authenticate_uri = http://127.0.0.1:5000
auth_uri = http://127.0.0.1:5000
auth_url = http://127.0.0.1:5000
memcached_servers = 127.0.0.1:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = swift
password = admin
delay_auth_decision = True

[filter:keystoneauth]
use = egg:swift#keystoneauth
operator_roles = admin, swift, root
is_admin = true
#operator_roles = root,admin

[filter:staticweb]
use = egg:swift#staticweb

[filter:account-quotas]
use = egg:swift#account_quotas

[filter:container-quotas]
use = egg:swift#container_quotas

[filter:cache]
use = egg:swift#memcache
memcache_servers = 127.0.0.1:11211

[filter:etag-quoter]
use = egg:swift#etag_quoter
enable_by_default = false

[filter:gatekeeper]
use = egg:swift#gatekeeper

[filter:versioned_writes]
use = egg:swift#versioned_writes
allow_versioned_writes = true
allow_object_versioning = true

[filter:copy]
use = egg:swift#copy

[filter:listing_formats]
use = egg:swift#listing_formats

[filter:symlink]
use = egg:swift#symlink

# To enable, add the s3api middleware to the pipeline before tempauth
[filter:s3api]
use = egg:swift#s3api
s3_acl = yes
check_bucket_owner = yes

# Example to create root secret: `openssl rand -base64 32`
[filter:keymaster]
use = egg:swift#keymaster
encryption_root_secret = changeme/changeme/changeme/changeme/change/=

# To enable use of encryption add both middlewares to pipeline, example:
# <other middleware> keymaster encryption proxy-logging proxy-server
[filter:encryption]
use = egg:swift#encryption

[app:proxy-server]
use = egg:swift#proxy
allow_account_management = true
account_autocreate = true

Есть ли у вас какие-либо идеи, почему при запуске swift с помощью startmain я получаю

No handlers could be found for logger "keystonemiddleware._common.config"

И что я могу сделать неправильно, чтобы не пройти аутентификацию.

...