Revert "Make host_aggregate_map dictionary case-insensitive"
This reverts commit0dc0db932e
. The original change caused our host state processing to be inconsistent with our own hypervisors API. Automation tooling that used our API to add hosts to aggregates would fail silently. We are reverting this and will propose a check on the aggregate host add action which will confirm the case-sensitive mapping of the host being added, which is what we should have done in the first place. Change-Id: Ibd44ba9de5680958f55f0ae6325cfc33dabadc4c Closes-Bug: #1793747 (cherry picked from commitc9448cbdbf
)
This commit is contained in:
parent
24531a3583
commit
c8ea8ed466
|
@ -376,7 +376,7 @@ class HostManager(object):
|
|||
for agg in aggs:
|
||||
self.aggs_by_id[agg.id] = agg
|
||||
for host in agg.hosts:
|
||||
self.host_aggregates_map[host.lower()].add(agg.id)
|
||||
self.host_aggregates_map[host].add(agg.id)
|
||||
|
||||
def update_aggregates(self, aggregates):
|
||||
"""Updates internal HostManager information about aggregates."""
|
||||
|
@ -395,7 +395,7 @@ class HostManager(object):
|
|||
for host in self.host_aggregates_map:
|
||||
if (aggregate.id in self.host_aggregates_map[host]
|
||||
and host not in aggregate.hosts):
|
||||
self.host_aggregates_map[host.lower()].remove(aggregate.id)
|
||||
self.host_aggregates_map[host].remove(aggregate.id)
|
||||
|
||||
def delete_aggregate(self, aggregate):
|
||||
"""Deletes internal HostManager information about a specific aggregate.
|
||||
|
@ -741,7 +741,7 @@ class HostManager(object):
|
|||
|
||||
def _get_aggregates_info(self, host):
|
||||
return [self.aggs_by_id[agg_id] for agg_id in
|
||||
self.host_aggregates_map[host.lower()]]
|
||||
self.host_aggregates_map[host]]
|
||||
|
||||
def _get_instances_by_host(self, context, host_name):
|
||||
try:
|
||||
|
|
|
@ -224,17 +224,6 @@ class HostManagerTestCase(test.NoDBTestCase):
|
|||
self.assertEqual({'fake-host': set([1])},
|
||||
self.host_manager.host_aggregates_map)
|
||||
|
||||
@mock.patch.object(host_manager.HostManager, '_init_instance_info')
|
||||
@mock.patch.object(objects.AggregateList, 'get_all')
|
||||
def test_init_aggregates_one_agg_with_hosts_upper_case(self, agg_get_all,
|
||||
mock_init_info):
|
||||
fake_agg = objects.Aggregate(id=1, hosts=['FAKE-host'])
|
||||
agg_get_all.return_value = [fake_agg]
|
||||
self.host_manager = host_manager.HostManager()
|
||||
self.assertEqual({1: fake_agg}, self.host_manager.aggs_by_id)
|
||||
self.assertEqual({'fake-host': set([1])},
|
||||
self.host_manager.host_aggregates_map)
|
||||
|
||||
def test_update_aggregates(self):
|
||||
fake_agg = objects.Aggregate(id=1, hosts=['fake-host'])
|
||||
self.host_manager.update_aggregates([fake_agg])
|
||||
|
|
Loading…
Reference in New Issue