Merge "Add enable_new_agents to neutron server"

This commit is contained in:
Jenkins 2015-08-30 05:08:14 +00:00 committed by Gerrit Code Review
commit 26992bc156
3 changed files with 18 additions and 1 deletions

View File

@ -181,6 +181,11 @@
# Seconds to regard the agent as down; should be at least twice
# report_interval, to be sure the agent is down for good
# agent_down_time = 75
# Agent starts with admin_state_up=False when enable_new_agents=False.
# In the case, user's resources will not be scheduled automatically to the
# agent until admin changes admin_state_up to True.
# enable_new_agents = True
# =========== end of items for agent management extension =====
# =========== items for agent scheduler extension =============

View File

@ -56,6 +56,11 @@ AGENT_OPTS = [
'dhcp_load_type can be configured to represent the '
'choice for the resource being balanced. '
'Example: dhcp_load_type=networks')),
cfg.BoolOpt('enable_new_agents', default=True,
help=_("Agent starts with admin_state_up=False when "
"enable_new_agents=False. In the case, user's "
"resources will not be scheduled automatically to the "
"agent until admin changes admin_state_up to True.")),
]
cfg.CONF.register_opts(AGENT_OPTS)
@ -236,7 +241,7 @@ class AgentDbMixin(ext_agent.AgentPluginBase):
res['created_at'] = current_time
res['started_at'] = current_time
res['heartbeat_timestamp'] = current_time
res['admin_state_up'] = True
res['admin_state_up'] = cfg.CONF.enable_new_agents
agent_db = Agent(**res)
greenthread.sleep(0)
context.session.add(agent_db)

View File

@ -16,6 +16,7 @@
import datetime
import mock
from oslo_config import cfg
from oslo_db import exception as exc
from oslo_utils import timeutils
import testscenarios
@ -154,6 +155,12 @@ class TestAgentsDbMixin(TestAgentsDbBase):
self.assertEqual(add_mock.call_count, 2,
"Agent entry creation hasn't been retried")
def test_create_or_update_agent_disable_new_agents(self):
cfg.CONF.set_override('enable_new_agents', False)
self.plugin.create_or_update_agent(self.context, self.agent_status)
agent = self.plugin.get_agents(self.context)[0]
self.assertFalse(agent['admin_state_up'])
class TestAgentsDbGetAgents(TestAgentsDbBase):
scenarios = [