Browse Source

Enable tempest DNS tests

This patch is enabling the tempest DNS tests in our gate which was
previously being skipped.

The "dns-integration" integration is being enabled as a supported
extension and q-dns has been enabled by default in gate.

The following tests are now expect to run in gate:

neutron_tempest_plugin.api.test_networks.NetworksTestJSON.test_create_update_network_dns_domain
neutron_tempest_plugin.api.test_ports.PortsTestJSON.test_create_update_port_with_dns_name
neutron_tempest_plugin.api.test_ports.PortsTestJSON.test_create_update_port_with_no_dns_name

After OVS 2.12 release with merged patch [1] this test should be enabled:
neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_name

[1] https://patchwork.ozlabs.org/patch/1102717/

Co-Authored-By: Maciej Józefczyk <mjozefcz@redhat.com>

Change-Id: I828d04dca62dfd913460048694d49fdba3956001
changes/27/562527/18
Lucas Alvares Gomes 1 year ago
parent
commit
349f68e7f3

+ 4
- 0
devstack/lib/networking-ovn View File

@@ -255,6 +255,10 @@ function configure_ovn_plugin {
255 255
         else
256 256
             populate_ml2_config /$Q_PLUGIN_CONF_FILE ovn ovn_metadata_enabled=False
257 257
         fi
258
+
259
+        if is_service_enabled q-dns neutron-dns ; then
260
+            iniset $NEUTRON_CONF DEFAULT dns_domain ovngate.local
261
+        fi
258 262
     fi
259 263
 
260 264
     if is_service_enabled q-dhcp ; then

+ 1
- 0
devstack/local.conf.sample View File

@@ -40,6 +40,7 @@ disable_service q-meta
40 40
 # Enable services, these services depend on neutron plugin.
41 41
 enable_plugin neutron https://opendev.org/openstack/neutron
42 42
 enable_service q-trunk
43
+enable_service q-dns
43 44
 #enable_service q-qos
44 45
 
45 46
 # Enable neutron tempest plugin tests

+ 1
- 0
devstack/override-defaults View File

@@ -4,6 +4,7 @@ Q_ML2_PLUGIN_MECHANISM_DRIVERS=${Q_ML2_PLUGIN_MECHANISM_DRIVERS:-ovn,logger}
4 4
 Q_ML2_PLUGIN_TYPE_DRIVERS=${Q_ML2_PLUGIN_TYPE_DRIVERS:-local,flat,vlan,geneve}
5 5
 Q_ML2_TENANT_NETWORK_TYPE=${Q_ML2_TENANT_NETWORK_TYPE:-"geneve"}
6 6
 Q_ML2_PLUGIN_GENEVE_TYPE_OPTIONS=${Q_ML2_PLUGIN_GENEVE_TYPE_OPTIONS:-"vni_ranges=1:65536"}
7
+Q_ML2_PLUGIN_EXT_DRIVERS=${Q_ML2_PLUGIN_EXT_DRIVERS:-port_security,dns}
7 8
 ML2_L3_PLUGIN="networking_ovn.l3.l3_ovn.OVNL3RouterPlugin,trunk"
8 9
 
9 10
 # This function is invoked by DevStack's Neutron plugin setup

+ 7
- 0
doc/source/admin/features.rst View File

@@ -39,6 +39,11 @@ services:
39 39
   The networking-ovn driver does support VLAN tenant networks when used
40 40
   with OVN version 2.11 (or higher).
41 41
 
42
+* DNS
43
+
44
+  Native implementation. Since the version 2.8 OVN contains a built-in
45
+  DNS implementation.
46
+
42 47
 
43 48
 The following Neutron API extensions are supported with OVN:
44 49
 
@@ -93,3 +98,5 @@ The following Neutron API extensions are supported with OVN:
93 98
 +----------------------------------+---------------------------+
94 99
 | Time Stamp Fields                | standard-attr-timestamp   |
95 100
 +----------------------------------+---------------------------+
101
+| Domain Name System (DNS)         | dns_integration           |
102
++----------------------------------+---------------------------+

+ 1
- 0
networking_ovn/common/extensions.py View File

@@ -34,6 +34,7 @@ ML2_SUPPORTED_API_EXTENSIONS_OVN_L3 = [
34 34
     'pagination',
35 35
     'sorting',
36 36
     'project-id',
37
+    'dns-integration',
37 38
 ]
38 39
 ML2_SUPPORTED_API_EXTENSIONS = [
39 40
     'address-scope',

+ 2
- 2
networking_ovn/common/ovn_client.py View File

@@ -1947,7 +1947,7 @@ class OVNClient(object):
1947 1947
             for old_hostname, old_ips in old_records.items():
1948 1948
                 if records_to_add.get(old_hostname) != old_ips:
1949 1949
                     txn.add(self._nb_idl.dns_remove_record(
1950
-                        ls_dns_record.uuid, old_hostname))
1950
+                        ls_dns_record.uuid, old_hostname, if_exists=True))
1951 1951
 
