示例#1
0
    def test_disable_mlockall(self, _os_release, _is_container):
        _os_release.return_value = 'victoria'

        _is_container.return_value = True
        ovsp_ctxt = context.OVSPluginContext()
        self.assertTrue(ovsp_ctxt.disable_mlockall())

        _is_container.return_value = False
        ovsp_ctxt = context.OVSPluginContext()
        self.assertFalse(ovsp_ctxt.disable_mlockall())

        _os_release.return_value = 'liberty'
        ovsp_ctxt = context.OVSPluginContext()
        self.test_config.set('disable-mlockall', True)
        self.assertFalse(ovsp_ctxt.disable_mlockall())

        _os_release.return_value = 'mitaka'
        ovsp_ctxt = context.OVSPluginContext()
        self.test_config.set('disable-mlockall', True)
        self.assertTrue(ovsp_ctxt.disable_mlockall())

        _os_release.return_value = 'victoria'
        ovsp_ctxt = context.OVSPluginContext()
        self.test_config.set('disable-mlockall', False)
        self.assertFalse(ovsp_ctxt.disable_mlockall())
示例#2
0
    def test_neutroncc_context_api_rel_disable_security(
            self, _unit_priv_ip, _npa, _ens_pkgs, _https, _is_clus, _unit_get,
            _config, _runits, _rids, _rget, _get_os_cdnm_pkg):
        def mock_npa(plugin, section, manager):
            if section == "driver":
                return "neutron.randomdriver"
            if section == "config":
                return "neutron.randomconfig"

        _get_os_cdnm_pkg.return_value = 'ocata'
        _npa.side_effect = mock_npa
        _config.return_value = 'ovs'
        _unit_get.return_value = '127.0.0.13'
        _unit_priv_ip.return_value = '127.0.0.14'
        _is_clus.return_value = False
        self.test_config.set('disable-security-groups', True)
        _runits.return_value = ['unit1']
        _rids.return_value = ['rid2']
        rdata = {
            'neutron-security-groups': 'True',
            'l2-population': 'True',
            'enable-qos': 'True',
            'network-device-mtu': 1500,
            'overlay-network-type': 'gre',
        }
        _rget.side_effect = lambda *args, **kwargs: rdata
        self.get_host_ip.return_value = '127.0.0.15'
        napi_ctxt = context.OVSPluginContext()
        expect = {
            'distributed_routing': False,
            'neutron_alchemy_flags': {},
            'neutron_security_groups': False,
            'verbose': True,
            'extension_drivers': 'qos',
            'local_ip': '127.0.0.15',
            'veth_mtu': 1500,
            'network_device_mtu': 1500,
            'config': 'neutron.randomconfig',
            'use_syslog': True,
            'enable_dpdk': False,
            'firewall_driver': 'iptables_hybrid',
            'network_manager': 'neutron',
            'debug': True,
            'core_plugin': 'neutron.randomdriver',
            'neutron_plugin': 'ovs',
            'neutron_url': 'https://127.0.0.13:9696',
            'l2_population': True,
            'overlay_network_type': 'gre',
            'polling_interval': 2,
            'rpc_response_timeout': 60,
            'sriov_vfs_blanket': 'auto',
            'report_interval': 30,
            'bridge_mappings': 'physnet1:br-data',
            'vlan_ranges': 'physnet1:1000:2000',
            'prevent_arp_spoofing': True,
        }
        self.maxDiff = None
        self.assertEqual(expect, napi_ctxt())
示例#3
0
def use_fqdn_hint():
    """Hint for whether FQDN should be used for agent registration

    :returns: True or False
    :rtype: bool
    """
    db = kv()
    return db.get(USE_FQDN_KEY, False)


