Integrate Manila into virtual-mcp-pike-dvr-ssl

Change-Id: I19669b316a944f4aa74f415c10fa38ccfad66dc4
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/infra/config.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/infra/config.yml
index 26d73a4..c441d23 100644
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/infra/config.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr-ssl/infra/config.yml
@@ -6,6 +6,7 @@
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.master.api
+- system.salt.master.formula.pkg.manila
 - system.reclass.storage.salt
 - system.salt.minion.ca.salt_master
 - system.sphinx.server.doc.reclass
@@ -14,6 +15,8 @@
 - system.keystone.client.service.nova-placement
 - system.keystone.client.service.cinder3
 - system.keystone.client.service.designate
+- system.keystone.client.service.manila
+- system.keystone.client.service.manila2
 - system.reclass.storage.system.openstack_dns_cluster
 - system.reclass.storage.system.openstack_control_cluster
 - system.reclass.storage.system.openstack_compute_multi
@@ -113,6 +116,14 @@
           cluster_param:
             openstack_proxy_node01_address:
               value_template: <<node_control_ip>>
+        openstack_share:
+          expression: <<node_hostname>>__startswith__share
+          node_class:
+            value_template:
+              - cluster.<<node_cluster>>.openstack.share
+          node_param:
+            manila_share_address:
+              value_template: <<node_tenant_ip>>
       node:
         openstack_control_node01:
           classes:
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/control.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/control.yml
index bb6d14f..e7e8459 100644
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/control.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/control.yml
@@ -8,6 +8,7 @@
 - system.memcached.server.single
 - system.rabbitmq.server.cluster
 - system.rabbitmq.server.vhost.openstack
+- system.apache.server.site.manila
 - system.nginx.server.single
 - system.nginx.server.proxy.openstack_api
 - system.nginx.server.proxy.openstack.designate
@@ -33,8 +34,11 @@
 - system.galera.server.database.keystone
 - system.galera.server.database.nova
 - system.galera.server.database.designate
+- system.galera.server.database.manila
 - cluster.virtual-mcp-pike-dvr-ssl.openstack.dns
 - system.haproxy.proxy.listen.openstack.placement
+- system.haproxy.proxy.listen.openstack.manila
+- system.manila.control.cluster
 - cluster.virtual-mcp-pike-dvr-ssl
 
 parameters:
@@ -58,6 +62,8 @@
     nginx_proxy_openstack_heat_host: 127.0.0.1
     nginx_proxy_openstack_designate_host: 127.0.0.1
     nginx_proxy_openstack_placement_host: 127.0.0.1
+    apache_manila_api_address: ${_param:single_address}
+    apache_manila_ssl: ${_param:nginx_proxy_ssl}
     apache_keystone_api_host: ${_param:single_address}
     apache_keystone_ssl: ${_param:nginx_proxy_ssl}
   nginx:
@@ -177,6 +183,10 @@
         host: 127.0.0.1
       glance:
         protocol: https
+  manila:
+    common:
+      identity:
+        protocol: https
   salt:
     minion:
       cert:
@@ -202,6 +212,8 @@
           type: ~
         keystone_admin_api:
           type: ~
+        manila_api:
+          type: ~
         nova_api:
           type: ~
         nova_metadata_api:
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/init.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/init.yml
index 1702195..aa2007b 100644
--- a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/init.yml
+++ b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/init.yml
@@ -40,6 +40,7 @@
     heat_service_protocol: ${_param:cluster_internal_protocol}
     cinder_service_protocol: ${_param:cluster_internal_protocol}
     designate_service_protocol: ${_param:cluster_internal_protocol}
+    manila_service_protocol: ${_param:cluster_internal_protocol}
     neutron_control_dvr: True
     neutron_tenant_network_types: "flat,vxlan"
     neutron_l3_ha: False
@@ -132,6 +133,8 @@
     heat_domain_admin_password: workshop
     cinder_version: ${_param:openstack_version}
     cinder_service_host: ${_param:cluster_vip_address}
+    manila_version: ${_param:openstack_version}
+    manila_service_host: ${_param:cluster_vip_address}
     nova_version: ${_param:openstack_version}
     nova_service_host: ${_param:cluster_vip_address}
     nova_vncproxy_url: http://${_param:cluster_vip_address}:8060
@@ -149,6 +152,7 @@
     mysql_neutron_password: workshop
     mysql_nova_password: workshop
     mysql_designate_password: workshop
+    mysql_manila_password: workshop
     keystone_service_token: workshop
     keystone_admin_password: workshop
     keystone_cinder_password: workshop
@@ -158,6 +162,7 @@
     keystone_neutron_password: workshop
     keystone_nova_password: workshop
     keystone_designate_password: workshop
+    keystone_manila_password: workshop
     horizon_version: ${_param:openstack_version}
     horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e
     horizon_identity_host: ${_param:cluster_vip_address}
diff --git a/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/share.yml b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/share.yml
new file mode 100644
index 0000000..ad29ff7
--- /dev/null
+++ b/classes/cluster/virtual-mcp-pike-dvr-ssl/openstack/share.yml
@@ -0,0 +1,16 @@
+classes:
+- system.linux.system.lowmem
+- system.linux.system.repo.mcp.apt_mirantis.openstack
+- system.linux.storage.loopback_manila
+- system.manila.share
+- system.manila.share.backend.lvm
+- cluster.virtual-mcp-pike-dvr-ssl
+parameters:
+  _param:
+    manila_lvm_devices:
+      - /dev/loop0
+    loopback_device1_size: 20
+  manila:
+    common:
+      identity:
+        protocol: https
\ No newline at end of file