Add DNSaaS component (Designate) to mitaka/newton model

Change-Id: I0fa2e6437a754476e4e0065eafc9e63ecad49bd4
diff --git a/classes/cluster/virtual-mcp-newton-ovs/infra/config.yml b/classes/cluster/virtual-mcp-newton-ovs/infra/config.yml
index 5a3ac24..da81d4e 100644
--- a/classes/cluster/virtual-mcp-newton-ovs/infra/config.yml
+++ b/classes/cluster/virtual-mcp-newton-ovs/infra/config.yml
@@ -16,6 +16,7 @@
 - system.keystone.client.service.nova21
 - system.keystone.client.service.glare
 - system.keystone.client.service.cinder3
+- system.keystone.client.service.designate
 - system.mysql.client.single
 - system.reclass.storage.system.openstack_control_cluster
 - system.reclass.storage.system.stacklight_server_cluster
diff --git a/classes/cluster/virtual-mcp-newton-ovs/openstack/control.yml b/classes/cluster/virtual-mcp-newton-ovs/openstack/control.yml
index fe542ac..edd6528 100644
--- a/classes/cluster/virtual-mcp-newton-ovs/openstack/control.yml
+++ b/classes/cluster/virtual-mcp-newton-ovs/openstack/control.yml
@@ -25,6 +25,9 @@
 - system.cinder.volume.single
 - system.cinder.volume.backend.lvm
 - system.heat.server.cluster
+- system.designate.server.cluster
+- system.designate.server.backend.bind
+- system.bind.server.single
 - system.galera.server.cluster
 - system.galera.server.database.ceilometer
 - system.galera.server.database.cinder
@@ -33,7 +36,9 @@
 - system.galera.server.database.heat
 - system.galera.server.database.keystone
 - system.galera.server.database.nova
+- system.galera.server.database.designate
 - cluster.virtual-mcp-newton-ovs
+
 parameters:
   _param:
     keepalived_vip_interface: ens4
@@ -104,3 +109,49 @@
       notification:
         driver: messagingv2
         topics: "notifications,${_param:stacklight_notification_topic}"
+  bind:
+    server:
+      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}
+          keys:
+            - designate
+  designate:
+    server:
+      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_control_node02_address}
+                port: 53
+                rndc_host: ${_param:openstack_control_node02_address}
+                rndc_port: 953
+                rndc_key_file: /etc/designate/rndc.key
+            default2:
+              type: ${_param:designate_pool_target_type}
+              description: 'test target3'
+              masters: ${_param:designate_pool_target_masters}
+              options:
+                host: ${_param:openstack_control_node03_address}
+                port: 53
+                rndc_host: ${_param:openstack_control_node03_address}
+                rndc_port: 953
+                rndc_key_file: /etc/designate/rndc.key
+      quota:
+        zones: ${_param:designate_quota_zones}
+    worker:
+      enabled: ${_param:designate_worker_enabled}
\ No newline at end of file
diff --git a/classes/cluster/virtual-mcp-newton-ovs/openstack/init.yml b/classes/cluster/virtual-mcp-newton-ovs/openstack/init.yml
index cc16074..c1f5167 100644
--- a/classes/cluster/virtual-mcp-newton-ovs/openstack/init.yml
+++ b/classes/cluster/virtual-mcp-newton-ovs/openstack/init.yml
@@ -59,6 +59,36 @@
     rabbitmq_admin_password: workshop
     rabbitmq_openstack_password: workshop
     rabbitmq_cold_password: workshop
+    designate_admin_api_enabled: true
+    designate_bind9_rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8H+z0fLLBunoitw==
+    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_control_node01_address}
+        port: 53
+      - host: ${_param:openstack_control_node02_address}
+        port: 53
+      - host: ${_param:openstack_control_node03_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_control_node01_address}
+      port: 53
+      rndc_host: ${_param:openstack_control_node01_address}
+      rndc_port: 953
+      rndc_key_file: /etc/designate/rndc.key
+    designate_version: ${_param:openstack_version}
+    designate_worker_enabled: false
     glance_version: ${_param:openstack_version}
     glance_service_host: ${_param:cluster_vip_address}
     keystone_version: ${_param:openstack_version}
@@ -78,6 +108,7 @@
     neutron_version: ${_param:openstack_version}
     neutron_service_host: ${_param:cluster_vip_address}
     glusterfs_service_host: ${_param:cluster_vip_address}
+    designate_service_host: ${_param:cluster_vip_address}
     metadata_password: workshop
     mysql_admin_user: root
     mysql_admin_password: workshop
@@ -90,6 +121,7 @@
     mysql_neutron_password: workshop
     mysql_nova_password: workshop
     mysql_aodh_password: workshop
+    mysql_designate_password: workshop
     keystone_service_token: workshop
     keystone_admin_password: workshop
     keystone_ceilometer_password: workshop
@@ -99,6 +131,7 @@
     keystone_keystone_password: workshop
     keystone_neutron_password: workshop
     keystone_nova_password: workshop
+    keystone_designate_password: workshop
     ceilometer_secret_key: workshop
     horizon_version: ${_param:openstack_version}
     horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e