def test_all_network_spaces(self, _secret, _rids, _runits, _rget): rdata = { 'l2-population': 'True', 'enable-dvr': 'True', 'overlay-network-type': 'gre', 'enable-l3ha': 'True', 'enable-qos': 'True', 'network-device-mtu': 9000, 'dns-domain': 'openstack.example.' } self.test_config.set('plugin', 'ovs') self.test_config.set('debug', False) self.test_config.set('verbose', True) self.test_config.set('instance-mtu', 1420) self.test_config.set( 'dnsmasq-flags', 'dhcp-userclass=set:ipxe,iPXE,' 'dhcp-match=set:ipxe,175') self.test_config.set('vlan-ranges', 'physnet1:1000:2000 physnet2:2001:3000') self.test_config.set('flat-network-providers', 'physnet3 physnet4') self.test_config.set('customize-failure-domain', False) self.test_config.set('default-availability-zone', 'nova') self.test_config.set('ovsdb-timeout', 60) self.network_get_primary_address.return_value = '192.168.20.2' self.unit_get.return_value = '10.5.0.1' # Provided by neutron-api relation _rids.return_value = ['neutron-plugin-api:0'] _runits.return_value = ['neutron-api/0'] _rget.side_effect = lambda *args, **kwargs: rdata _secret.return_value = 'testsecret' ctxt = neutron_contexts.NeutronGatewayContext()() self.assertEqual( ctxt, { 'shared_secret': 'testsecret', 'enable_dvr': True, 'enable_l3ha': True, 'extension_drivers': 'qos', 'local_ip': '192.168.20.2', 'core_plugin': "ml2", 'plugin': 'ovs', 'debug': False, 'verbose': True, 'l2_population': True, 'overlay_network_type': 'gre', 'report_interval': 30, 'rpc_response_timeout': 60, 'bridge_mappings': 'physnet1:br-data', 'network_providers': 'physnet3,physnet4', 'vlan_ranges': 'physnet1:1000:2000,physnet2:2001:3000', 'network_device_mtu': 9000, 'veth_mtu': 9000, 'availability_zone': 'nova', 'enable_nfg_logging': False, 'nfg_log_burst_limit': 25, 'nfg_log_output_base': None, 'nfg_log_rate_limit': None, 'ovsdb_timeout': 60, })
def test_all(self, _secret, _rids, _runits, _rget): rdata = { 'l2-population': 'True', 'enable-dvr': 'True', 'overlay-network-type': 'gre', 'enable-l3ha': 'True', 'enable-qos': 'True', 'network-device-mtu': 9000, 'dns-domain': 'openstack.example.' } self.test_config.set('plugin', 'ovs') self.test_config.set('debug', False) self.test_config.set('verbose', True) self.test_config.set('instance-mtu', 1420) self.test_config.set( 'dnsmasq-flags', 'dhcp-userclass=set:ipxe,iPXE,' 'dhcp-match=set:ipxe,175') self.test_config.set('dns-servers', '8.8.8.8,4.4.4.4') self.test_config.set('vlan-ranges', 'physnet1:1000:2000 physnet2:2001:3000') self.test_config.set('flat-network-providers', 'physnet3 physnet4') self.network_get_primary_address.side_effect = NotImplementedError self.unit_get.return_value = '10.5.0.1' # Provided by neutron-api relation _rids.return_value = ['neutron-plugin-api:0'] _runits.return_value = ['neutron-api/0'] _rget.side_effect = lambda *args, **kwargs: rdata _secret.return_value = 'testsecret' ctxt = neutron_contexts.NeutronGatewayContext()() self.assertEqual( ctxt, { 'shared_secret': 'testsecret', 'enable_dvr': True, 'enable_l3ha': True, 'dns_servers': '8.8.8.8,4.4.4.4', 'extension_drivers': 'qos', 'dns_domain': 'openstack.example.', 'local_ip': '10.5.0.1', 'instance_mtu': 1420, 'core_plugin': "ml2", 'plugin': 'ovs', 'debug': False, 'verbose': True, 'l2_population': True, 'overlay_network_type': 'gre', 'report_interval': 30, 'rpc_response_timeout': 60, 'bridge_mappings': 'physnet1:br-data', 'network_providers': 'physnet3,physnet4', 'vlan_ranges': 'physnet1:1000:2000,physnet2:2001:3000', 'network_device_mtu': 9000, 'veth_mtu': 9000, 'enable_isolated_metadata': False, 'enable_metadata_network': False, 'dnsmasq_flags': { 'dhcp-userclass': 'set:ipxe,iPXE', 'dhcp-match': 'set:ipxe,175' } })
def test_nfg_min_settings(self, _secret, _rids, _runits, _rget): self.test_config.set('firewall-group-log-rate-limit', 90) self.test_config.set('firewall-group-log-burst-limit', 20) self.network_get_primary_address.return_value = '192.168.20.2' self.unit_get.return_value = '10.5.0.1' ctxt = neutron_contexts.NeutronGatewayContext()() self.assertEqual(ctxt['nfg_log_burst_limit'], 25) self.assertEqual(ctxt['nfg_log_rate_limit'], 100)
def test_dhcp_settings(self, _secret, _rids, _runits, _rget): self.test_config.set('enable-isolated-metadata', True) self.test_config.set('enable-metadata-network', True) self.network_get_primary_address.return_value = '192.168.20.2' self.unit_get.return_value = '10.5.0.1' ctxt = neutron_contexts.NeutronGatewayContext()() self.assertTrue(ctxt['enable_isolated_metadata']) self.assertTrue(ctxt['enable_metadata_network'])
def test_all(self, _host_ip, _secret, _rids, _runits, _rget): rdata = { 'l2-population': 'True', 'enable-dvr': 'True', 'overlay-network-type': 'gre', 'enable-l3ha': 'True', 'network-device-mtu': 9000 } self.test_config.set('plugin', 'ovs') self.test_config.set('debug', False) self.test_config.set('verbose', True) self.test_config.set('instance-mtu', 1420) self.test_config.set( 'dnsmasq-flags', 'dhcp-userclass=set:ipxe,iPXE,' 'dhcp-match=set:ipxe,175') self.test_config.set('vlan-ranges', 'physnet1:1000:2000 physnet2:2001:3000') self.test_config.set('flat-network-providers', 'physnet3 physnet4') # Provided by neutron-api relation _rids.return_value = ['neutron-plugin-api:0'] _runits.return_value = ['neutron-api/0'] _rget.side_effect = lambda *args, **kwargs: rdata self.get_os_codename_install_source.return_value = 'folsom' _host_ip.return_value = '10.5.0.1' _secret.return_value = 'testsecret' ctxt = neutron_contexts.NeutronGatewayContext()() self.assertEquals( ctxt, { 'shared_secret': 'testsecret', 'enable_dvr': True, 'enable_l3ha': True, 'local_ip': '10.5.0.1', 'instance_mtu': 1420, 'core_plugin': "quantum.plugins.openvswitch.ovs_quantum_plugin." "OVSQuantumPluginV2", 'plugin': 'ovs', 'debug': False, 'verbose': True, 'l2_population': True, 'overlay_network_type': 'gre', 'bridge_mappings': 'physnet1:br-data', 'network_providers': 'physnet3,physnet4', 'vlan_ranges': 'physnet1:1000:2000,physnet2:2001:3000', 'network_device_mtu': 9000, 'veth_mtu': 9000, 'dnsmasq_flags': { 'dhcp-userclass': 'set:ipxe,iPXE', 'dhcp-match': 'set:ipxe,175' } })
def test_availability_zone_juju(self, _secret, _rids, _runits, _rget, mock_get, mock_config): def environ_get_side_effect(key): return { 'JUJU_AVAILABILITY_ZONE': 'az1', 'PATH': 'foobar', }[key] mock_get.side_effect = environ_get_side_effect mock_config.side_effect = self.test_config.get self.test_config.set('customize-failure-domain', True) context = neutron_contexts.NeutronGatewayContext() self.assertEqual('az1', context()['availability_zone'])
def test_all_network_spaces(self, _secret, _rids, _runits, _rget): rdata = { 'l2-population': 'True', 'enable-dvr': 'True', 'overlay-network-type': 'gre', 'enable-l3ha': 'True', 'network-device-mtu': 9000 } self.test_config.set('plugin', 'ovs') self.test_config.set('debug', False) self.test_config.set('verbose', True) self.test_config.set('instance-mtu', 1420) self.test_config.set( 'dnsmasq-flags', 'dhcp-userclass=set:ipxe,iPXE,' 'dhcp-match=set:ipxe,175') self.test_config.set('vlan-ranges', 'physnet1:1000:2000 physnet2:2001:3000') self.test_config.set('flat-network-providers', 'physnet3 physnet4') self.network_get_primary_address.return_value = '192.168.20.2' self.unit_get.return_value = '10.5.0.1' # Provided by neutron-api relation _rids.return_value = ['neutron-plugin-api:0'] _runits.return_value = ['neutron-api/0'] _rget.side_effect = lambda *args, **kwargs: rdata _secret.return_value = 'testsecret' ctxt = neutron_contexts.NeutronGatewayContext()() self.assertEquals( ctxt, { 'shared_secret': 'testsecret', 'enable_dvr': True, 'enable_l3ha': True, 'local_ip': '192.168.20.2', 'instance_mtu': 1420, 'core_plugin': "ml2", 'plugin': 'ovs', 'debug': False, 'verbose': True, 'l2_population': True, 'overlay_network_type': 'gre', 'bridge_mappings': 'physnet1:br-data', 'network_providers': 'physnet3,physnet4', 'vlan_ranges': 'physnet1:1000:2000,physnet2:2001:3000', 'network_device_mtu': 9000, 'veth_mtu': 9000, 'dnsmasq_flags': { 'dhcp-userclass': 'set:ipxe,iPXE', 'dhcp-match': 'set:ipxe,175' } })
def test_availability_zone_no_juju_with_env(self, _secret, _rids, _runits, _rget, mock_get): self.os_release.return_value = 'icehouse' def environ_get_side_effect(key): return { 'JUJU_AVAILABILITY_ZONE': 'az1', 'PATH': 'foobar', }[key] mock_get.side_effect = environ_get_side_effect self.test_config.set('customize-failure-domain', False) self.test_config.set('default-availability-zone', 'nova') context = neutron_contexts.NeutronGatewayContext() self.assertEqual('nova', context()['availability_zone'])
def test_availability_zone_no_juju_with_env(self, _secret, _rids, _runits, _rget, mock_get, mock_config): def environ_get_side_effect(key): return { 'JUJU_AVAILABILITY_ZONE': 'az1', 'PATH': 'foobar', }[key] mock_get.side_effect = environ_get_side_effect def config_side_effect(key): return { 'customize-failure-domain': False, 'default-availability-zone': 'nova', }[key] mock_config.side_effect = config_side_effect context = neutron_contexts.NeutronGatewayContext() self.assertEqual('nova', context()['availability_zone'])