Allow custom DNS servers

When running the ServerSignalIntegrationTest in a TLS environment with DNS endpoints,
this test will always fail unless the VM is able to resolve the public Heat endpoints. This
change adds support for configuring this option in the job and increases the number of use
cases that can be tested.

Change-Id: I880ead0dfd793dc2b8011a8547cc12e71e56d52f
Signed-off-by: Brendan Shephard <bshephar@redhat.com>
diff --git a/heat_tempest_plugin/config.py b/heat_tempest_plugin/config.py
index 786e11a..8876c58 100644
--- a/heat_tempest_plugin/config.py
+++ b/heat_tempest_plugin/config.py
@@ -167,6 +167,9 @@
     cfg.StrOpt('credential_secret_id',
                help="Barbican secret id which storing cloud credential in "
                "remote site."),
+    cfg.ListOpt('dns_servers',
+                default=(['8.8.8.8', '8.8.4.4']),
+                help='Configure custom DNS servers'),
     cfg.BoolOpt('vm_to_heat_api_insecure',
                 default=False,
                 help="Set this to True if VM images used for tests "
diff --git a/heat_tempest_plugin/tests/scenario/test_server_signal.py b/heat_tempest_plugin/tests/scenario/test_server_signal.py
index c4deb3c..c2ab1ae 100644
--- a/heat_tempest_plugin/tests/scenario/test_server_signal.py
+++ b/heat_tempest_plugin/tests/scenario/test_server_signal.py
@@ -31,7 +31,8 @@
             'image': image,
             'public_net': self.conf.floating_network_name,
             'timeout': self.conf.build_timeout,
-            'user_data_format': user_data_format
+            'user_data_format': user_data_format,
+            'dns_servers': self.conf.dns_servers
         }
         if self.conf.vm_to_heat_api_insecure:
             parameters['wc_extra_args'] = '--insecure'