diff options
author | Jenkins <jenkins@review.openstack.org> | 2016-07-19 01:54:44 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2016-07-19 01:54:45 +0000 |
commit | 67c34607f29ba39bb0709bd31f31e784fa5d1af6 (patch) | |
tree | 069e5b916b69a22946b51db6c8f70606164dca4c | |
parent | 189d355b3ded10fad96761ba026dc82e082cab92 (diff) | |
parent | 85b29358765c202be4998dc88f4ac5b1f2861bf3 (diff) | |
download | neutron-67c34607f29ba39bb0709bd31f31e784fa5d1af6.tar.gz |
Merge "Use new DB context when checking if agent is online during rescheduling" into stable/liberty
-rw-r--r-- | neutron/db/l3_agentschedulers_db.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/neutron/db/l3_agentschedulers_db.py b/neutron/db/l3_agentschedulers_db.py index c287b83619..580911d1ca 100644 --- a/neutron/db/l3_agentschedulers_db.py +++ b/neutron/db/l3_agentschedulers_db.py @@ -117,6 +117,10 @@ class L3AgentSchedulerDbMixin(l3agentscheduler.L3AgentSchedulerPluginBase, if binding.l3_agent_id in agents_back_online: continue else: + # we need new context to make sure we use different DB + # transaction - otherwise we may fetch same agent record + # each time due to REPEATABLE_READ isolation level + context = n_ctx.get_admin_context() agent = self._get_agent(context, binding.l3_agent_id) if agent.is_active: agents_back_online.add(binding.l3_agent_id) |