Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
 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)
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
    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)
Ejemplo n.º 11
0
    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')
Ejemplo n.º 12
0
    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')