Merge "Fix a topology bug in flavors support"
This commit is contained in:
commit
979144f2fd
@ -34,7 +34,7 @@ class AgentJinjaTemplater(object):
|
||||
self.agent_template = jinja_env.get_template(
|
||||
constants.AGENT_CONF_TEMPLATE)
|
||||
|
||||
def build_agent_config(self, amphora_id):
|
||||
def build_agent_config(self, amphora_id, topology):
|
||||
return self.agent_template.render(
|
||||
{'agent_server_ca': CONF.amphora_agent.agent_server_ca,
|
||||
'agent_server_cert': CONF.amphora_agent.agent_server_cert,
|
||||
@ -58,4 +58,4 @@ class AgentJinjaTemplater(object):
|
||||
'respawn_count': CONF.haproxy_amphora.respawn_count,
|
||||
'respawn_interval': CONF.haproxy_amphora.respawn_interval,
|
||||
'amphora_udp_driver': CONF.amphora_agent.amphora_udp_driver,
|
||||
'topology': CONF.controller_worker.loadbalancer_topology})
|
||||
'topology': topology})
|
||||
|
@ -70,9 +70,12 @@ class ComputeCreate(BaseComputeTask):
|
||||
|
||||
# Apply an Octavia flavor customizations
|
||||
if flavor:
|
||||
topology = flavor.get(constants.LOADBALANCER_TOPOLOGY,
|
||||
CONF.controller_worker.loadbalancer_topology)
|
||||
amp_compute_flavor = flavor.get(
|
||||
constants.COMPUTE_FLAVOR, CONF.controller_worker.amp_flavor_id)
|
||||
else:
|
||||
topology = CONF.controller_worker.loadbalancer_topology
|
||||
amp_compute_flavor = CONF.controller_worker.amp_flavor_id
|
||||
|
||||
try:
|
||||
@ -82,7 +85,7 @@ class ComputeCreate(BaseComputeTask):
|
||||
|
||||
agent_cfg = agent_jinja_cfg.AgentJinjaTemplater()
|
||||
config_drive_files['/etc/octavia/amphora-agent.conf'] = (
|
||||
agent_cfg.build_agent_config(amphora_id))
|
||||
agent_cfg.build_agent_config(amphora_id, topology))
|
||||
if user_data_config_drive:
|
||||
udtemplater = user_data_jinja_cfg.UserDataJinjaCfg()
|
||||
user_data = udtemplater.build_user_data_config(
|
||||
|
@ -17,6 +17,7 @@ from oslo_config import fixture as oslo_fixture
|
||||
from oslo_utils import uuidutils
|
||||
|
||||
from octavia.amphorae.backends.agent import agent_jinja_cfg
|
||||
from octavia.common import constants
|
||||
import octavia.tests.unit.base as base
|
||||
|
||||
AMP_ID = uuidutils.generate_uuid()
|
||||
@ -82,8 +83,9 @@ class AgentJinjaTestCase(base.TestCase):
|
||||
'amphora_id = ' + AMP_ID + '\n'
|
||||
'amphora_udp_driver = keepalived_lvs\n\n'
|
||||
'[controller_worker]\n'
|
||||
'loadbalancer_topology = SINGLE')
|
||||
agent_cfg = ajc.build_agent_config(AMP_ID)
|
||||
'loadbalancer_topology = ' +
|
||||
constants.TOPOLOGY_SINGLE)
|
||||
agent_cfg = ajc.build_agent_config(AMP_ID, constants.TOPOLOGY_SINGLE)
|
||||
self.assertEqual(expected_config, agent_cfg)
|
||||
|
||||
def test_build_agent_config_with_interfaces_file(self):
|
||||
@ -119,8 +121,10 @@ class AgentJinjaTestCase(base.TestCase):
|
||||
'amphora_id = ' + AMP_ID + '\n'
|
||||
'amphora_udp_driver = keepalived_lvs\n\n'
|
||||
'[controller_worker]\n'
|
||||
'loadbalancer_topology = SINGLE')
|
||||
agent_cfg = ajc.build_agent_config(AMP_ID)
|
||||
'loadbalancer_topology = ' +
|
||||
constants.TOPOLOGY_ACTIVE_STANDBY)
|
||||
agent_cfg = ajc.build_agent_config(AMP_ID,
|
||||
constants.TOPOLOGY_ACTIVE_STANDBY)
|
||||
self.assertEqual(expected_config, agent_cfg)
|
||||
|
||||
def test_build_agent_config_with_new_udp_driver(self):
|
||||
@ -155,6 +159,7 @@ class AgentJinjaTestCase(base.TestCase):
|
||||
'amphora_id = ' + AMP_ID + '\n'
|
||||
'amphora_udp_driver = new_udp_driver\n\n'
|
||||
'[controller_worker]\n'
|
||||
'loadbalancer_topology = SINGLE')
|
||||
agent_cfg = ajc.build_agent_config(AMP_ID)
|
||||
'loadbalancer_topology = ' +
|
||||
constants.TOPOLOGY_SINGLE)
|
||||
agent_cfg = ajc.build_agent_config(AMP_ID, constants.TOPOLOGY_SINGLE)
|
||||
self.assertEqual(expected_config, agent_cfg)
|
||||
|
Loading…
Reference in New Issue
Block a user