OpenStack IceHouse: ошибки аутентификации на панели управления с использованием нескольких доменов

В настоящее время я создаю прототип установки OpenStack (IceHouse RDO), используя несколько доменов для организации групп пользователей/проектов (в будущем, надеюсь, Juno, мы хотели бы перейти на [специфические для домена серверные части][1]http://docs.openstack.org/developer/keystone/configuration.html#domain-specific-drivers для поддержки нескольких механизмов аутентификации LDAP).

После [этого руководства][1]http://www.florentflament.com/blog/setting-keystone-v3-domains.html дословно Я включил несколько доменов с помощью curl. В конце этого есть новый пользователь cloud_admin, два домена adm1 и adm2, а также отдельные пользователи и проекты usr1, usr2 и prj1, prj2 соответственно.

В настоящее время я запускаю Horizon из репозитория git и включил несколько доменов:

OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_API_VERSIONS = {
     "data_processing": 1.1,
     "identity": 3,
     "volume": 2
}
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST

Мой дашборд теперь запрашивает домен помимо пользователя/пароля.

Если я войду в систему как usr1 на dom1, я войду. Однако возникают проблемы с аутентификацией всякий раз, когда Horizon пытается запросить различные службы под капотом.

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

В журнале веб-сервера я вижу такие вещи, как (я добавил x):

Login successful for user "usr1".
DeprecationWarning: check_for_test_cookie is deprecated; ensure your login view is CSRF-protected.
WARNING:py.warnings:DeprecationWarning: check_for_test_cookie is deprecated; ensure your login view is CSRF-protected.
[20/Aug/2014 20:03:58] "POST /auth/login/ HTTP/1.1" 302 0
[20/Aug/2014 20:03:58] "GET / HTTP/1.1" 302 0
novaclient connection created using token "xxxxx" and url "http://x.x.x.x:8774/v2/xxxxx"
REQ: curl -i 'http://x.x.x.x:8774/v2/xxxxx/extensions' -X GET -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Project-Id: xxxxx" -H "X-Auth-Token: {SHA1}xxxxx"
RESP: [401] {'date': 'Wed, 20 Aug 2014 20:04:26 GMT', 'content-length': '23', 'content-type': 'text/plain', 'www-authenticate': "Keystone uri='http://x.x.x.x:5000/'"}
RESP BODY: Authentication required

Все это работало лучше, когда я использовал один домен (v2 keystone API).

Мне кажется, что он неправильно генерирует токены и/или пытается использовать API аутентификации v2. Есть ли какая-то другая базовая вещь, которую я забыл настроить на стороне сервера? (возможно что-то в keystone.conf). Похоже, что другие люди, по крайней мере, смогли получить достойную работу с панелью инструментов для обычных пользователей, хотя Horizon в настоящее время, похоже, не поддерживает задачи администрирования домена,


person echapin    schedule 20.08.2014    source источник


Ответы (1)


Я не верю, что OpenStack Compute (nova) может принимать запросы Identity API v3 в выпуске Icehouse. Странно, если это ошибка, которую вы видите.

person user1411260    schedule 17.09.2014
comment
Привет, я продублировал этот вопрос здесь и разобрался! (API V3 должен быть включен с auth_version во всех файлах конфигурации службы OpenStack). - person echapin; 18.09.2014