@ -219,6 +219,18 @@ class TemplateDefinitionTestCase(base.TestCase):
cmn_tdef . COMMON_ENV_PATH +
' disable_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 ( )
mock_cluster = mock . MagicMock ( )
mock_driver . return_value = swarm_v2_dr . Driver ( )
cluster_driver = driver . Driver . get_driver ( ' vm ' ,
' fedora-atomic ' ,
' swarm-mode ' )
definition = cluster_driver . get_template_definition ( )
self . assertEqual ( definition . get_scale_params ( mock_context ,
mock_cluster ) , { } )
@six.add_metaclass ( abc . ABCMeta )
class BaseK8sTemplateDefinitionTestCase ( base . TestCase ) :
@ -268,6 +280,25 @@ class AtomicK8sTemplateDefinitionTestCase(BaseK8sTemplateDefinitionTestCase):
def get_definition ( self ) :
return k8sa_dr . Driver ( ) . get_template_definition ( )
@mock.patch ( ' magnum.common.clients.OpenStackClients ' )
@mock.patch ( ' magnum.drivers.heat.template_def.TemplateDefinition '
' .get_output ' )
def test_k8s_get_scale_params ( self , mock_get_output ,
mock_osc_class ) :
mock_context = mock . MagicMock ( )
mock_cluster = mock . MagicMock ( )
removal_nodes = [ ' node1 ' , ' node2 ' ]
mock_scale_manager = mock . MagicMock ( )
mock_scale_manager . get_removal_nodes . return_value = removal_nodes
definition = k8sa_tdef . AtomicK8sTemplateDefinition ( )
scale_params = definition . get_scale_params ( mock_context , mock_cluster ,
mock_scale_manager )
expected_scale_params = { ' minions_to_remove ' : [ ' node1 ' , ' node2 ' ] }
self . assertEqual ( scale_params , expected_scale_params )
@mock.patch ( ' magnum.common.keystone.is_octavia_enabled ' )
@mock.patch ( ' magnum.common.clients.OpenStackClients ' )
@mock.patch ( ' magnum.drivers.k8s_fedora_atomic_v1.template_def '
@ -298,14 +329,11 @@ class AtomicK8sTemplateDefinitionTestCase(BaseK8sTemplateDefinitionTestCase):
mock_cluster = mock . MagicMock ( )
mock_cluster . uuid = ' 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 '
del mock_cluster . stack_id
mock_scale_manager = mock . MagicMock ( )
mock_osc = mock . MagicMock ( )
mock_osc . magnum_url . return_value = ' http://127.0.0.1:9511/v1 '
mock_osc . cinder_region_name . return_value = ' RegionOne '
mock_osc_class . return_value = mock_osc
removal_nodes = [ ' node1 ' , ' node2 ' ]
mock_scale_manager . get_removal_nodes . return_value = removal_nodes
mock_get_discovery_url . return_value = ' fake_discovery_url '
mock_context . auth_url = ' http://192.168.10.10:5000/v3 '
@ -380,11 +408,9 @@ class AtomicK8sTemplateDefinitionTestCase(BaseK8sTemplateDefinitionTestCase):
k8s_def = k8sa_tdef . AtomicK8sTemplateDefinition ( )
k8s_def . get_params ( mock_context , mock_cluster_template , mock_cluster ,
scale_manager = mock_scale_manager )
k8s_def . get_params ( mock_context , mock_cluster_template , mock_cluster )
expected_kwargs = { ' extra_params ' : {
' minions_to_remove ' : removal_nodes ,
' discovery_url ' : ' fake_discovery_url ' ,
' flannel_network_cidr ' : flannel_cidr ,
' flannel_network_subnetlen ' : flannel_subnet ,
@ -444,7 +470,6 @@ class AtomicK8sTemplateDefinitionTestCase(BaseK8sTemplateDefinitionTestCase):
mock_context ,
mock_cluster_template ,
mock_cluster ,
scale_manager = mock_scale_manager
)
@mock.patch ( ' magnum.common.keystone.is_octavia_enabled ' )
@ -477,14 +502,11 @@ class AtomicK8sTemplateDefinitionTestCase(BaseK8sTemplateDefinitionTestCase):
mock_cluster = mock . MagicMock ( )
mock_cluster . uuid = ' 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 '
del mock_cluster . stack_id
mock_scale_manager = mock . MagicMock ( )
mock_osc = mock . MagicMock ( )
mock_osc . magnum_url . return_value = ' http://127.0.0.1:9511/v1 '
mock_osc . cinder_region_name . return_value
mock_osc_class . return_value = mock_osc
removal_nodes = [ ' node1 ' , ' node2 ' ]
mock_scale_manager . get_removal_nodes . return_value = removal_nodes
mock_get_discovery_url . return_value = ' fake_discovery_url '
mock_context . auth_url = ' http://192.168.10.10:5000/v3 '
@ -559,11 +581,9 @@ class AtomicK8sTemplateDefinitionTestCase(BaseK8sTemplateDefinitionTestCase):
k8s_def = k8sa_tdef . AtomicK8sTemplateDefinition ( )
k8s_def . get_params ( mock_context , mock_cluster_template , mock_cluster ,
scale_manager = mock_scale_manager )
k8s_def . get_params ( mock_context , mock_cluster_template , mock_cluster )
expected_kwargs = { ' extra_params ' : {
' minions_to_remove ' : removal_nodes ,
' discovery_url ' : ' fake_discovery_url ' ,
' flannel_network_cidr ' : flannel_cidr ,
' flannel_network_subnetlen ' : flannel_subnet ,
@ -1315,9 +1335,8 @@ class UbuntuMesosTemplateDefinitionTestCase(base.TestCase):
@mock.patch ( ' magnum.common.clients.OpenStackClients ' )
@mock.patch ( ' magnum.drivers.heat.template_def.BaseTemplateDefinition '
' .get_params ' )
@mock.patch ( ' magnum.drivers.heat.template_def.TemplateDefinition '
' .get_output ' )
def test_mesos_get_params ( self , mock_get_output , mock_get_params ,
def test_mesos_get_params ( self ,
mock_get_params ,
mock_osc_class ) :
mock_context = mock . MagicMock ( )
mock_context . auth_url = ' http://192.168.10.10:5000/v3 '
@ -1342,14 +1361,9 @@ class UbuntuMesosTemplateDefinitionTestCase(base.TestCase):
mock_osc . cinder_region_name . return_value = ' RegionOne '
mock_osc_class . return_value = mock_osc
removal_nodes = [ ' node1 ' , ' node2 ' ]
mock_scale_manager = mock . MagicMock ( )
mock_scale_manager . get_removal_nodes . return_value = removal_nodes
mesos_def = mesos_tdef . UbuntuMesosTemplateDefinition ( )
mesos_def . get_params ( mock_context , mock_cluster_template , mock_cluster ,
scale_manager = mock_scale_manager )
mesos_def . get_params ( mock_context , mock_cluster_template , mock_cluster )
expected_kwargs = { ' extra_params ' : {
' region_name ' : mock_osc . cinder_region_name . return_value ,
@ -1362,13 +1376,32 @@ class UbuntuMesosTemplateDefinitionTestCase(base.TestCase):
' mesos_slave_work_dir ' : mesos_slave_work_dir ,
' mesos_slave_executor_env_variables ' :
mesos_slave_executor_env_variables ,
' mesos_slave_image_providers ' : mesos_slave_image_providers ,
' slaves_to_remove ' : removal_nodes } }
' mesos_slave_image_providers ' : mesos_slave_image_providers } }
mock_get_params . assert_called_once_with ( mock_context ,
mock_cluster_template ,
mock_cluster ,
* * expected_kwargs )
@mock.patch ( ' magnum.common.clients.OpenStackClients ' )
@mock.patch ( ' magnum.drivers.heat.template_def.TemplateDefinition '
' .get_output ' )
def test_mesos_get_scale_params ( self , mock_get_output ,
mock_osc_class ) :
mock_context = mock . MagicMock ( )
mock_cluster = mock . MagicMock ( )
mock_cluster . uuid = ' 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 '
removal_nodes = [ ' node1 ' , ' node2 ' ]
mock_scale_manager = mock . MagicMock ( )
mock_scale_manager . get_removal_nodes . return_value = removal_nodes
mesos_def = mesos_tdef . UbuntuMesosTemplateDefinition ( )
scale_params = mesos_def . get_scale_params ( mock_context , mock_cluster ,
mock_scale_manager )
expected_scale_params = { ' slaves_to_remove ' : [ ' node1 ' , ' node2 ' ] }
self . assertEqual ( scale_params , expected_scale_params )
def test_mesos_get_heat_param ( self ) :
mesos_def = mesos_tdef . UbuntuMesosTemplateDefinition ( )