def test_new_subnet_size_for_small_vmss(self): ns = argparse.Namespace() ns.vnet_type = 'new' ns.vnet_address_prefix = '10.0.0.0/16' ns.subnet_address_prefix = None ns.instance_count = 2 _validate_vmss_create_subnet(ns) self.assertEqual('10.0.0.0/24', ns.subnet_address_prefix)
def test_new_subnet_size_for_small_vmss(self): ns = argparse.Namespace() ns.vnet_type = 'new' ns.vnet_address_prefix = '10.0.0.0/16' ns.subnet_address_prefix = None ns.instance_count = 2 _validate_vmss_create_subnet(ns) self.assertEqual('10.0.0.0/24', ns.subnet_address_prefix)
def test_new_subnet_size_for_small_vmss(self): ns = TestVMSSCreateDefaultVnet._set_ns('rg1', 'eastus') ns.vnet_type = 'new' ns.vnet_address_prefix = '10.0.0.0/16' ns.subnet_address_prefix = None ns.app_gateway_type = None ns.app_gateway_subnet_address_prefix = None ns.instance_count = 2 _validate_vmss_create_subnet(ns) self.assertEqual('10.0.0.0/24', ns.subnet_address_prefix)
def test_new_subnet_size_for_small_vmss(self): ns = TestVMSSCreateDefaultVnet._set_ns('rg1', 'eastus') ns.vnet_type = 'new' ns.vnet_address_prefix = '10.0.0.0/16' ns.subnet_address_prefix = None ns.app_gateway_type = None ns.app_gateway_subnet_address_prefix = None ns.instance_count = 2 _validate_vmss_create_subnet(ns) self.assertEqual('10.0.0.0/24', ns.subnet_address_prefix)
def test_new_subnet_size_for_big_vmss(self): ns = argparse.Namespace() ns.vnet_type = 'new' ns.vnet_address_prefix = '10.0.0.0/16' ns.subnet_address_prefix = None ns.app_gateway_type = 'new' ns.app_gateway_subnet_address_prefix = '10.0.1.0/22' ns.instance_count = 1000 _validate_vmss_create_subnet(ns) self.assertEqual('10.0.0.0/22', ns.subnet_address_prefix)
def test_new_subnet_size_for_big_vmss(self): ns = argparse.Namespace() ns.vnet_type = 'new' ns.vnet_address_prefix = '10.0.0.0/16' ns.subnet_address_prefix = None ns.app_gateway_type = 'new' ns.app_gateway_subnet_address_prefix = '10.0.1.0/22' ns.instance_count = 1000 _validate_vmss_create_subnet(ns) self.assertEqual('10.0.0.0/22', ns.subnet_address_prefix)
def test_new_subnet_size_for_big_vmss_with_over_provision(self): ns = TestVMSSCreateDefaultVnet._set_ns('rg1', 'eastus') ns.vnet_type = 'new' ns.vnet_address_prefix = '10.0.0.0/16' ns.subnet_address_prefix = None ns.app_gateway_type = 'new' ns.app_gateway_subnet_address_prefix = '10.0.1.0/22' ns.instance_count = 1000 # with over-provision, we has subnet size bigger than the capacity _validate_vmss_create_subnet(ns) self.assertEqual('10.0.0.0/21', ns.subnet_address_prefix)
def test_new_subnet_size_for_big_vmss_with_over_provision(self): ns = TestVMSSCreateDefaultVnet._set_ns('rg1', 'eastus') ns.vnet_type = 'new' ns.vnet_address_prefix = '10.0.0.0/16' ns.subnet_address_prefix = None ns.app_gateway_type = 'new' ns.app_gateway_subnet_address_prefix = '10.0.1.0/22' ns.instance_count = 1000 # with over-provision, we has subnet size bigger than the capacity _validate_vmss_create_subnet(ns) self.assertEqual('10.0.0.0/21', ns.subnet_address_prefix)
def test_new_subnet_size_for_big_vmss_without_over_provision(self): ns = TestVMSSCreateDefaultVnet._set_ns('rg1', 'eastus') ns.vnet_type = 'new' ns.vnet_address_prefix = '10.0.0.0/16' ns.subnet_address_prefix = None ns.app_gateway_type = 'new' ns.app_gateway_subnet_address_prefix = '10.0.1.0/22' ns.instance_count = 1000 ns.disable_overprovision = True # w/o over-provision, we set subnet size just based on the capacity _validate_vmss_create_subnet(ns) self.assertEqual('10.0.0.0/22', ns.subnet_address_prefix)
def test_new_subnet_size_for_big_vmss_without_over_provision(self): ns = TestVMSSCreateDefaultVnet._set_ns('rg1', 'eastus') ns.vnet_type = 'new' ns.vnet_address_prefix = '10.0.0.0/16' ns.subnet_address_prefix = None ns.app_gateway_type = 'new' ns.app_gateway_subnet_address_prefix = '10.0.1.0/22' ns.instance_count = 1000 ns.disable_overprovision = True # w/o over-provision, we set subnet size just based on the capacity _validate_vmss_create_subnet(ns) self.assertEqual('10.0.0.0/22', ns.subnet_address_prefix)
def test_get_next_subnet_addr_suffix(self): result = _get_next_subnet_addr_suffix('10.0.0.0/16', '10.0.0.0/24', 24) self.assertEqual(result, '10.0.1.0/24') # for 254~510 instances VMSS result = _get_next_subnet_addr_suffix('10.0.0.0/16', '10.0.0.0/23', 24) self.assertEqual(result, '10.0.2.0/24') # +1 overflows, so we go with -1 result = _get_next_subnet_addr_suffix('12.0.0.0/16', '12.0.255.0/24', 24) self.assertEqual(result, '12.0.254.0/24') # handle carry bits to the next section result = _get_next_subnet_addr_suffix('12.0.0.0/15', '12.0.255.0/24', 24) self.assertEqual(result, '12.1.0.0/24') # error cases with self.assertRaises(CLIError): _get_next_subnet_addr_suffix('12.0.0.0/16', '12.0.255.0/15', 24) with self.assertRaises(CLIError): _get_next_subnet_addr_suffix('12.0.0.0/16', '12.1.0.0/16', 24) with self.assertRaises(CLIError): _get_next_subnet_addr_suffix('12.0.0.0/22', '12.0.0.0/22', 24) # verify end to end np_mock = mock.MagicMock() np_mock.vnet_type = 'new' np_mock.vnet_address_prefix = '10.0.0.0/16' np_mock.subnet_address_prefix = None np_mock.instance_count = 1000 np_mock.app_gateway_type = 'new' np_mock.app_gateway_subnet_address_prefix = None np_mock.disable_overprovision = None _validate_vmss_create_subnet(np_mock) self.assertEqual(np_mock.app_gateway_subnet_address_prefix, '10.0.8.0/24')
def test_get_next_subnet_addr_suffix(self): result = _get_next_subnet_addr_suffix('10.0.0.0/16', '10.0.0.0/24', 24) self.assertEqual(result, '10.0.1.0/24') # for 254~510 instances VMSS result = _get_next_subnet_addr_suffix('10.0.0.0/16', '10.0.0.0/23', 24) self.assertEqual(result, '10.0.2.0/24') # +1 overflows, so we go with -1 result = _get_next_subnet_addr_suffix('12.0.0.0/16', '12.0.255.0/24', 24) self.assertEqual(result, '12.0.254.0/24') # handle carry bits to the next section result = _get_next_subnet_addr_suffix('12.0.0.0/15', '12.0.255.0/24', 24) self.assertEqual(result, '12.1.0.0/24') # error cases with self.assertRaises(CLIError): _get_next_subnet_addr_suffix('12.0.0.0/16', '12.0.255.0/15', 24) with self.assertRaises(CLIError): _get_next_subnet_addr_suffix('12.0.0.0/16', '12.1.0.0/16', 24) with self.assertRaises(CLIError): _get_next_subnet_addr_suffix('12.0.0.0/22', '12.0.0.0/22', 24) # verify end to end np_mock = mock.MagicMock() np_mock.vnet_type = 'new' np_mock.vnet_address_prefix = '10.0.0.0/16' np_mock.subnet_address_prefix = None np_mock.instance_count = 1000 np_mock.app_gateway_type = 'new' np_mock.app_gateway_subnet_address_prefix = None np_mock.disable_overprovision = None _validate_vmss_create_subnet(np_mock) self.assertEqual(np_mock.app_gateway_subnet_address_prefix, '10.0.8.0/24')