initial commit
diff --git a/classes/cluster/virtual-mcp-allinone/openstack/init.yml b/classes/cluster/virtual-mcp-allinone/openstack/init.yml
new file mode 100755
index 0000000..ffbfc46
--- /dev/null
+++ b/classes/cluster/virtual-mcp-allinone/openstack/init.yml
@@ -0,0 +1,99 @@
+classes:
+- system.linux.system.lowmem
+- system.linux.system.repo.mcp.openstack
+- system.linux.system.repo.mcp.extra
+- system.rabbitmq.server.vhost.openstack
+- system.keystone.server.wsgi
+- system.keystone.server.single
+- system.mysql.client.database.keystone
+- system.mysql.client.database.glance
+- system.mysql.client.database.nova
+- system.mysql.client.database.nova_api
+- system.keystone.client.single
+- system.keystone.client.service.nova
+- system.keystone.client.service.nova-placement
+- system.glance.control.single
+- system.nova.control.single
+- system.neutron.control.single
+- system.nova.compute.single
+- service.neutron.gateway.single
+parameters:
+  _param:
+    openstack_version: ocata
+    cluster_public_host: ${_param:single_address}
+    cluster_public_protocol: http
+    openstack_region: RegionOne
+    admin_email: root@localhost
+    rabbitmq_openstack_password: workshop
+    keystone_version: ${_param:openstack_version}
+    glance_version: ${_param:openstack_version}
+    nova_version: ${_param:openstack_version}
+    neutron_version: ${_param:openstack_version}
+    keystone_service_token: workshop
+    keystone_admin_password: workshop
+    keystone_ceilometer_password: workshop
+    keystone_cinder_password: workshop
+    keystone_glance_password: workshop
+    keystone_heat_password: workshop
+    keystone_neutron_password: workshop
+    keystone_nova_password: workshop
+    keystone_service_host: ${_param:single_address}
+    mysql_keystone_password: workshop
+    mysql_glance_password: workshop
+    mysql_nova_password: workshop
+    mysql_neutron_password: workshop
+    heat_service_host: ${_param:single_address}
+    neutron_service_host: ${_param:single_address}
+    glance_service_host: ${_param:single_address}
+    cinder_service_host: ${_param:single_address}
+    nova_service_host: ${_param:single_address}
+    control_address: ${_param:single_address}
+    metadata_password: workshop
+    cluster_vip_address: ${_param:single_address}
+    tenant_address: ${_param:single_address}
+  keystone:
+    server:
+      tokens:
+        engine: fernet
+      message_queue:
+        virtual_host: openstack
+  neutron:
+    server:
+      backend:
+        engine: ml2
+        tenant_network_types: "flat,vxlan"
+        mechanism:
+          ovs:
+            driver: openvswitch
+      message_queue:
+        virtual_host: openstack
+    gateway:
+      message_queue:
+        host: ${_param:single_address}
+      metadata:
+        host: ${_param:single_address}
+        password: workshop
+      local_ip: ${_param:single_address}
+      agent_mode: legacy
+  nova:
+    controller:
+      version: ${_param:nova_version}
+      metadata:
+        password: workshop
+      message_queue:
+        virtual_host: openstack
+    compute:
+      network:
+        region: ${_param:openstack_region}
+        user: neutron
+        password: ${_param:keystone_neutron_password}
+        tenant: service
+      cache:
+        members: ~
+  glance:
+    server:
+      message_queue:
+        virtual_host: openstack
+  rabbitmq:
+    server:
+      host: ~