BASE_RESOURCE_MAP = OrderedDict([
    (NEUTRON_CONF, {
        'services': ['neutron-plugin-openvswitch-agent'],
        'contexts': [
            neutron_ovs_context.OVSPluginContext(),
            neutron_ovs_context.RemoteRestartContext(
                ['neutron-plugin', 'neutron-control']),
            context.AMQPContext(ssl_dir=NEUTRON_CONF_DIR),
            context.ZeroMQContext(),
            context.NotificationDriverContext(),
            context.HostInfoContext(use_fqdn_hint_cb=use_fqdn_hint),
            neutron_ovs_context.ZoneContext(),
        ],
    }),
    (ML2_CONF, {
        'services': ['neutron-plugin-openvswitch-agent'],
        'contexts': [neutron_ovs_context.OVSPluginContext()],
    }),
    (OVS_CONF, {
        'services': ['neutron-openvswitch-agent'],
示例#4
0
    def test_neutroncc_context_api_rel(self, _unit_priv_ip, _npa, _ens_pkgs,
                                       _https, _is_clus, _unit_get, _config,
                                       _runits, _rids, _rget,
                                       _get_os_cdnm_pkg):
        def mock_npa(plugin, section, manager):
            if section == "driver":
                return "neutron.randomdriver"
            if section == "config":
                return "neutron.randomconfig"

        config = {
            'vlan-ranges': "physnet1:1000:1500 physnet2:2000:2500",
            'use-syslog': True,
            'verbose': True,
            'debug': True,
            'bridge-mappings': "physnet1:br-data physnet2:br-data",
            'flat-network-providers': 'physnet3 physnet4',
            'prevent-arp-spoofing': False,
            'enable-dpdk': False,
            'security-group-log-output-base': '/var/log/nsg.log',
            'security-group-log-rate-limit': None,
            'security-group-log-burst-limit': 25
        }

        def mock_config(key=None):
            if key:
                return config.get(key)

            return config

        _get_os_cdnm_pkg.return_value = 'ocata'
        self.maxDiff = None
        self.config.side_effect = mock_config
        _npa.side_effect = mock_npa
        _unit_get.return_value = '127.0.0.13'
        _unit_priv_ip.return_value = '127.0.0.14'
        _is_clus.return_value = False
        _runits.return_value = ['unit1']
        _rids.return_value = ['rid2']
        rdata = {
            'neutron-security-groups': 'True',
            'l2-population': 'True',
            'enable-qos': 'True',
            'network-device-mtu': 1500,
            'overlay-network-type': 'gre',
            'enable-dvr': 'True',
        }
        _rget.side_effect = lambda *args, **kwargs: rdata
        self.get_host_ip.return_value = '127.0.0.15'
        napi_ctxt = context.OVSPluginContext()
        expect = {
            'neutron_security_groups': True,
            'distributed_routing': True,
            'verbose': True,
            'extension_drivers': 'qos',
            'local_ip': '127.0.0.15',
            'network_device_mtu': 1500,
            'veth_mtu': 1500,
            'config': 'neutron.randomconfig',
            'use_syslog': True,
            'enable_dpdk': False,
            'firewall_driver': 'iptables_hybrid',
            'network_manager': 'neutron',
            'debug': True,
            'core_plugin': 'neutron.randomdriver',
            'neutron_plugin': 'ovs',
            'neutron_url': 'https://127.0.0.13:9696',
            'l2_population': True,
            'overlay_network_type': 'gre',
            'polling_interval': 2,
            'rpc_response_timeout': 60,
            'report_interval': 30,
            'network_providers': 'physnet3,physnet4',
            'bridge_mappings': 'physnet1:br-data,physnet2:br-data',
            'vlan_ranges': 'physnet1:1000:1500,physnet2:2000:2500',
            'prevent_arp_spoofing': False,
            'enable_nsg_logging': False,
            'nsg_log_output_base': '/var/log/nsg.log',
            'nsg_log_rate_limit': None,
            'nsg_log_burst_limit': 25,
        }
        self.assertEqual(expect, napi_ctxt())
示例#5
0
    def test_neutroncc_context_api_rel(self, _unit_priv_ip, _npa, _ens_pkgs,
                                       _save_ff, _https, _is_clus, _unit_get,
                                       _config, _runits, _rids, _rget):
        def mock_npa(plugin, section, manager):
            if section == "driver":
                return "neutron.randomdriver"
            if section == "config":
                return "neutron.randomconfig"

        config = {
            'vlan-ranges': "physnet1:1000:1500 physnet2:2000:2500",
            'use-syslog': True,
            'verbose': True,
            'debug': True,
            'bridge-mappings': "physnet1:br-data physnet2:br-data",
            'flat-network-providers': 'physnet3 physnet4',
            'prevent-arp-spoofing': False,
            'enable-dpdk': False
        }

        def mock_config(key=None):
            if key:
                return config.get(key)

            return config

        self.maxDiff = None
        self.config.side_effect = mock_config
        _npa.side_effect = mock_npa
        _unit_get.return_value = '127.0.0.13'
        _unit_priv_ip.return_value = '127.0.0.14'
        _is_clus.return_value = False
        _runits.return_value = ['unit1']
        _rids.return_value = ['rid2']
        rdata = {
            'neutron-security-groups': 'True',
            'l2-population': 'True',
            'network-device-mtu': 1500,
            'overlay-network-type': 'gre',
            'enable-dvr': 'True',
        }
        _rget.side_effect = lambda *args, **kwargs: rdata
        self.get_host_ip.return_value = '127.0.0.15'
        napi_ctxt = context.OVSPluginContext()
        expect = {
            'neutron_security_groups': True,
            'distributed_routing': True,
            'verbose': True,
            'local_ip': '127.0.0.15',
            'network_device_mtu': 1500,
            'veth_mtu': 1500,
            'config': 'neutron.randomconfig',
            'use_syslog': True,
            'enable_dpdk': False,
            'network_manager': 'neutron',
            'debug': True,
            'core_plugin': 'neutron.randomdriver',
            'neutron_plugin': 'ovs',
            'neutron_url': 'https://127.0.0.13:9696',
            'l2_population': True,
            'overlay_network_type': 'gre',
            'network_providers': 'physnet3,physnet4',
            'bridge_mappings': 'physnet1:br-data,physnet2:br-data',
            'vlan_ranges': 'physnet1:1000:1500,physnet2:2000:2500',
            'prevent_arp_spoofing': False,
        }
        self.assertEquals(expect, napi_ctxt())