После аутентификации, если я вызываю какой-либо метод, например os.compute().flavors().list()
или os.images().list()
, я получаю connect timed out
.Почему это происходит?
Я установил OpenStack с пакетом стека RDO на виртуальной машине GoogleCloudsPlataform.Я делаю авторизацию с доменом и проектом.Я пытался выполнить аутентификацию без проекта, и вызовы методов не выполнялись по тайм-ауту, но ответы были неправильными, например, если я вызывал списочные варианты, ничего не возвращалось.
Если я делаю эти вызовы с конечными точками API, это работает;если я авторизуюсь с той же информацией (пользователь, пароль, домен, проект) и вызываю варианты или изображения, это работает.
Код авторизации:
OSClient.OSClientV3 os = OSFactory.builderV3()
.endpoint("http://host:5000/v3")
.credentials("admin", "pass", domain)
.scopeToProject(project)
.authenticate();
os.compute().flavors().list(); // "connection timed out" code
Вызов аутентификации конечной точки (работает):
curl -i \
-H "Content-Type: application/json" \
-d '
{ "auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "admin",
"domain": { "id": "default" },
"password": "pass"
}
}
},
"scope": {
"project": {
"name": "admin",
"domain": { "id": "default" }
}
}
}
}' \
"http://host:5000/v3/auth/tokens" ; echo
Вызов изображений конечной точки:
curl -v -i -H "Content-Type: application/json" -H "X-Auth-Token:token" "http://host:8774/v2/images"; echo