diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml
index b3ac5b6cd1db0b67ef36d86f62d5731d5416c606..67927d5140e599445be82ae097f3c5b2244e86f1 100644
--- a/ansible/group_vars/all.yml
+++ b/ansible/group_vars/all.yml
@@ -441,6 +441,8 @@ cloudkitty_collector_backend: "ceilometer"
 #######################
 # Designate options
 #######################
+# Valid options are [ bind9 ]
+designate_backend: "bind9"
 designate_ns_record: "sample.openstack.org"
 
 #######################
diff --git a/ansible/roles/designate/tasks/config.yml b/ansible/roles/designate/tasks/config.yml
index 0cd4066508bd422bd58fca533e93b343427984d6..79c15bac41ff8f1b5d58f3fbced99b1aff3bcc50 100644
--- a/ansible/roles/designate/tasks/config.yml
+++ b/ansible/roles/designate/tasks/config.yml
@@ -61,6 +61,9 @@
     - "{{ node_custom_config }}/designate/designate-backend-bind9/named.conf"
     - "{{ node_custom_config }}/designate/named.conf"
     - "{{ role_path }}/templates/named.conf.j2"
+  when:
+    - designate_backend == 'bind9'
+    - inventory_hostname in groups['designate-backend-bind9']
 
 - name: Copying over rndc.conf
   template:
@@ -69,6 +72,10 @@
   with_items:
     - "designate-backend-bind9"
     - "designate-worker"
+  when:
+    - designate_backend == 'bind9'
+    - inventory_hostname in groups['designate-backend-bind9']
+      or inventory_hostname in groups['designate-worker']
 
 - name: Copying over rndc.key
   template:
@@ -77,6 +84,10 @@
   with_items:
     - "designate-backend-bind9"
     - "designate-worker"
+  when:
+    - designate_backend == 'bind9'
+    - inventory_hostname in groups['designate-backend-bind9']
+      or inventory_hostname in groups['designate-worker']
 
 - name: Check if policies shall be overwritten
   local_action: stat path="{{ node_custom_config }}/designate/policy.json"
diff --git a/ansible/roles/designate/tasks/precheck.yml b/ansible/roles/designate/tasks/precheck.yml
index 775ac0e8271dad303ee479ba2cec05fbf2e052c4..dd8dc1c0f80ba427805387d3586280e0521f00a0 100644
--- a/ansible/roles/designate/tasks/precheck.yml
+++ b/ansible/roles/designate/tasks/precheck.yml
@@ -36,6 +36,7 @@
     connect_timeout: 1
     state: stopped
   when:
+    - designate_backend == 'bind9'
     - container_facts['designate_backend_bind9'] is not defined
     - inventory_hostname in groups['designate-backend-bind9']
 
@@ -46,5 +47,6 @@
     connect_timeout: 1
     state: stopped
   when:
+    - designate_backend == 'bind9'
     - container_facts['designate_backend_bind9'] is not defined
     - inventory_hostname in groups['designate-backend-bind9']
diff --git a/ansible/roles/designate/tasks/pull.yml b/ansible/roles/designate/tasks/pull.yml
index 4a67bfe62f1aa0d3c4b23255e934fae93f07b0fc..a6c0cf81d4edd14c77c5eac5267db928e9e7e954 100644
--- a/ansible/roles/designate/tasks/pull.yml
+++ b/ansible/roles/designate/tasks/pull.yml
@@ -39,4 +39,6 @@
     action: "pull_image"
     common_options: "{{ docker_common_options }}"
     image: "{{ designate_backend_bind9_image_full }}"
-  when: inventory_hostname in groups['designate-backend-bind9']
+  when:
+    - designate_backend == 'bind9'
+    - inventory_hostname in groups['designate-backend-bind9']
diff --git a/ansible/roles/designate/tasks/start.yml b/ansible/roles/designate/tasks/start.yml
index d1ff1ca998ed30174c3f10999ca9aad1db1e161f..444b2f682242bb2363aef37aaad3a682d3aeabde 100644
--- a/ansible/roles/designate/tasks/start.yml
+++ b/ansible/roles/designate/tasks/start.yml
@@ -10,7 +10,9 @@
       - "/etc/localtime:/etc/localtime:ro"
       - "kolla_logs:/var/log/kolla/"
       - "designate_backend_bind9:/var/lib/named/"
-  when: inventory_hostname in groups['designate-backend-bind9']
+  when:
+    - designate_backend == 'bind9'
+    - inventory_hostname in groups['designate-backend-bind9']
 
 - name: Starting designate-central container
   kolla_docker:
diff --git a/ansible/roles/designate/templates/pools.yaml.j2 b/ansible/roles/designate/templates/pools.yaml.j2
index 14b80787332053b6c3413ed4cde53ec73cb8bfcd..f3b0aca03f736eaa3a1cae23f1b4d95c4553ab8e 100644
--- a/ansible/roles/designate/templates/pools.yaml.j2
+++ b/ansible/roles/designate/templates/pools.yaml.j2
@@ -1,3 +1,4 @@
+{% if designate_backend == 'bind9' %}
 - name: default-bind
   id: {{ designate_pool_id }}
   description: Default BIND9 Pool
@@ -26,3 +27,4 @@
         rndc_port: {{ designate_rndc_port }}
         rndc_key_file: /etc/designate/rndc.key
 {% endfor %}
+{% endif %}
diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml
index 93044cde0dce022368e98974e85fa6cf5de9ba9f..39fbc7df3093b7953ff575838fde8754c18ca54f 100644
--- a/etc/kolla/globals.yml
+++ b/etc/kolla/globals.yml
@@ -255,9 +255,10 @@ kolla_internal_vip_address: "10.10.10.254"
 #######################
 # Designate options
 #######################
+# Valid options are [ bind9 ]
+designate_backend: "bind9"
 designate_ns_record: "sample.openstack.org"
 
-
 #########################
 # Nova - Compute Options
 #########################