Added OpenStack services

Change-Id: I9aadad2919a6a7400d6f11a884317e33e787b416
diff --git a/playbooks/openstack.yml b/playbooks/openstack.yml
new file mode 100644
index 0000000..31d0a04
--- /dev/null
+++ b/playbooks/openstack.yml
@@ -0,0 +1,112 @@
+# Copyright (c) 2022 VEXXHOST, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+- hosts: controllers[0]
+  gather_facts: false
+  become: true
+  roles:
+    - role: cilium
+      tags:
+        - cilium
+
+    - role: ceph_csi_rbd
+      tags:
+        - ceph-csi-rbd
+
+    - role: kube_prometheus_stack
+      tags:
+        - kube-prometheus-stack
+
+    - role: node_feature_discovery
+      tags:
+        - node-feature-discovery
+
+    - role: prometheus_pushgateway
+      tags:
+        - prometheus-pushgateway
+
+    - role: openstack_namespace
+      tags:
+        - openstack-namespace
+
+    - role: ingress_nginx
+      tags:
+        - ingress-nginx
+
+    - role: cert_manager
+      tags:
+        - cert-manager
+
+    - role: percona_xtradb_cluster
+      tags:
+        - percona-xtradb-cluster
+
+    - role: openstack_helm_infra_memcached
+      tags:
+        - openstack-helm-infra-memcached
+
+    - role: openstack_helm_infra_rabbitmq
+      tags:
+        - openstack-helm-infra-rabbitmq
+
+    - role: openstack_helm_keystone
+      tags:
+        - openstack-helm-keystone
+
+    - role: openstack_helm_infra_ceph_provisioners
+      tags:
+        - openstack-helm-infra-ceph-provisioners
+
+    - role: openstack_helm_glance
+      tags:
+        - openstack-helm-glance
+
+    - role: openstack_helm_cinder
+      tags:
+        - openstack-helm-cinder
+
+    - role: openstack_helm_placement
+      tags:
+        - openstack-helm-placement
+
+    - role: openstack_helm_infra_openvswitch
+      tags:
+        - openstack-helm-infra-openvswitch
+
+    - role: openstack_helm_infra_libvirt
+      tags:
+        - openstack-helm-infra-libvirt
+
+    - role: openstack_helm_neutron
+      tags:
+        - openstack-helm-neutron
+
+    - role: openstack_helm_nova
+      tags:
+        - openstack-helm-nova
+
+    - role: openstack_helm_heat
+      tags:
+        - openstack-helm-heat
+
+    - role: openstack_helm_horizon
+      tags:
+        - openstack-helm-horizon
+
+- hosts: controllers
+  gather_facts: false
+  roles:
+    - role: openstack_cli
+      tags:
+        - openstack-cli
diff --git a/playbooks/site.yml b/playbooks/site.yml
index 2b745d4..2966d48 100644
--- a/playbooks/site.yml
+++ b/playbooks/site.yml
@@ -14,3 +14,4 @@
 
 - import_playbook: vexxhost.atmosphere.ceph
 - import_playbook: vexxhost.atmosphere.kubernetes
+- import_playbook: vexxhost.atmosphere.openstack