Merge "[k8s] Fix no IP address in api_address"

This commit is contained in:
Zuul 2020-04-27 07:44:13 +00:00 committed by Gerrit Code Review
commit e87b6e632e
3 changed files with 33 additions and 5 deletions

View File

@ -555,11 +555,9 @@ def add_etcd_volume_env_file(env_files, cluster):
def add_fip_env_file(env_files, cluster_template, cluster):
lb_fip_enabled = cluster.labels.get(
"master_lb_floating_ip_enabled",
cluster.floating_ip_enabled
)
master_lb_fip_enabled = strutils.bool_from_string(lb_fip_enabled)
lb_fip_enabled = cluster.labels.get("master_lb_floating_ip_enabled")
master_lb_fip_enabled = (strutils.bool_from_string(lb_fip_enabled) or
cluster.floating_ip_enabled)
if cluster.floating_ip_enabled:
env_files.append(COMMON_ENV_PATH + 'enable_floating_ip.yaml')

View File

@ -311,6 +311,28 @@ class TemplateDefinitionTestCase(base.TestCase):
env_files
)
def test_add_fip_master_lb_fip_disabled_cluster_fip_enabled(self):
mock_cluster_template = mock.MagicMock(
floating_ip_enabled=False,
master_lb_enabled=True,
labels={"master_lb_floating_ip_enabled": "false"}
)
mock_cluster = mock.MagicMock(
labels={"master_lb_floating_ip_enabled": "false"},
floating_ip_enabled=True,)
env_files = []
cmn_tdef.add_fip_env_file(env_files, mock_cluster_template,
mock_cluster)
self.assertEqual(
[
cmn_tdef.COMMON_ENV_PATH + 'enable_floating_ip.yaml',
cmn_tdef.COMMON_ENV_PATH + 'enable_lb_floating_ip.yaml'
],
env_files
)
@mock.patch('magnum.drivers.common.driver.Driver.get_driver')
def test_base_get_scale_params(self, mock_driver):
mock_context = mock.MagicMock()

View File

@ -0,0 +1,8 @@
---
fixes:
- |
There was a corner case that when floating_ip_enabled=False,
master_lb_enabled=True,master_lb_floating_ip_enabled=False in
cluster template, but setting floating_ip_enabled=True when
creating the cluster, which causes missing IP address in the
api_address of cluster. Now the isssue has been fixed.