diff options
| -rw-r--r-- | nova/network/manager.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/nova/network/manager.py b/nova/network/manager.py index 7583eaef9..d1eef9d4a 100644 --- a/nova/network/manager.py +++ b/nova/network/manager.py @@ -2083,7 +2083,9 @@ class FlatDHCPManager(RPCAllocateFixedIP, FloatingIP, NetworkManager): if not CONF.fake_network: dev = self.driver.get_dev(network) - self.driver.update_dhcp(context, dev, network) + # NOTE(dprince): dhcp DB queries require elevated context + elevated = context.elevated() + self.driver.update_dhcp(elevated, dev, network) if(CONF.use_ipv6): self.driver.update_ra(context, dev, network) gateway = utils.get_my_linklocal(dev) @@ -2094,7 +2096,9 @@ class FlatDHCPManager(RPCAllocateFixedIP, FloatingIP, NetworkManager): if not CONF.fake_network: network['dhcp_server'] = self._get_dhcp_ip(context, network) dev = self.driver.get_dev(network) - self.driver.update_dhcp(context, dev, network) + # NOTE(dprince): dhcp DB queries require elevated context + elevated = context.elevated() + self.driver.update_dhcp(elevated, dev, network) def _get_network_dict(self, network): """Returns the dict representing necessary and meta network fields""" @@ -2262,7 +2266,9 @@ class VlanManager(RPCAllocateFixedIP, FloatingIP, NetworkManager): network['vpn_private_address']) if not CONF.fake_network: dev = self.driver.get_dev(network) - self.driver.update_dhcp(context, dev, network) + # NOTE(dprince): dhcp DB queries require elevated context + elevated = context.elevated() + self.driver.update_dhcp(elevated, dev, network) if(CONF.use_ipv6): self.driver.update_ra(context, dev, network) gateway = utils.get_my_linklocal(dev) @@ -2273,7 +2279,9 @@ class VlanManager(RPCAllocateFixedIP, FloatingIP, NetworkManager): if not CONF.fake_network: network['dhcp_server'] = self._get_dhcp_ip(context, network) dev = self.driver.get_dev(network) - self.driver.update_dhcp(context, dev, network) + # NOTE(dprince): dhcp DB queries require elevated context + elevated = context.elevated() + self.driver.update_dhcp(elevated, dev, network) def _get_network_dict(self, network): """Returns the dict representing necessary and meta network fields""" |
