예제 #1
0
    def test_request_one_defroute_existing_same_defroute(self, mockRConfig):
        netname = 'NET0'
        mockRConfig.return_value.networks = {
            netname: {'defaultRoute': True, 'nameservers': ['8.8.8.8']}}

        validator.validate({netname: {'defaultRoute': True,
                                      'nameservers': ['8.8.8.8']}})
예제 #2
0
 def test_request_one_defroute_no_existing_defroute(self, mockRConfig):
     mockRConfig.return_value.networks = {}
     validator.validate(
         {'NET0': {
             'defaultRoute': True,
             'nameservers': ['8.8.8.8']
         }})
예제 #3
0
 def test_request_multi_defroute(self, mockRConfig):
     mockRConfig.return_value.networks = {}
     with self.assertRaises(ne.ConfigNetworkError):
         validator.validate({'NET0': {'defaultRoute': True,
                                      'nameservers': ['8.8.8.8']},
                             'NET88': {'defaultRoute': True,
                                       'nameservers': ['8.8.8.8']}})
예제 #4
0
 def test_nameserver_defined_on_a_non_primary_network_fails(self):
     with pytest.raises(ne.ConfigNetworkError) as cne:
         validator.validate(
             {'NET0': {
                 'defaultRoute': False,
                 'nameservers': ['8.8.8.8']
             }})
     assert cne.value.errCode == ne.ERR_BAD_PARAMS
예제 #5
0
 def test_nameserver_faulty_ipv4_address(self):
     with pytest.raises(ne.ConfigNetworkError) as cne:
         validator.validate(
             {'NET0': {
                 'defaultRoute': True,
                 'nameservers': ['a.8.8.8']
             }})
     assert cne.value.errCode == ne.ERR_BAD_ADDR
예제 #6
0
 def test_ignore_remove_networks(self):
     validator.validate({
         'NET0': {
             'remove': True,
             'defaultRoute': False,
             'nameservers': ['8.8.8.8'],
         }
     })
예제 #7
0
 def test_nameserver_defined_on_a_non_primary_network_fails(self):
     with self.assertRaises(ne.ConfigNetworkError) as cne:
         validator.validate(
             {'NET0': {
                 'defaultRoute': False,
                 'nameservers': ['8.8.8.8']
             }})
     self.assertEqual(cne.exception.errCode, ne.ERR_BAD_PARAMS)
예제 #8
0
 def test_nameserver_faulty_ipv4_address(self):
     with self.assertRaises(ne.ConfigNetworkError) as cne:
         validator.validate(
             {'NET0': {
                 'defaultRoute': True,
                 'nameservers': ['a.8.8.8']
             }})
     self.assertEqual(cne.exception.errCode, ne.ERR_BAD_ADDR)
예제 #9
0
    def test_request_one_defroute_removing_existing_different_defroute(
            self, mockRConfig):
        mockRConfig.return_value.networks = {
            'NET88': {'defaultRoute': True, 'nameservers': ['8.8.8.8']}}

        validator.validate({'NET0': {'defaultRoute': True,
                                     'nameservers': ['8.8.8.8']},
                            'NET88': {'defaultRoute': False,
                                      'nameservers': []}})
예제 #10
0
    def test_request_no_defroute_no_existing_defroute(self, mockRConfig):
        mockRConfig.return_value.networks = {
            'NET88': {
                'defaultRoute': False,
                'nameservers': []
            }
        }

        validator.validate(
            {'NET0': {
                'defaultRoute': False,
                'nameservers': []
            }})
예제 #11
0
 def test_request_multi_defroute(self, mockRConfig):
     mockRConfig.return_value.networks = {}
     with self.assertRaises(ne.ConfigNetworkError):
         validator.validate({
             'NET0': {
                 'defaultRoute': True,
                 'nameservers': ['8.8.8.8']
             },
             'NET88': {
                 'defaultRoute': True,
                 'nameservers': ['8.8.8.8']
             }
         })
예제 #12
0
    def test_request_one_defroute_removing_existing_different_defroute(
            self, mockRConfig):
        mockRConfig.return_value.networks = {
            'NET88': {
                'defaultRoute': True,
                'nameservers': ['8.8.8.8']
            }
        }

        validator.validate({
            'NET0': {
                'defaultRoute': True,
                'nameservers': ['8.8.8.8']
            },
            'NET88': {
                'defaultRoute': False,
                'nameservers': []
            }
        })
예제 #13
0
 def test_nameserver_address_with_zone_identifier(self):
     validator.validate({'NET0': {'defaultRoute': True,
                                  'nameservers': ['fe80::1%eth1']}})
예제 #14
0
    def test_request_no_defroute_no_existing_defroute(self, mockRConfig):
        mockRConfig.return_value.networks = {
            'NET88': {'defaultRoute': False, 'nameservers': []}}

        validator.validate({'NET0': {'defaultRoute': False,
                                     'nameservers': []}})
예제 #15
0
def validate(networks, bondings):
    link_validator.validate(networks, bondings)
    ip_validator.validate(networks)
    netswitch.configurator.validate(networks, bondings)
예제 #16
0
파일: validator.py 프로젝트: vjuranek/vdsm
def validate(networks, bondings, net_info, running_config):
    link_validator.validate(networks, bondings)
    ip_validator.validate(networks)
    netswitch.configurator.validate(networks, bondings, net_info,
                                    running_config)
예제 #17
0
 def test_ignore_remove_networks(self):
     validator.validate({'NET0': {'remove': True,
                                  'defaultRoute': False,
                                  'nameservers': ['8.8.8.8']}})
예제 #18
0
 def test_nameserver_defined_on_a_non_primary_network_fails(self):
     with self.assertRaises(ne.ConfigNetworkError) as cne:
         validator.validate({'NET0': {'defaultRoute': False,
                                      'nameservers': ['8.8.8.8']}})
     self.assertEqual(cne.exception.errCode, ne.ERR_BAD_PARAMS)
예제 #19
0
 def test_nameserver_faulty_ipv6_address(self):
     with self.assertRaises(ne.ConfigNetworkError) as cne:
         validator.validate({'NET0': {'defaultRoute': True,
                                      'nameservers': ['2001:bla::1']}})
     self.assertEqual(cne.exception.errCode, ne.ERR_BAD_ADDR)
예제 #20
0
 def test_nameserver_valid_ipv6_address(self):
     validator.validate({'NET0': {'defaultRoute': True,
                                  'nameservers': ['2001::1']}})
예제 #21
0
 def test_nameserver_valid_ipv6_address(self):
     validator.validate(
         {'NET0': {
             'defaultRoute': True,
             'nameservers': ['2001::1']
         }})
예제 #22
0
 def test_nameserver_address_with_zone_identifier(self):
     validator.validate(
         {'NET0': {
             'defaultRoute': True,
             'nameservers': ['fe80::1%eth1']
         }})
예제 #23
0
파일: validator.py 프로젝트: nirs/vdsm
def validate(networks, bondings, net_info):
    link_validator.validate(networks, bondings)
    ip_validator.validate(networks)
    netswitch.configurator.validate(networks, bondings, net_info)