yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #31152
[Bug 1438503] Re: servicegroup.api.service_is_up() reports UP state for disabled hosts
I agree that it is valid to have a disabled host be operationally up
(and vice versa). Marking as Invalid. Chris, I'll try to get to a review
of your proposal this week.
** Changed in: nova
Status: Incomplete => Invalid
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1438503
Title:
servicegroup.api.service_is_up() reports UP state for disabled hosts
Status in OpenStack Compute (Nova):
Invalid
Bug description:
In no way should a disabled service be considered "up". I checked the
code and indeed, there is no test for whether the service record from
the DB is disabled or not:
http://git.openstack.org/cgit/openstack/nova/tree/nova/servicegroup/drivers/db.py#n68
The DB driver's get_all() method -- which is used by, say, the
scheduler to grab a list of compute nodes that it can scheduler to --
*does* only get the non-disabled hosts. You wouldn't know that by
looking at the servicegroup.drivers.db.Driver.get_all() code, though:
http://git.openstack.org/cgit/openstack/nova/tree/nova/servicegroup/drivers/db.py#n91
Since all it does is call the DB API's service_get_all_by_topic()
method.
However, look deeper in that method and lo and behold, there is a
hard-coded disabled=False filter in the SQLAlchemy query:
http://git.openstack.org/cgit/openstack/nova/tree/nova/db/sqlalchemy/api.py#n479
The DB driver's is_up() method should check to see if the
service_ref['disabled'] field is False, otherwise, return False.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1438503/+subscriptions
References