Add roles for designate bind9 backend

Change-Id: I7dab1f960b8659b331174ee8bd916949f8f74e7f
diff --git "a/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/database.yml" "b/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/database.yml"
new file mode 100644
index 0000000..a66db6c
--- /dev/null
+++ "b/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/database.yml"
@@ -0,0 +1,3 @@
+classes:
+- system.galera.server.database.designate
+- environment.{{ cookiecutter._env_name }}.features.designate_bind9
diff --git "a/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/dns.yml" "b/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/dns.yml"
new file mode 100644
index 0000000..9d23c54
--- /dev/null
+++ "b/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/dns.yml"
@@ -0,0 +1,42 @@
+classes:
+- system.bind.server.single
+# Parameters below are little different from system.designate.server.backend.bind
+parameters:
+  bind:
+    server:
+      key:
+        designate:
+          secret: "${_param:designate_bind9_rndc_key}"
+          algorithm: "${_param:designate_bind9_rndc_algorithm}"
+      allow_new_zones: true
+      query: true
+      control:
+        mgmt:
+          enabled: true
+          bind:
+            address: ${_param:single_address}
+            port: 953
+          allow:
+            - ${_param:openstack_control_node01_address}
+            - ${_param:openstack_control_node02_address}
+            - ${_param:openstack_control_node03_address}
+            - ${_param:single_address}
+            - 127.0.0.1
+          keys:
+            - designate
+    client:
+      enabled: true
+      option:
+        default:
+          server: 127.0.0.1
+          port: 953
+          key: designate
+      key:
+        designate:
+          secret: "${_param:designate_bind9_rndc_key}"
+          algorithm: "${_param:designate_bind9_rndc_algorithm}"
+#  linux:
+#    system:
+#      package:
+#        python-msgpack:
+#          version: latest
diff --git "a/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/init.yml" "b/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/init.yml"
new file mode 100644
index 0000000..d7aaa95
--- /dev/null
+++ "b/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/init.yml"
@@ -0,0 +1,54 @@
+{%- macro password(size=16) -%}
+{% for index in range(size) %}{{ 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'|random }}{% endfor %}
+{%- endmacro -%}
+parameters:
+  _param:
+    # Put overrides for any environment-specific variables here
+    designate_admin_api_enabled: true
+    designate_bind9_rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8H+z0fLLBunoitw==
+    designate_bind9_rndc_algorithm: hmac-sha512
+    designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
+    designate_quota_zones: 40
+    designate_pool_ns_records:
+      - hostname: 'ns1.example.org.'
+        priority: 10
+    designate_pool_nameservers:
+      - host: ${_param:openstack_dns_node01_address}
+        port: 53
+      - host: ${_param:openstack_dns_node02_address}
+        port: 53
+    designate_pool_target_type: bind9
+    designate_pool_target_masters:
+      - host: ${_param:openstack_control_node01_address}
+        port: 5354
+      - host: ${_param:openstack_control_node02_address}
+        port: 5354
+      - host: ${_param:openstack_control_node03_address}
+        port: 5354
+    designate_pool_target_options:
+      host: ${_param:openstack_dns_node01_address}
+      port: 53
+      rndc_host: ${_param:openstack_dns_node01_address}
+      rndc_port: 953
+      rndc_key_file: /etc/designate/rndc.key
+    designate_version: ${_param:openstack_version}
+    designate_worker_enabled: true
+    designate_service_host: ${_param:openstack_control_address}
+    mysql_designate_password: {{ password(16) }}
+    keystone_designate_password: {{ password(16) }}
+
+    openstack_dns_node01_address: 172.16.10.111
+    openstack_dns_node02_address: 172.16.10.112
+  linux:
+    network:
+      host:
+        dns01:
+          address: ${_param:openstack_dns_node01_address}
+          names:
+          - dns01
+          - dns01.${_param:cluster_domain}
+        dns02:
+          address: ${_param:openstack_dns_node02_address}
+          names:
+          - dns02
+          - dns02.${_param:cluster_domain}
diff --git "a/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/keystone.yml" "b/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/keystone.yml"
new file mode 100644
index 0000000..8396201
--- /dev/null
+++ "b/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/keystone.yml"
@@ -0,0 +1,3 @@
+classes:
+- system.keystone.client.service.designate
+- environment.{{ cookiecutter._env_name }}.features.designate_bind9
diff --git "a/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/system.yml" "b/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/system.yml"
new file mode 100644
index 0000000..2c36e28
--- /dev/null
+++ "b/\173\173 cookiecutter._env_name \175\175/features/designate_bind9/system.yml"
@@ -0,0 +1,31 @@
+classes:
+- system.designate.server.cluster
+#- system.designate.server.backend.bind  # is not suitable class yet
+- environment.{{ cookiecutter._env_name }}.features.designate_bind9
+parameters:
+  designate:
+    worker:
+      enabled: ${_param:designate_worker_enabled}
+    server:
+      backend:
+        bind9:
+          rndc_key: ${_param:designate_bind9_rndc_key}
+          rndc_algorithm: ${_param:designate_bind9_rndc_algorithm}
+      quota:
+        zones: ${_param:designate_quota_zones}
+      pools:
+        default:
+          description: 'test pool'
+          targets:
+            default:
+              description: 'test target1'
+            default1:
+              type: ${_param:designate_pool_target_type}
+              description: 'test target2'
+              masters: ${_param:designate_pool_target_masters}
+              options:
+                host: ${_param:openstack_dns_node02_address}
+                port: 53
+                rndc_host: ${_param:openstack_dns_node02_address}
+                rndc_port: 953
+                rndc_key_file: /etc/designate/rndc.key