diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index 0d976315fcc8..b11157d33989 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -481,6 +481,7 @@ def service_get_minimum_version(context, binaries): models.Service.binary, func.min(models.Service.version)).\ filter(models.Service.binary.in_(binaries)).\ + filter(models.Service.deleted == 0).\ filter(models.Service.forced_down == false()).\ group_by(models.Service.binary) return dict(min_versions) diff --git a/nova/tests/unit/db/test_db_api.py b/nova/tests/unit/db/test_db_api.py index b541194fbbda..77ce6ab42d90 100644 --- a/nova/tests/unit/db/test_db_api.py +++ b/nova/tests/unit/db/test_db_api.py @@ -3601,6 +3601,10 @@ class ServiceTestCase(test.TestCase, ModelsObjectComparatorMixin): self._create_service({'version': 3, 'host': 'host2', 'binary': 'compute'}) + self._create_service({'version': 0, + 'host': 'host0', + 'binary': 'compute', + 'deleted': 1}) self.assertEqual({'compute': 2}, db.service_get_minimum_version(self.ctxt, ['compute']))