Use elevated context in disassociate_floating_ip
The call to service_get_by_host_and_topic would raise AdminRequired
in the case that a non-admin tried to disassociate a floating ip
from their instance and multi_host was on. Using an elevated
context for the db lookup enables the host lookup to happend and
allows a user to disassociate their floating ips.
Fixes bug 1074437
Change-Id: I3d47b5a48eae21ea913120bd00728a0b8132da81
(cherry picked from commit eedd98477d
)
This commit is contained in:
parent
e7877868b1
commit
3ede373f28
@ -608,7 +608,7 @@ class FloatingIP(object):
|
||||
instance = self.db.instance_get_by_uuid(context,
|
||||
fixed_ip['instance_uuid'])
|
||||
service = self.db.service_get_by_host_and_topic(
|
||||
context, instance['host'], 'network')
|
||||
context.elevated(), instance['host'], 'network')
|
||||
if service and utils.service_is_up(service):
|
||||
host = instance['host']
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user