ci: add full-node tests (#920)
diff --git a/playbooks/generate_workspace.yml b/playbooks/generate_workspace.yml
index 3df0c4a..0b11184 100644
--- a/playbooks/generate_workspace.yml
+++ b/playbooks/generate_workspace.yml
@@ -168,7 +168,6 @@
- name: Generate endpoints for workspace
hosts: localhost
- gather_facts: false
vars:
_endpoints_path: "{{ workspace_path }}/group_vars/all/endpoints.yml"
# Input variables
diff --git a/playbooks/infrastructure.yml b/playbooks/infrastructure.yml
new file mode 100644
index 0000000..db62f05
--- /dev/null
+++ b/playbooks/infrastructure.yml
@@ -0,0 +1,49 @@
+# Copyright (c) 2024 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.
+
+- name: Deploy Infrastructure
+ hosts: controllers[0]
+ become: true
+ roles:
+ - role: cert_manager
+ tags:
+ - cert-manager
+
+ - role: cluster_issuer
+ tags:
+ - cluster-issuer
+
+ - role: ingress_nginx
+ tags:
+ - ingress-nginx
+
+ - role: rabbitmq_cluster_operator
+ tags:
+ - rabbitmq-cluster-operator
+
+ - role: percona_xtradb_cluster_operator
+ tags:
+ - percona-xtradb-cluster-operator
+
+ - role: percona_xtradb_cluster
+ tags:
+ - percona-xtradb-cluster
+
+ - role: keycloak
+ tags:
+ - keycloak
+
+ - role: keepalived
+ tags:
+ - keepalived
diff --git a/playbooks/monitoring.yml b/playbooks/monitoring.yml
new file mode 100644
index 0000000..c5249b9
--- /dev/null
+++ b/playbooks/monitoring.yml
@@ -0,0 +1,41 @@
+# Copyright (c) 2024 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.
+
+- name: Deploy Monitoring
+ hosts: controllers[0]
+ become: true
+ roles:
+ - role: node_feature_discovery
+ tags:
+ - node-feature-discovery
+
+ - role: kube_prometheus_stack
+ tags:
+ - kube-prometheus-stack
+
+ - role: loki
+ tags:
+ - loki
+
+ - role: vector
+ tags:
+ - vector
+
+ - role: ipmi_exporter
+ tags:
+ - ipmi-exporter
+
+ - role: prometheus_pushgateway
+ tags:
+ - prometheus-pushgateway
diff --git a/playbooks/openstack.yml b/playbooks/openstack.yml
index 5f3827b..be3cc7c 100644
--- a/playbooks/openstack.yml
+++ b/playbooks/openstack.yml
@@ -12,65 +12,10 @@
# License for the specific language governing permissions and limitations
# under the License.
-- hosts: controllers[0]
+- name: Deploy OpenStack
+ hosts: controllers[0]
become: true
roles:
- - role: cert_manager
- tags:
- - cert-manager
-
- - role: cluster_issuer
- tags:
- - cluster-issuer
-
- - role: ingress_nginx
- tags:
- - ingress-nginx
-
- - role: rabbitmq_cluster_operator
- tags:
- - rabbitmq-cluster-operator
-
- - role: percona_xtradb_cluster_operator
- tags:
- - percona-xtradb-cluster-operator
-
- - role: percona_xtradb_cluster
- tags:
- - percona-xtradb-cluster
-
- - role: keycloak
- tags:
- - keycloak
-
- - role: node_feature_discovery
- tags:
- - node-feature-discovery
-
- - role: kube_prometheus_stack
- tags:
- - kube-prometheus-stack
-
- - role: loki
- tags:
- - loki
-
- - role: vector
- tags:
- - vector
-
- - role: ipmi_exporter
- tags:
- - ipmi-exporter
-
- - role: prometheus_pushgateway
- tags:
- - prometheus-pushgateway
-
- - role: keepalived
- tags:
- - keepalived
-
- role: memcached
tags:
- memcached
diff --git a/playbooks/site.yml b/playbooks/site.yml
index 8b7255b..5d44097 100644
--- a/playbooks/site.yml
+++ b/playbooks/site.yml
@@ -13,6 +13,18 @@
# under the License.
- import_playbook: vexxhost.ceph.site
-- import_playbook: vexxhost.atmosphere.kubernetes
-- import_playbook: vexxhost.atmosphere.csi
-- import_playbook: vexxhost.atmosphere.openstack
+
+- name: Install Kubernetes
+ import_playbook: vexxhost.atmosphere.kubernetes
+
+- name: Install CSI
+ import_playbook: vexxhost.atmosphere.csi
+
+- name: Deploy Infrastructure
+ ansible.builtin.import_playbook: vexxhost.atmosphere.infrastructure
+
+- name: Deploy Monitoring
+ ansible.builtin.import_playbook: vexxhost.atmosphere.monitoring
+
+- name: Deploy OpenStack
+ import_playbook: vexxhost.atmosphere.openstack