diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 107b611b8cd57473e4ca76841d9b757c51363cf8..bcacba90e442cfa145bd2727339878a2bdd5ebc3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -152,7 +152,7 @@ deploy_http_proxy_node:
       git clone ${CI_REPOSITORY_URL} /tmp/${CI_PROJECT_NAME}
       cd /tmp/${CI_PROJECT_NAME}
       git checkout ${CI_COMMIT_REF_NAME}
-      ansible-playbook -c local -i 127.0.0.1, ansible/cheaha.yml | tee -a /tmp/ansible.log
+      ansible-playbook -c local -i 127.0.0.1, --extra-vars="$EXTRA_VARS" ansible/cheaha.yml | tee -a /tmp/ansible.log
       rm -rf /tmp/${CI_PROJECT_NAME}
       EOF
     - >
@@ -200,7 +200,7 @@ deploy_ssh_proxy_node:
       git clone ${CI_REPOSITORY_URL} /tmp/${CI_PROJECT_NAME}
       cd /tmp/${CI_PROJECT_NAME}
       git checkout ${CI_COMMIT_REF_NAME}
-      ansible-playbook -c local -i 127.0.0.1, ansible/cheaha.yml | tee -a /tmp/ansible.log
+      ansible-playbook -c local -i 127.0.0.1, --extra-vars="$EXTRA_VARS" ansible/cheaha.yml | tee -a /tmp/ansible.log
       rm -rf /tmp/${CI_PROJECT_NAME}
       EOF
     - >
diff --git a/ansible/group_vars/all b/ansible/group_vars/all
index d1d270fa523e65f3c10a5a10ad271916431c8a99..e95c617fc3bb3b9a8e4b117d7468836226e34ea5 100644
--- a/ansible/group_vars/all
+++ b/ansible/group_vars/all
@@ -17,6 +17,11 @@
 # cheaha.node related
   hostname_lookup_table:
     - "10.141.255.254 master.cm.cluster master localmaster.cm.cluster localmaster ldapserver.cm.cluster ldapserver"
+  domain_search_list:
+    - openstack.internal
+    - cm.cluster
+  nameserver_list:
+    - 10.141.255.254
 
 # ldap_config related
   ldap_cert_path: "/etc/openldap/certs"
diff --git a/ansible/roles/cheaha.node/tasks/main.yml b/ansible/roles/cheaha.node/tasks/main.yml
index 12f098d0841e7562af1cb11d8b77a14ab6a9ac97..f5beccc54f12880316791b11f07dd91aecb22796 100644
--- a/ansible/roles/cheaha.node/tasks/main.yml
+++ b/ansible/roles/cheaha.node/tasks/main.yml
@@ -12,6 +12,15 @@
     insertbefore: BOF
     line: 'append domain-name " cm.cluster rc.uab.edu ib.cluster drac.cluster eth.cluster ib-hdr.cluster";'
 
+- name: Template resolv.conf
+  ansible.builtin.template:
+    src: resolv.conf.j2
+    dest: /etc/resolv.conf
+    owner: root
+    group: root
+    mode: 0644
+    backup: true
+
 - name: Disable SELinux
   ansible.posix.selinux:
     state: disabled
diff --git a/ansible/roles/cheaha.node/templates/resolv.conf.j2 b/ansible/roles/cheaha.node/templates/resolv.conf.j2
new file mode 100644
index 0000000000000000000000000000000000000000..be59430ed6fe3a478587a77d74ae9653c5c16f33
--- /dev/null
+++ b/ansible/roles/cheaha.node/templates/resolv.conf.j2
@@ -0,0 +1,4 @@
+search {{ domain_search_list | join(' ') }}
+{% for name_server in nameserver_list %}
+nameserver {{ name_server }}
+{% endfor %}