mistral client can not get mistral url correctly with haproxy configuration
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mistral |
Fix Released
|
High
|
Nikolay Makhotkin |
Bug Description
The haproxy configuration is:
echo "#add for mistral_api8989" >> /etc/haproxy/
echo "frontend mistral_api8989-fe ${CONTROLLER_
echo " default_backend mistral_api8989-be " >> /etc/haproxy/
echo "backend mistral_api8989-be" >> /etc/haproxy/
echo " balance roundrobin" >> /etc/haproxy/
echo " server ${CONTROLLER01_
echo " server ${CONTROLLER02_
echo "" >> /etc/haproxy/
The command "netstat -nultp| grep 8989" shows:
tcp 0 0 172.16.6.121:8989 0.0.0.0:* LISTEN 21316/python
tcp 0 0 172.16.6.120:8989 0.0.0.0:* LISTEN 190522/haproxy
when I use mistral dashboard, there is an error in /var/log/
Recoverable error: HTTPConnectionP
It shows that the host to be listened is still localhost,that's not correct.
After debugging,I find that the problem is in mistralclient/
In __init__ function:
if not mistral_url:
mistral_url = "http://
In authenticate function:
if not mistral_url:
catalog = keystone.
)
if service_type in catalog:
return mistral_url, token, project_id, user_id
The problem is "mistral_url = service[
The reason is endpoint_type is "publicURL",but in service[0],it is not exist.
I find that publicURL of endpoint is used by old version of keystone,in Mitaka,keystone uses interface public and url instead of publicURL.
Changed in mistral: | |
assignee: | nobody → Lucky samadhiya (lucky-samadhiya) |
Changed in mistral: | |
assignee: | nobody → Nikolay Makhotkin (nmakhotkin) |
milestone: | none → newton-3 |
importance: | Undecided → High |
status: | New → Triaged |
Changed in mistral: | |
milestone: | newton-3 → newton-rc1 |
Great catch!