1952 1952
         for hostname, ips in records_to_add.items():
1953 1953
             if ls_dns_record.records.get(hostname) != ips:
@@ -1980,4 +1980,4 @@ class OVNClient(object):
1980 1980
         for hostname in hostnames:
1981 1981
             if ls_dns_record.records.get(hostname):
1982 1982
                 txn.add(self._nb_idl.dns_remove_record(
1983
-                        ls_dns_record.uuid, hostname))
1983
+                        ls_dns_record.uuid, hostname, if_exists=True))

+ 4
- 0
zuul.d/networking-ovn-jobs.yaml View File

@@ -23,6 +23,9 @@
23 23
     vars:
24 24
       tox_envlist: all-plugin
25 25
       tempest_test_regex: "^(?!.*(?:.*\\[.*slow.*\\])|(?:tempest.api.network.admin.test_quotas.QuotasTest.test_lbaas_quotas.*)|(?:tempest.api.network.test_load_balancer.*)|(?:tempest.scenario.test_load_balancer.*)|(?:tempest.api.network.admin.test_load_balancer.*)|(?:tempest.api.network.admin.test_lbaas.*)|(?:tempest.api.network.test_fwaas_extensions.*)|(?:tempest.api.network.test_metering_extensions.*)|(?:tempest.thirdparty.boto.test_s3.*)|(?:tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port)|(?:tempest.api.identity*)|(?:tempest.api.image*)|(?:tempest.api.volume*)|(?:tempest.api.compute.images*)|(?:tempest.api.compute.keypairs*)|(?:tempest.api.compute.certificates*)|(?:tempest.api.compute.flavors*)|(?:tempest.api.compute.test_quotas*)|(?:tempest.api.compute.test_versions*)|(?:tempest.api.compute.volumes*)|(?:tempest.api.compute.admin.test_flavor*)|(?:tempest.api.compute.admin.test_volume*)|(?:tempest.api.compute.admin.test_hypervisor*)|(?:tempest.api.compute.admin.test_aggregate*)|(?:tempest.api.compute.admin.test_quota*)|(?:tempest.scenario.test_volume*))((^neutron_tempest_plugin.api)|(^neutron_tempest_plugin.scenario)|(tempest.(api|scenario|thirdparty))).*$"
26
+      # TODO(mjozefcz): Remove this blacklist when OVS 2.12 will be released and
27
+      # https://patchwork.ozlabs.org/patch/1102717/ merged.
28
+      tempest_black_regex: "(^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest)"
26 29
       tempest_concurrency: 2
27 30
       devstack_localrc:
28 31
         Q_USE_PROVIDERNET_FOR_PUBLIC: true
@@ -67,6 +70,7 @@
67 70
         ovsdb-server: true
68 71
         placement-api: true
69 72
         q-svc: true
73
+        q-dns: true
70 74
         c-bak: false
71 75
         etcd: false
72 76
         peakmem_tracker: false

Loading…
Cancel
Save