service_type and service_name which is specified in nova_catalog_admin_info are not used
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
masakari |
Fix Released
|
Undecided
|
takahara.kengo |
Bug Description
[Bug]
When there are two endpoints v2 and v2.1, masakari execute nova api toward v2.
And then, host-failure recovery was failed.
As a result of investigating, we found that the exception occurred in the following code.
* masakari/
-----
def _evacuate_
# Before locking the instance check whether it is already locked
# by user, if yes don't lock the instance
-----
As bellow, we surrounded the get_server() call by try section in order to catch exception for debug.
-----
try:
except:
import sys
-----
And then we found that the AttributeError was occurred.
(<type 'exceptions.
[Environment]
There are both nova v2 endpoint and nova v2.1 endpoint.
v2 endpoint is opend to end users. And v2.1 endpoint is used only by masakari.
+------
| novav21 | Value |
+------
| adminURL | http://
| id | 7b7d2578a22e42a
| internalURL | http://
| publicURL | http://
| region | RegionOne |
+------
+------
| nova | Value |
+------
| adminURL | https:/
| id | 468f6393fd2e429
| internalURL | http://
| publicURL | https:/
| region | RegionOne |
+------
"****" is mask. Original endpoint url is valid.
And masakari.conf is set as bellow.
-----
Match this value when searching for nova in the service catalog. Format is:
# separated values of the form: <service_
# (string value)
#nova_catalog_
nova_catalog_
-----
[Cause of the bug]
Masakari should use v2.1 since masakari.conf is set as described in [Environment].
But masakari-engine executed evacuate with v2 instead of v2.1.
So we modified the code masakari/
And then, evacuation succeeded.
-----
$ diff -u masakari/
--- masakari/
+++ masakari/
@@ -124,6 +124,8 @@
+ service_
+ service_
-----
service_type and service_name were not used before modifying the code.
However, I think that they should be used as arguments when masakari creates a novaclient object.
Changed in masakari: | |
assignee: | nobody → takahara.kengo (takahara.kengo) |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
This bug was happend in the below environment.
* There are both nova v2 endpoint and nova v2.1 endpoint.
** v2 endpoint is opend to end users.
** v2.1 endpoint is used only by masakari.
+------ ------- +------ ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ ------- +------ ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ not.defined/ | 2992a00d47a8058 27 | ****/v2. 1/aee85dff980f4 b0f94bed7861765 acc7 | not.defined/ | ------- +------ ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ ------- +------ ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- + ------- +------ ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- + /****/v2/ aee85dff980f4b0 f94bed7861765ac c7 | fac5d99eafbc73a b4 | ****/v2/ aee85dff980f4b0 f94bed7861765ac c7 | /****/v2/ aee85dff980f4b0 f94bed7861765ac c7 | ------- +------ ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- +
| novav21 | Value |
+------
| adminURL | http://
| id | 7b7d2578a22e42a
| internalURL | http://
| publicURL | http://
| region | RegionOne |
+------
+------
| nova | Value |
+------
| adminURL | https:/
| id | 468f6393fd2e429
| internalURL | http://
| publicURL | https:/
| region | RegionOne |
+------
"****" is mask. Original endpoint url is valid.