chore: rename roles
diff --git a/docs/dns.md b/docs/dns.md
index 5815232..5141345 100644
--- a/docs/dns.md
+++ b/docs/dns.md
@@ -29,7 +29,7 @@
"registering nameservers"). This is out of the scope of this document.
```yaml
-openstack_helm_designate_pools: |
+designate_pools: |
- name: default
description: Default PowerDNS Pool
diff --git a/docs/storage.md b/docs/storage.md
index 7c09fdf..d06b252 100644
--- a/docs/storage.md
+++ b/docs/storage.md
@@ -42,7 +42,7 @@
the use of the Cinder driver by adding the following to your Ansible inventory:
```yaml
-openstack_helm_glance_helm_values:
+glance_helm_values:
storage: cinder
conf:
glance:
@@ -64,7 +64,7 @@
configuration inside your Ansible inventory:
```yaml
-openstack_helm_cinder_helm_values:
+cinder_helm_values:
storage: powerstore
dependencies:
static:
@@ -122,7 +122,7 @@
configuration inside your Ansible inventory:
```yaml
-openstack_helm_nova_helm_values:
+nova_helm_values:
conf:
enable_iscsi: true
```
diff --git a/molecule/default/group_vars/all/molecule.yml b/molecule/default/group_vars/all/molecule.yml
index f07d9b3..c11a73b 100644
--- a/molecule/default/group_vars/all/molecule.yml
+++ b/molecule/default/group_vars/all/molecule.yml
@@ -2,7 +2,7 @@
cluster_issuer_type: self-signed
-openstack_helm_glance_images:
+glance_images:
- name: cirros
source_url: https://object-storage.public.mtl1.vexxhost.net/swift/v1/a91f106f55e64246babde7402c21b87a/cirros/
image_file: cirros-0.6.0-x86_64-disk.raw
diff --git a/playbooks/generate_workspace.yml b/playbooks/generate_workspace.yml
index da0a52a..984eb71 100644
--- a/playbooks/generate_workspace.yml
+++ b/playbooks/generate_workspace.yml
@@ -261,11 +261,11 @@
# so we generate a stub one if and only if it doesn't exist
when: item.key not in neutron
with_dict:
- openstack_helm_neutron_helm_values:
+ neutron_helm_values:
conf:
auto_bridge_add:
br-ex: ens4
- openstack_helm_neutron_networks:
+ neutron_networks:
- name: public
external: true
shared: true
@@ -310,7 +310,7 @@
# so we generate a stub one if and only if it doesn't exist
when: item.key not in nova
with_dict:
- openstack_helm_nova_flavors:
+ nova_flavors:
- name: m1.tiny
ram: 512
disk: 1
diff --git a/playbooks/openstack.yml b/playbooks/openstack.yml
index 8543a0d..6abcbaa 100644
--- a/playbooks/openstack.yml
+++ b/playbooks/openstack.yml
@@ -88,78 +88,77 @@
tags:
- memcached
- - role: openstack_helm_keystone
+ - role: keystone
tags:
- - openstack-helm-keystone
+ - keystone
- - role: openstack_helm_barbican
+ - role: barbican
tags:
- - openstack-helm-barbican
+ - barbican
- - role: openstack_helm_infra_ceph_provisioners
+ - role: ceph_provisioners
when: atmosphere_ceph_enabled | default(true)
tags:
- - openstack-helm-infra-ceph-provisioners
+ - ceph-provisioners
- - role: openstack_helm_glance
+ - role: glance
tags:
- - openstack-helm-glance
+ - glance
- - role: openstack_helm_cinder
+ - role: cinder
tags:
- - openstack-helm-cinder
+ - cinder
- - role: openstack_helm_placement
+ - role: placement
tags:
- - openstack-helm-placement
+ - placement
-
- - role: openstack_helm_infra_openvswitch
+ - role: openvswitch
tags:
- - openstack-helm-infra-openvswitch
+ - openvswitch
- - role: openstack_helm_infra_libvirt
+ - role: libvirt
tags:
- - openstack-helm-infra-libvirt
+ - libvirt
- role: coredns
tags:
- coredns
- - role: openstack_helm_neutron
+ - role: neutron
tags:
- - openstack-helm-neutron
+ - neutron
- - role: openstack_helm_nova
+ - role: nova
tags:
- - openstack-helm-nova
+ - nova
- - role: openstack_helm_senlin
+ - role: senlin
tags:
- - openstack-helm-senlin
+ - senlin
# NOTE(mnaser): This is disabled out of the box until we have a native way
# of configuring it with a pre-configured backend out of the
# box.
- # - role: openstack_helm_designate
+ # - role: designate
# tags:
- # - openstack-helm-designate
+ # - designate
- - role: openstack_helm_heat
+ - role: heat
tags:
- - openstack-helm-heat
+ - heat
- - role: openstack_helm_octavia
+ - role: octavia
tags:
- - openstack-helm-octavia
+ - octavia
- - role: openstack_helm_magnum
+ - role: magnum
tags:
- - openstack-helm-magnum
+ - magnum
- - role: openstack_helm_horizon
+ - role: horizon
tags:
- - openstack-helm-horizon
+ - horizon
- role: openstack_exporter
tags:
diff --git a/playbooks/tempest.yml b/playbooks/tempest.yml
index c633817..3032564 100644
--- a/playbooks/tempest.yml
+++ b/playbooks/tempest.yml
@@ -16,6 +16,6 @@
gather_facts: false
become: true
roles:
- - role: openstack_helm_tempest
+ - role: tempest
tags:
- - openstack-helm-tempest
+ - tempest
diff --git a/roles/barbican/README.md b/roles/barbican/README.md
new file mode 100644
index 0000000..c2e9c14
--- /dev/null
+++ b/roles/barbican/README.md
@@ -0,0 +1 @@
+# `barbican`
diff --git a/roles/openstack_helm_cinder/defaults/main.yml b/roles/barbican/defaults/main.yml
similarity index 63%
copy from roles/openstack_helm_cinder/defaults/main.yml
copy to roles/barbican/defaults/main.yml
index acb7a8a..d57c6c2 100644
--- a/roles/openstack_helm_cinder/defaults/main.yml
+++ b/roles/barbican/defaults/main.yml
@@ -12,12 +12,14 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_cinder_helm_release_name: cinder
-openstack_helm_cinder_helm_chart_path: "{{ role_path }}/../../charts/cinder/"
-openstack_helm_cinder_helm_chart_ref: /usr/local/src/cinder
+barbican_helm_release_name: barbican
+barbican_helm_chart_path: "{{ role_path }}/../../charts/barbican/"
+barbican_helm_chart_ref: /usr/local/src/barbican
-openstack_helm_cinder_helm_release_namespace: openstack
-openstack_helm_cinder_helm_values: {}
+barbican_helm_release_namespace: openstack
+barbican_helm_values: {}
# List of annotations to apply to the Ingress
-openstack_helm_cinder_ingress_annotations: {}
+barbican_ingress_annotations: {}
+# Barbican key encryption key
+barbican_kek: "{{ undef(hint='You must specify a Barbican key encryption key') }}"
diff --git a/roles/openstack_helm_barbican/meta/main.yml b/roles/barbican/meta/main.yml
similarity index 86%
rename from roles/openstack_helm_barbican/meta/main.yml
rename to roles/barbican/meta/main.yml
index b5e71ac..f892148 100644
--- a/roles/openstack_helm_barbican/meta/main.yml
+++ b/roles/barbican/meta/main.yml
@@ -30,5 +30,5 @@
openstack_helm_endpoints_chart: barbican
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_barbican_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_barbican_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ barbican_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ barbican_helm_chart_ref }}"
diff --git a/roles/openstack_helm_barbican/tasks/main.yml b/roles/barbican/tasks/main.yml
similarity index 67%
rename from roles/openstack_helm_barbican/tasks/main.yml
rename to roles/barbican/tasks/main.yml
index 684cdfe..ebf57b6 100644
--- a/roles/openstack_helm_barbican/tasks/main.yml
+++ b/roles/barbican/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_barbican_helm_release_name }}"
- namespace: "{{ openstack_helm_barbican_helm_release_namespace }}"
+ name: "{{ barbican_helm_release_name }}"
+ namespace: "{{ barbican_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,18 +31,18 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_barbican_helm_release_name }}"
- namespace: "{{ openstack_helm_barbican_helm_release_namespace }}"
+ name: "{{ barbican_helm_release_name }}"
+ namespace: "{{ barbican_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_barbican_helm_release_name }}"
- chart_ref: "{{ openstack_helm_barbican_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_barbican_helm_release_namespace }}"
+ name: "{{ barbican_helm_release_name }}"
+ chart_ref: "{{ barbican_helm_chart_ref }}"
+ release_namespace: "{{ barbican_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_barbican_helm_values | combine(openstack_helm_barbican_helm_values, recursive=True) }}"
+ values: "{{ _barbican_helm_values | combine(barbican_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -51,4 +51,4 @@
openstack_helm_ingress_endpoint: key_manager
openstack_helm_ingress_service_name: barbican-api
openstack_helm_ingress_service_port: 9311
- openstack_helm_ingress_annotations: "{{ openstack_helm_barbican_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ barbican_ingress_annotations }}"
diff --git a/roles/openstack_helm_barbican/vars/main.yml b/roles/barbican/vars/main.yml
similarity index 87%
rename from roles/openstack_helm_barbican/vars/main.yml
rename to roles/barbican/vars/main.yml
index 9de593b..7eb2c78 100644
--- a/roles/openstack_helm_barbican/vars/main.yml
+++ b/roles/barbican/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_barbican_helm_values:
+_barbican_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('barbican') }}"
@@ -26,9 +26,9 @@
oslo_messaging_notifications:
driver: noop
simple_crypto_plugin:
- kek: "{{ openstack_helm_barbican_kek }}"
+ kek: "{{ barbican_kek }}"
simple_crypto_kek_rewrap:
- old_kek: "{{ openstack_helm_barbican_kek }}"
+ old_kek: "{{ barbican_kek }}"
manifests:
ingress_api: false
diff --git a/roles/ceph_provisioners/README.md b/roles/ceph_provisioners/README.md
new file mode 100644
index 0000000..e59fadc
--- /dev/null
+++ b/roles/ceph_provisioners/README.md
@@ -0,0 +1 @@
+# `ceph_provisioners`
diff --git a/roles/ceph_provisioners/defaults/main.yml b/roles/ceph_provisioners/defaults/main.yml
new file mode 100644
index 0000000..fa98bb5
--- /dev/null
+++ b/roles/ceph_provisioners/defaults/main.yml
@@ -0,0 +1,38 @@
+# Copyright (c) 2023 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.
+
+ceph_provisioners_helm_release_name: ceph-provisioners
+ceph_provisioners_helm_chart_path: "{{ role_path }}/../../charts/ceph-provisioners/"
+ceph_provisioners_helm_chart_ref: /usr/local/src/ceph-provisioners
+
+ceph_provisioners_helm_release_namespace: openstack
+ceph_provisioners_helm_values: {}
+
+# Ansible inventory group containing Ceph monitors.
+ceph_provisioners_ceph_mon_group: controllers
+
+# IP address list of Ceph monitors
+ceph_provisioners_ceph_monitors: "{{ _ceph_csi_rbd_helm_info.status['values']['csiConfig'][0]['monitors'] }}"
+
+# Filesystem ID for Ceph cluster
+ceph_provisioners_ceph_fsid: "{{ _ceph_csi_rbd_helm_info.status['values']['csiConfig'][0]['clusterID'] }}"
+
+# Public network used by Ceph
+ceph_provisioners_ceph_public_network: "{{ ceph_mon_public_network }}"
+
+# Cluster (replication) network used by Ceph
+ceph_provisioners_ceph_cluster_network: "{{ ceph_provisioners_ceph_public_network }}"
+
+# Overrides for Helm chart values
+ceph_provisioners_values: {}
diff --git a/roles/openstack_helm_infra_ceph_provisioners/meta/main.yml b/roles/ceph_provisioners/meta/main.yml
similarity index 84%
rename from roles/openstack_helm_infra_ceph_provisioners/meta/main.yml
rename to roles/ceph_provisioners/meta/main.yml
index 36ae7c8..5528dbe 100644
--- a/roles/openstack_helm_infra_ceph_provisioners/meta/main.yml
+++ b/roles/ceph_provisioners/meta/main.yml
@@ -30,6 +30,6 @@
openstack_helm_endpoints_chart: ceph-provisioners
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_infra_ceph_provisioners_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_infra_ceph_provisioners_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ ceph_provisioners_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ ceph_provisioners_helm_chart_ref }}"
- role: ceph_csi_rbd
diff --git a/roles/openstack_helm_infra_ceph_provisioners/tasks/main.yml b/roles/ceph_provisioners/tasks/main.yml
similarity index 70%
rename from roles/openstack_helm_infra_ceph_provisioners/tasks/main.yml
rename to roles/ceph_provisioners/tasks/main.yml
index 336ab01..057b75a 100644
--- a/roles/openstack_helm_infra_ceph_provisioners/tasks/main.yml
+++ b/roles/ceph_provisioners/tasks/main.yml
@@ -44,12 +44,12 @@
- name: Generate Ceph endpoint list
ansible.builtin.set_fact:
- _openstack_helm_infra_ceph_provisioners_ceph_monitors: |
+ _ceph_provisioners_ceph_monitors: |
{{
- _openstack_helm_infra_ceph_provisioners_ceph_monitors | default([]) +
+ _ceph_provisioners_ceph_monitors | default([]) +
[{'ip': item}]
}}
- loop: "{{ openstack_helm_infra_ceph_provisioners_ceph_monitors }}"
+ loop: "{{ ceph_provisioners_ceph_monitors }}"
- name: Create Ceph endpoints
kubernetes.core.k8s:
@@ -63,7 +63,7 @@
labels:
application: ceph
subsets:
- - addresses: "{{ _openstack_helm_infra_ceph_provisioners_ceph_monitors }}"
+ - addresses: "{{ _ceph_provisioners_ceph_monitors }}"
ports:
- name: mon
port: 6789
@@ -76,16 +76,16 @@
protocol: TCP
- name: Retrieve client.admin keyring
- delegate_to: "{{ groups[openstack_helm_infra_ceph_provisioners_ceph_mon_group][0] }}"
+ delegate_to: "{{ groups[ceph_provisioners_ceph_mon_group][0] }}"
vexxhost.atmosphere.ceph_key:
name: client.admin
state: info
output_format: json
- register: _openstack_helm_infra_ceph_provisioners_ceph_key
+ register: _ceph_provisioners_ceph_key
- name: Parse client.admin keyring
ansible.builtin.set_fact:
- _openstack_helm_infra_ceph_provisioners_keyring: "{{ _openstack_helm_infra_ceph_provisioners_ceph_key.stdout | from_json | first }}"
+ _ceph_provisioners_keyring: "{{ _ceph_provisioners_ceph_key.stdout | from_json | first }}"
- name: Create "pvc-ceph-client-key" secret
kubernetes.core.k8s:
@@ -100,14 +100,14 @@
labels:
application: ceph
stringData:
- key: "{{ _openstack_helm_infra_ceph_provisioners_keyring.key }}"
+ key: "{{ _ceph_provisioners_keyring.key }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_infra_ceph_provisioners_helm_release_name }}"
- chart_ref: "{{ openstack_helm_infra_ceph_provisioners_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_infra_ceph_provisioners_helm_release_namespace }}"
+ name: "{{ ceph_provisioners_helm_release_name }}"
+ chart_ref: "{{ ceph_provisioners_helm_chart_ref }}"
+ release_namespace: "{{ ceph_provisioners_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_infra_ceph_provisioners_helm_values | combine(openstack_helm_infra_ceph_provisioners_helm_values, recursive=True) }}"
+ values: "{{ _ceph_provisioners_helm_values | combine(ceph_provisioners_helm_values, recursive=True) }}"
diff --git a/roles/openstack_helm_infra_ceph_provisioners/vars/main.yml b/roles/ceph_provisioners/vars/main.yml
similarity index 76%
rename from roles/openstack_helm_infra_ceph_provisioners/vars/main.yml
rename to roles/ceph_provisioners/vars/main.yml
index 8336d66..193207b 100644
--- a/roles/openstack_helm_infra_ceph_provisioners/vars/main.yml
+++ b/roles/ceph_provisioners/vars/main.yml
@@ -12,14 +12,14 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_infra_ceph_provisioners_helm_values:
+_ceph_provisioners_helm_values:
network:
- public: "{{ openstack_helm_infra_ceph_provisioners_ceph_public_network }}"
- cluster: "{{ openstack_helm_infra_ceph_provisioners_ceph_cluster_network }}"
+ public: "{{ ceph_provisioners_ceph_public_network }}"
+ cluster: "{{ ceph_provisioners_ceph_cluster_network }}"
conf:
ceph:
global:
- fsid: "{{ openstack_helm_infra_ceph_provisioners_ceph_fsid }}"
+ fsid: "{{ ceph_provisioners_ceph_fsid }}"
manifests:
configmap_bin: false
configmap_bin_common: false
diff --git a/roles/cinder/README.md b/roles/cinder/README.md
new file mode 100644
index 0000000..14fb1e9
--- /dev/null
+++ b/roles/cinder/README.md
@@ -0,0 +1 @@
+# `cinder`
diff --git a/roles/openstack_helm_tempest/defaults/main.yml b/roles/cinder/defaults/main.yml
similarity index 66%
copy from roles/openstack_helm_tempest/defaults/main.yml
copy to roles/cinder/defaults/main.yml
index b07578a..3dc6e3b 100644
--- a/roles/openstack_helm_tempest/defaults/main.yml
+++ b/roles/cinder/defaults/main.yml
@@ -12,9 +12,12 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_tempest_helm_release_name: tempest
-openstack_helm_tempest_helm_chart_path: "{{ role_path }}/../../charts/tempest/"
-openstack_helm_tempest_helm_chart_ref: /usr/local/src/tempest
+cinder_helm_release_name: cinder
+cinder_helm_chart_path: "{{ role_path }}/../../charts/cinder/"
+cinder_helm_chart_ref: /usr/local/src/cinder
-openstack_helm_tempest_helm_release_namespace: openstack
-openstack_helm_tempest_helm_values: {}
+cinder_helm_release_namespace: openstack
+cinder_helm_values: {}
+
+# List of annotations to apply to the Ingress
+cinder_ingress_annotations: {}
diff --git a/roles/openstack_helm_cinder/meta/main.yml b/roles/cinder/meta/main.yml
similarity index 86%
rename from roles/openstack_helm_cinder/meta/main.yml
rename to roles/cinder/meta/main.yml
index 4dabd54..7f258ff 100644
--- a/roles/openstack_helm_cinder/meta/main.yml
+++ b/roles/cinder/meta/main.yml
@@ -30,5 +30,5 @@
openstack_helm_endpoints_chart: cinder
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_cinder_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_cinder_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ cinder_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ cinder_helm_chart_ref }}"
diff --git a/roles/openstack_helm_cinder/tasks/main.yml b/roles/cinder/tasks/main.yml
similarity index 66%
rename from roles/openstack_helm_cinder/tasks/main.yml
rename to roles/cinder/tasks/main.yml
index b5bb82f..e52eaf7 100644
--- a/roles/openstack_helm_cinder/tasks/main.yml
+++ b/roles/cinder/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_cinder_helm_release_name }}"
- namespace: "{{ openstack_helm_cinder_helm_release_namespace }}"
+ name: "{{ cinder_helm_release_name }}"
+ namespace: "{{ cinder_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,18 +31,18 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_cinder_helm_release_name }}"
- namespace: "{{ openstack_helm_cinder_helm_release_namespace }}"
+ name: "{{ cinder_helm_release_name }}"
+ namespace: "{{ cinder_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_cinder_helm_release_name }}"
- chart_ref: "{{ openstack_helm_cinder_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_cinder_helm_release_namespace }}"
+ name: "{{ cinder_helm_release_name }}"
+ chart_ref: "{{ cinder_helm_chart_ref }}"
+ release_namespace: "{{ cinder_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_cinder_helm_values | combine(openstack_helm_cinder_helm_values, recursive=True) }}"
+ values: "{{ _cinder_helm_values | combine(cinder_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -51,4 +51,4 @@
openstack_helm_ingress_endpoint: volumev3
openstack_helm_ingress_service_name: cinder-api
openstack_helm_ingress_service_port: 8776
- openstack_helm_ingress_annotations: "{{ _openstack_helm_cinder_ingress_annotations | combine(openstack_helm_cinder_ingress_annotations) }}"
+ openstack_helm_ingress_annotations: "{{ _cinder_ingress_annotations | combine(cinder_ingress_annotations) }}"
diff --git a/roles/openstack_helm_cinder/vars/main.yml b/roles/cinder/vars/main.yml
similarity index 95%
rename from roles/openstack_helm_cinder/vars/main.yml
rename to roles/cinder/vars/main.yml
index 860b736..e65b1c4 100644
--- a/roles/openstack_helm_cinder/vars/main.yml
+++ b/roles/cinder/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_cinder_helm_values:
+_cinder_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('cinder') }}"
@@ -47,6 +47,6 @@
job_clean: false
service_ingress_api: false
-_openstack_helm_cinder_ingress_annotations:
+_cinder_ingress_annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
diff --git a/roles/openstack_helm_cinder/defaults/main.yml b/roles/designate/defaults/main.yml
similarity index 65%
copy from roles/openstack_helm_cinder/defaults/main.yml
copy to roles/designate/defaults/main.yml
index acb7a8a..a246cce 100644
--- a/roles/openstack_helm_cinder/defaults/main.yml
+++ b/roles/designate/defaults/main.yml
@@ -12,12 +12,15 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_cinder_helm_release_name: cinder
-openstack_helm_cinder_helm_chart_path: "{{ role_path }}/../../charts/cinder/"
-openstack_helm_cinder_helm_chart_ref: /usr/local/src/cinder
+designate_helm_release_name: designate
+designate_helm_chart_path: "{{ role_path }}/../../charts/designate/"
+designate_helm_chart_ref: /usr/local/src/designate
-openstack_helm_cinder_helm_release_namespace: openstack
-openstack_helm_cinder_helm_values: {}
+designate_helm_release_namespace: openstack
+designate_helm_values: {}
# List of annotations to apply to the Ingress
-openstack_helm_cinder_ingress_annotations: {}
+designate_ingress_annotations: {}
+
+# Pools definition
+designate_pools: ""
diff --git a/roles/openstack_helm_designate/meta/main.yml b/roles/designate/meta/main.yml
similarity index 85%
rename from roles/openstack_helm_designate/meta/main.yml
rename to roles/designate/meta/main.yml
index 3512391..7887ded 100644
--- a/roles/openstack_helm_designate/meta/main.yml
+++ b/roles/designate/meta/main.yml
@@ -29,5 +29,5 @@
openstack_helm_endpoints_chart: designate
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_designate_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_designate_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ designate_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ designate_helm_chart_ref }}"
diff --git a/roles/openstack_helm_designate/tasks/main.yml b/roles/designate/tasks/main.yml
similarity index 67%
rename from roles/openstack_helm_designate/tasks/main.yml
rename to roles/designate/tasks/main.yml
index df07df9..bf1022e 100644
--- a/roles/openstack_helm_designate/tasks/main.yml
+++ b/roles/designate/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_designate_helm_release_name }}"
- namespace: "{{ openstack_helm_designate_helm_release_namespace }}"
+ name: "{{ designate_helm_release_name }}"
+ namespace: "{{ designate_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,18 +31,18 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_designate_helm_release_name }}"
- namespace: "{{ openstack_helm_designate_helm_release_namespace }}"
+ name: "{{ designate_helm_release_name }}"
+ namespace: "{{ designate_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_designate_helm_release_name }}"
- chart_ref: "{{ openstack_helm_designate_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_designate_helm_release_namespace }}"
+ name: "{{ designate_helm_release_name }}"
+ chart_ref: "{{ designate_helm_chart_ref }}"
+ release_namespace: "{{ designate_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_designate_helm_values | combine(openstack_helm_designate_helm_values, recursive=True) }}"
+ values: "{{ _designate_helm_values | combine(designate_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -51,4 +51,4 @@
openstack_helm_ingress_endpoint: dns
openstack_helm_ingress_service_name: designate-api
openstack_helm_ingress_service_port: 8778
- openstack_helm_ingress_annotations: "{{ openstack_helm_designate_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ designate_ingress_annotations }}"
diff --git a/roles/openstack_helm_designate/vars/main.yml b/roles/designate/vars/main.yml
similarity index 90%
rename from roles/openstack_helm_designate/vars/main.yml
rename to roles/designate/vars/main.yml
index 6e39446..7d89daf 100644
--- a/roles/openstack_helm_designate/vars/main.yml
+++ b/roles/designate/vars/main.yml
@@ -12,9 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_designate_helm_values:
+_designate_helm_values:
conf:
- pools: "{{ openstack_helm_designate_pools }}"
+ pools: "{{ designate_pools }}"
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('designate') }}"
diff --git a/roles/glance/README.md b/roles/glance/README.md
new file mode 100644
index 0000000..70fcbee
--- /dev/null
+++ b/roles/glance/README.md
@@ -0,0 +1 @@
+# `glance`
diff --git a/roles/openstack_helm_cinder/defaults/main.yml b/roles/glance/defaults/main.yml
similarity index 65%
copy from roles/openstack_helm_cinder/defaults/main.yml
copy to roles/glance/defaults/main.yml
index acb7a8a..6d9eaeb 100644
--- a/roles/openstack_helm_cinder/defaults/main.yml
+++ b/roles/glance/defaults/main.yml
@@ -12,12 +12,15 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_cinder_helm_release_name: cinder
-openstack_helm_cinder_helm_chart_path: "{{ role_path }}/../../charts/cinder/"
-openstack_helm_cinder_helm_chart_ref: /usr/local/src/cinder
+glance_helm_release_name: glance
+glance_helm_chart_path: "{{ role_path }}/../../charts/glance/"
+glance_helm_chart_ref: /usr/local/src/glance
-openstack_helm_cinder_helm_release_namespace: openstack
-openstack_helm_cinder_helm_values: {}
+glance_helm_release_namespace: openstack
+glance_helm_values: {}
# List of annotations to apply to the Ingress
-openstack_helm_cinder_ingress_annotations: {}
+glance_ingress_annotations: {}
+
+# List of images to provision inside OpenStack
+glance_images: []
diff --git a/roles/openstack_helm_glance/meta/main.yml b/roles/glance/meta/main.yml
similarity index 86%
rename from roles/openstack_helm_glance/meta/main.yml
rename to roles/glance/meta/main.yml
index f4ba894..a56adc2 100644
--- a/roles/openstack_helm_glance/meta/main.yml
+++ b/roles/glance/meta/main.yml
@@ -31,5 +31,5 @@
openstack_helm_endpoints_chart: glance
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_glance_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_glance_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ glance_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ glance_helm_chart_ref }}"
diff --git a/roles/openstack_helm_glance/tasks/main.yml b/roles/glance/tasks/main.yml
similarity index 75%
rename from roles/openstack_helm_glance/tasks/main.yml
rename to roles/glance/tasks/main.yml
index 45a83b2..b9c3bfd 100644
--- a/roles/openstack_helm_glance/tasks/main.yml
+++ b/roles/glance/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_glance_helm_release_name }}"
- namespace: "{{ openstack_helm_glance_helm_release_namespace }}"
+ name: "{{ glance_helm_release_name }}"
+ namespace: "{{ glance_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,18 +31,18 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_glance_helm_release_name }}"
- namespace: "{{ openstack_helm_glance_helm_release_namespace }}"
+ name: "{{ glance_helm_release_name }}"
+ namespace: "{{ glance_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_glance_helm_release_name }}"
- chart_ref: "{{ openstack_helm_glance_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_glance_helm_release_namespace }}"
+ name: "{{ glance_helm_release_name }}"
+ chart_ref: "{{ glance_helm_chart_ref }}"
+ release_namespace: "{{ glance_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_glance_helm_values | combine(openstack_helm_glance_helm_values, recursive=True) }}"
+ values: "{{ _glance_helm_values | combine(glance_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -51,10 +51,10 @@
openstack_helm_ingress_endpoint: image
openstack_helm_ingress_service_name: glance-api
openstack_helm_ingress_service_port: 9292
- openstack_helm_ingress_annotations: "{{ _openstack_helm_glance_ingress_annotations | combine(openstack_helm_glance_ingress_annotations) }}"
+ openstack_helm_ingress_annotations: "{{ _glance_ingress_annotations | combine(glance_ingress_annotations) }}"
- name: Create images
- when: openstack_helm_glance_images | length > 0
+ when: glance_images | length > 0
block:
- name: Wait until image service ready
kubernetes.core.k8s_info:
@@ -74,7 +74,7 @@
url: "{{ item.source_url | regex_replace('\\/$', '') }}/{{ item.image_file }}"
dest: "/tmp/{{ item.image_file }}"
mode: "0600"
- loop: "{{ openstack_helm_glance_images }}"
+ loop: "{{ glance_images }}"
- name: Upload images
openstack.cloud.image:
@@ -90,4 +90,4 @@
kernel: "{{ item.kernel | default(omit) }}"
ramdisk: "{{ item.ramdisk | default(omit) }}"
is_public: "{{ item.is_public | default(omit) }}"
- loop: "{{ openstack_helm_glance_images }}"
+ loop: "{{ glance_images }}"
diff --git a/roles/openstack_helm_glance/vars/main.yml b/roles/glance/vars/main.yml
similarity index 61%
rename from roles/openstack_helm_glance/vars/main.yml
rename to roles/glance/vars/main.yml
index 4dff03d..af5a431 100644
--- a/roles/openstack_helm_glance/vars/main.yml
+++ b/roles/glance/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_glance_helm_values:
+_glance_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
storage: rbd
images:
@@ -24,13 +24,13 @@
glance:
container:
glance_api:
- allowPrivilegeEscalation: "{{ ('cinder' in openstack_helm_glance_helm_values.get('conf', {}).get('glance', {}).get('glance_store', {}).get('stores', '')) | bool }}"
- readOnlyRootFilesystem: "{{ ('cinder' not in openstack_helm_glance_helm_values.get('conf', {}).get('glance', {}).get('glance_store', {}).get('stores', '')) | bool }}"
- privileged: "{{ ('cinder' in openstack_helm_glance_helm_values.get('conf', {}).get('glance', {}).get('glance_store', {}).get('stores', '')) | bool }}"
+ allowPrivilegeEscalation: "{{ ('cinder' in glance_helm_values.get('conf', {}).get('glance', {}).get('glance_store', {}).get('stores', '')) | bool }}"
+ readOnlyRootFilesystem: "{{ ('cinder' not in glance_helm_values.get('conf', {}).get('glance', {}).get('glance_store', {}).get('stores', '')) | bool }}"
+ privileged: "{{ ('cinder' in glance_helm_values.get('conf', {}).get('glance', {}).get('glance_store', {}).get('stores', '')) | bool }}"
capabilities:
- add: "{{ ('cinder' in openstack_helm_glance_helm_values.get('conf', {}).get('glance', {}).get('glance_store', {}).get('stores', '')) | ternary(['SYS_ADMIN'], []) }}"
+ add: "{{ ('cinder' in glance_helm_values.get('conf', {}).get('glance', {}).get('glance_store', {}).get('stores', '')) | ternary(['SYS_ADMIN'], []) }}"
useHostNetwork:
- api: "{{ ('cinder' in openstack_helm_glance_helm_values.get('conf', {}).get('glance', {}).get('glance_store', {}).get('stores', '')) | bool }}"
+ api: "{{ ('cinder' in glance_helm_values.get('conf', {}).get('glance', {}).get('glance_store', {}).get('stores', '')) | bool }}"
replicas:
api: 3
conf:
@@ -51,6 +51,6 @@
ingress_api: false
service_ingress_api: false
-_openstack_helm_glance_ingress_annotations:
+_glance_ingress_annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
diff --git a/roles/heat/README.md b/roles/heat/README.md
new file mode 100644
index 0000000..8d356e6
--- /dev/null
+++ b/roles/heat/README.md
@@ -0,0 +1 @@
+# `heat`
diff --git a/roles/openstack_helm_cinder/defaults/main.yml b/roles/heat/defaults/main.yml
similarity index 60%
copy from roles/openstack_helm_cinder/defaults/main.yml
copy to roles/heat/defaults/main.yml
index acb7a8a..2a1bddd 100644
--- a/roles/openstack_helm_cinder/defaults/main.yml
+++ b/roles/heat/defaults/main.yml
@@ -12,12 +12,14 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_cinder_helm_release_name: cinder
-openstack_helm_cinder_helm_chart_path: "{{ role_path }}/../../charts/cinder/"
-openstack_helm_cinder_helm_chart_ref: /usr/local/src/cinder
+heat_helm_release_name: heat
+heat_helm_chart_path: "{{ role_path }}/../../charts/heat/"
+heat_helm_chart_ref: /usr/local/src/heat
-openstack_helm_cinder_helm_release_namespace: openstack
-openstack_helm_cinder_helm_values: {}
+heat_helm_release_namespace: openstack
+heat_helm_values: {}
-# List of annotations to apply to the Ingress
-openstack_helm_cinder_ingress_annotations: {}
+heat_ingress_annotations: {}
+
+# Encryption key for Heat to use for encrypting sensitive data
+heat_auth_encryption_key: "{{ undef(hint='You must specifiy an encryption key for Heat.') }}"
diff --git a/roles/openstack_helm_heat/meta/main.yml b/roles/heat/meta/main.yml
similarity index 87%
rename from roles/openstack_helm_heat/meta/main.yml
rename to roles/heat/meta/main.yml
index a36b828..d541165 100644
--- a/roles/openstack_helm_heat/meta/main.yml
+++ b/roles/heat/meta/main.yml
@@ -31,5 +31,5 @@
openstack_helm_endpoints_chart: heat
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_heat_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_heat_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ heat_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ heat_helm_chart_ref }}"
diff --git a/roles/openstack_helm_heat/tasks/main.yml b/roles/heat/tasks/main.yml
similarity index 69%
rename from roles/openstack_helm_heat/tasks/main.yml
rename to roles/heat/tasks/main.yml
index 807fd24..32688fb 100644
--- a/roles/openstack_helm_heat/tasks/main.yml
+++ b/roles/heat/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_heat_helm_release_name }}"
- namespace: "{{ openstack_helm_heat_helm_release_namespace }}"
+ name: "{{ heat_helm_release_name }}"
+ namespace: "{{ heat_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,18 +31,18 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_heat_helm_release_name }}"
- namespace: "{{ openstack_helm_heat_helm_release_namespace }}"
+ name: "{{ heat_helm_release_name }}"
+ namespace: "{{ heat_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_heat_helm_release_name }}"
- chart_ref: "{{ openstack_helm_heat_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_heat_helm_release_namespace }}"
+ name: "{{ heat_helm_release_name }}"
+ chart_ref: "{{ heat_helm_chart_ref }}"
+ release_namespace: "{{ heat_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_heat_helm_values | combine(openstack_helm_heat_helm_values, recursive=True) }}"
+ values: "{{ _heat_helm_values | combine(heat_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -51,7 +51,7 @@
openstack_helm_ingress_endpoint: orchestration
openstack_helm_ingress_service_name: heat-api
openstack_helm_ingress_service_port: 8004
- openstack_helm_ingress_annotations: "{{ openstack_helm_heat_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ heat_ingress_annotations }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -60,4 +60,4 @@
openstack_helm_ingress_endpoint: cloudformation
openstack_helm_ingress_service_name: heat-cfn
openstack_helm_ingress_service_port: 8000
- openstack_helm_ingress_annotations: "{{ openstack_helm_heat_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ heat_ingress_annotations }}"
diff --git a/roles/openstack_helm_heat/vars/main.yml b/roles/heat/vars/main.yml
similarity index 91%
rename from roles/openstack_helm_heat/vars/main.yml
rename to roles/heat/vars/main.yml
index a4fd757..370fc07 100644
--- a/roles/openstack_helm_heat/vars/main.yml
+++ b/roles/heat/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_heat_helm_values:
+_heat_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('heat') }}"
@@ -25,7 +25,7 @@
conf:
heat:
DEFAULT:
- auth_encryption_key: "{{ openstack_helm_heat_auth_encryption_key }}"
+ auth_encryption_key: "{{ heat_auth_encryption_key }}"
log_config_append: null
region_name_for_services: "{{ openstack_helm_endpoints['identity']['auth']['heat']['region_name'] }}"
server_keystone_endpoint_type: public
diff --git a/roles/horizon/README.md b/roles/horizon/README.md
new file mode 100644
index 0000000..c44e6d7
--- /dev/null
+++ b/roles/horizon/README.md
@@ -0,0 +1 @@
+# `horizon`
diff --git a/roles/openstack_helm_tempest/defaults/main.yml b/roles/horizon/defaults/main.yml
similarity index 66%
rename from roles/openstack_helm_tempest/defaults/main.yml
rename to roles/horizon/defaults/main.yml
index b07578a..1340d2d 100644
--- a/roles/openstack_helm_tempest/defaults/main.yml
+++ b/roles/horizon/defaults/main.yml
@@ -12,9 +12,12 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_tempest_helm_release_name: tempest
-openstack_helm_tempest_helm_chart_path: "{{ role_path }}/../../charts/tempest/"
-openstack_helm_tempest_helm_chart_ref: /usr/local/src/tempest
+horizon_helm_release_name: horizon
+horizon_helm_chart_path: "{{ role_path }}/../../charts/horizon/"
+horizon_helm_chart_ref: /usr/local/src/horizon
-openstack_helm_tempest_helm_release_namespace: openstack
-openstack_helm_tempest_helm_values: {}
+horizon_helm_release_namespace: openstack
+horizon_helm_values: {}
+
+# List of annotations to apply to the Ingress
+horizon_ingress_annotations: {}
diff --git a/roles/openstack_helm_horizon/files/50-monasca-ui-settings.py b/roles/horizon/files/50-monasca-ui-settings.py
similarity index 100%
rename from roles/openstack_helm_horizon/files/50-monasca-ui-settings.py
rename to roles/horizon/files/50-monasca-ui-settings.py
diff --git a/roles/openstack_helm_horizon/meta/main.yml b/roles/horizon/meta/main.yml
similarity index 86%
rename from roles/openstack_helm_horizon/meta/main.yml
rename to roles/horizon/meta/main.yml
index 666e398..5be6c83 100644
--- a/roles/openstack_helm_horizon/meta/main.yml
+++ b/roles/horizon/meta/main.yml
@@ -30,5 +30,5 @@
openstack_helm_endpoints_chart: horizon
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_horizon_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_horizon_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ horizon_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ horizon_helm_chart_ref }}"
diff --git a/roles/openstack_helm_horizon/tasks/main.yml b/roles/horizon/tasks/main.yml
similarity index 67%
rename from roles/openstack_helm_horizon/tasks/main.yml
rename to roles/horizon/tasks/main.yml
index 0baa29c..d708713 100644
--- a/roles/openstack_helm_horizon/tasks/main.yml
+++ b/roles/horizon/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_horizon_helm_release_name }}"
- namespace: "{{ openstack_helm_horizon_helm_release_namespace }}"
+ name: "{{ horizon_helm_release_name }}"
+ namespace: "{{ horizon_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,18 +31,18 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_horizon_helm_release_name }}"
- namespace: "{{ openstack_helm_horizon_helm_release_namespace }}"
+ name: "{{ horizon_helm_release_name }}"
+ namespace: "{{ horizon_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_horizon_helm_release_name }}"
- chart_ref: "{{ openstack_helm_horizon_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_horizon_helm_release_namespace }}"
+ name: "{{ horizon_helm_release_name }}"
+ chart_ref: "{{ horizon_helm_chart_ref }}"
+ release_namespace: "{{ horizon_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_horizon_helm_values | combine(openstack_helm_horizon_helm_values, recursive=True) }}"
+ values: "{{ _horizon_helm_values | combine(horizon_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -51,4 +51,4 @@
openstack_helm_ingress_endpoint: dashboard
openstack_helm_ingress_service_name: horizon-int
openstack_helm_ingress_service_port: 80
- openstack_helm_ingress_annotations: "{{ openstack_helm_horizon_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ horizon_ingress_annotations }}"
diff --git a/roles/openstack_helm_horizon/vars/main.yml b/roles/horizon/vars/main.yml
similarity index 97%
rename from roles/openstack_helm_horizon/vars/main.yml
rename to roles/horizon/vars/main.yml
index 7f4de64..0812b1b 100644
--- a/roles/openstack_helm_horizon/vars/main.yml
+++ b/roles/horizon/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_horizon_helm_values:
+_horizon_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('horizon') }}"
diff --git a/roles/keystone/README.md b/roles/keystone/README.md
new file mode 100644
index 0000000..cb7b7c6
--- /dev/null
+++ b/roles/keystone/README.md
@@ -0,0 +1 @@
+# `keystone`
diff --git a/roles/openstack_helm_cinder/defaults/main.yml b/roles/keystone/defaults/main.yml
similarity index 65%
copy from roles/openstack_helm_cinder/defaults/main.yml
copy to roles/keystone/defaults/main.yml
index acb7a8a..d92cfc7 100644
--- a/roles/openstack_helm_cinder/defaults/main.yml
+++ b/roles/keystone/defaults/main.yml
@@ -12,12 +12,12 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_cinder_helm_release_name: cinder
-openstack_helm_cinder_helm_chart_path: "{{ role_path }}/../../charts/cinder/"
-openstack_helm_cinder_helm_chart_ref: /usr/local/src/cinder
+keystone_helm_release_name: keystone
+keystone_helm_chart_path: "{{ role_path }}/../../charts/keystone/"
+keystone_helm_chart_ref: /usr/local/src/keystone
-openstack_helm_cinder_helm_release_namespace: openstack
-openstack_helm_cinder_helm_values: {}
+keystone_helm_release_namespace: openstack
+keystone_helm_values: {}
# List of annotations to apply to the Ingress
-openstack_helm_cinder_ingress_annotations: {}
+keystone_ingress_annotations: {}
diff --git a/roles/openstack_helm_keystone/meta/main.yml b/roles/keystone/meta/main.yml
similarity index 86%
rename from roles/openstack_helm_keystone/meta/main.yml
rename to roles/keystone/meta/main.yml
index 0f9a4d2..61485cb 100644
--- a/roles/openstack_helm_keystone/meta/main.yml
+++ b/roles/keystone/meta/main.yml
@@ -30,5 +30,5 @@
openstack_helm_endpoints_chart: keystone
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_keystone_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_keystone_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ keystone_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ keystone_helm_chart_ref }}"
diff --git a/roles/openstack_helm_keystone/tasks/main.yml b/roles/keystone/tasks/main.yml
similarity index 67%
rename from roles/openstack_helm_keystone/tasks/main.yml
rename to roles/keystone/tasks/main.yml
index 43c9971..4bc689e 100644
--- a/roles/openstack_helm_keystone/tasks/main.yml
+++ b/roles/keystone/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_keystone_helm_release_name }}"
- namespace: "{{ openstack_helm_keystone_helm_release_namespace }}"
+ name: "{{ keystone_helm_release_name }}"
+ namespace: "{{ keystone_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,18 +31,18 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_keystone_helm_release_name }}"
- namespace: "{{ openstack_helm_keystone_helm_release_namespace }}"
+ name: "{{ keystone_helm_release_name }}"
+ namespace: "{{ keystone_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_keystone_helm_release_name }}"
- chart_ref: "{{ openstack_helm_keystone_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_keystone_helm_release_namespace }}"
+ name: "{{ keystone_helm_release_name }}"
+ chart_ref: "{{ keystone_helm_chart_ref }}"
+ release_namespace: "{{ keystone_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_keystone_helm_values | combine(openstack_helm_keystone_helm_values, recursive=True) }}"
+ values: "{{ _keystone_helm_values | combine(keystone_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -51,4 +51,4 @@
openstack_helm_ingress_endpoint: identity
openstack_helm_ingress_service_name: keystone-api
openstack_helm_ingress_service_port: 5000
- openstack_helm_ingress_annotations: "{{ openstack_helm_keystone_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ keystone_ingress_annotations }}"
diff --git a/roles/openstack_helm_keystone/vars/main.yml b/roles/keystone/vars/main.yml
similarity index 98%
rename from roles/openstack_helm_keystone/vars/main.yml
rename to roles/keystone/vars/main.yml
index 1bbab06..fc16ccd 100644
--- a/roles/openstack_helm_keystone/vars/main.yml
+++ b/roles/keystone/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_keystone_helm_values:
+_keystone_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('keystone') }}"
diff --git a/roles/libvirt/README.md b/roles/libvirt/README.md
new file mode 100644
index 0000000..d7ce305
--- /dev/null
+++ b/roles/libvirt/README.md
@@ -0,0 +1 @@
+# `libvirt`
diff --git a/roles/openstack_helm_infra_openvswitch/vars/main.yml b/roles/libvirt/defaults/main.yml
similarity index 68%
copy from roles/openstack_helm_infra_openvswitch/vars/main.yml
copy to roles/libvirt/defaults/main.yml
index ef74425..d35ffa9 100644
--- a/roles/openstack_helm_infra_openvswitch/vars/main.yml
+++ b/roles/libvirt/defaults/main.yml
@@ -1,4 +1,4 @@
-# Copyright (c) 2022 VEXXHOST, Inc.
+# Copyright (c) 2023 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
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_infra_openvswitch_helm_values:
- endpoints: "{{ openstack_helm_endpoints }}"
- images:
- tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('openvswitch') }}"
+libvirt_helm_release_name: libvirt
+libvirt_helm_chart_path: "{{ role_path }}/../../charts/libvirt/"
+libvirt_helm_chart_ref: /usr/local/src/libvirt
+
+libvirt_helm_release_namespace: openstack
+libvirt_helm_values: {}
diff --git a/roles/openstack_helm_infra_libvirt/meta/main.yml b/roles/libvirt/meta/main.yml
similarity index 85%
rename from roles/openstack_helm_infra_libvirt/meta/main.yml
rename to roles/libvirt/meta/main.yml
index 7fb5192..2b277b4 100644
--- a/roles/openstack_helm_infra_libvirt/meta/main.yml
+++ b/roles/libvirt/meta/main.yml
@@ -30,5 +30,5 @@
openstack_helm_endpoints_chart: libvirt
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_infra_libvirt_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_infra_libvirt_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ libvirt_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ libvirt_helm_chart_ref }}"
diff --git a/roles/openstack_helm_infra_libvirt/tasks/main.yml b/roles/libvirt/tasks/main.yml
similarity index 65%
rename from roles/openstack_helm_infra_libvirt/tasks/main.yml
rename to roles/libvirt/tasks/main.yml
index e347c21..f941b64 100644
--- a/roles/openstack_helm_infra_libvirt/tasks/main.yml
+++ b/roles/libvirt/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_infra_libvirt_helm_release_name }}"
- namespace: "{{ openstack_helm_infra_libvirt_helm_release_namespace }}"
+ name: "{{ libvirt_helm_release_name }}"
+ namespace: "{{ libvirt_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,15 +31,15 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_infra_libvirt_helm_release_name }}"
- namespace: "{{ openstack_helm_infra_libvirt_helm_release_namespace }}"
+ name: "{{ libvirt_helm_release_name }}"
+ namespace: "{{ libvirt_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_infra_libvirt_helm_release_name }}"
- chart_ref: "{{ openstack_helm_infra_libvirt_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_infra_libvirt_helm_release_namespace }}"
+ name: "{{ libvirt_helm_release_name }}"
+ chart_ref: "{{ libvirt_helm_chart_ref }}"
+ release_namespace: "{{ libvirt_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_infra_libvirt_helm_values | combine(openstack_helm_infra_libvirt_helm_values, recursive=True) }}"
+ values: "{{ _libvirt_helm_values | combine(libvirt_helm_values, recursive=True) }}"
diff --git a/roles/openstack_helm_infra_libvirt/vars/main.yml b/roles/libvirt/vars/main.yml
similarity index 94%
rename from roles/openstack_helm_infra_libvirt/vars/main.yml
rename to roles/libvirt/vars/main.yml
index 63231b9..e80fc82 100644
--- a/roles/openstack_helm_infra_libvirt/vars/main.yml
+++ b/roles/libvirt/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_infra_libvirt_helm_values:
+_libvirt_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('libvirt') }}"
diff --git a/roles/magnum/README.md b/roles/magnum/README.md
new file mode 100644
index 0000000..01bffb9
--- /dev/null
+++ b/roles/magnum/README.md
@@ -0,0 +1 @@
+# `magnum`
diff --git a/roles/openstack_helm_magnum/defaults/main.yml b/roles/magnum/defaults/main.yml
similarity index 79%
rename from roles/openstack_helm_magnum/defaults/main.yml
rename to roles/magnum/defaults/main.yml
index 124bd1f..b74fad5 100644
--- a/roles/openstack_helm_magnum/defaults/main.yml
+++ b/roles/magnum/defaults/main.yml
@@ -12,18 +12,18 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_magnum_helm_release_name: magnum
-openstack_helm_magnum_helm_chart_path: "{{ role_path }}/../../charts/magnum/"
-openstack_helm_magnum_helm_chart_ref: /usr/local/src/magnum
+magnum_helm_release_name: magnum
+magnum_helm_chart_path: "{{ role_path }}/../../charts/magnum/"
+magnum_helm_chart_ref: /usr/local/src/magnum
-openstack_helm_magnum_helm_release_namespace: openstack
-openstack_helm_magnum_helm_values: {}
+magnum_helm_release_namespace: openstack
+magnum_helm_values: {}
# List of annotations to apply to the Ingress
-openstack_helm_magnum_ingress_annotations: {}
+magnum_ingress_annotations: {}
# List of images to load into OpenStack for Magnum
-openstack_helm_magnum_images:
+magnum_images:
- name: ubuntu-2004-v1.23.13
source_url: https://object-storage.public.mtl1.vexxhost.net/swift/v1/a91f106f55e64246babde7402c21b87a/magnum-capi/
image_file: ubuntu-2004-v1.23.13.qcow2
diff --git a/roles/openstack_helm_magnum/meta/main.yml b/roles/magnum/meta/main.yml
similarity index 86%
rename from roles/openstack_helm_magnum/meta/main.yml
rename to roles/magnum/meta/main.yml
index 9590493..6d3ae24 100644
--- a/roles/openstack_helm_magnum/meta/main.yml
+++ b/roles/magnum/meta/main.yml
@@ -29,5 +29,5 @@
openstack_helm_endpoints_chart: magnum
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_magnum_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_magnum_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ magnum_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ magnum_helm_chart_ref }}"
diff --git a/roles/openstack_helm_magnum/tasks/main.yml b/roles/magnum/tasks/main.yml
similarity index 95%
rename from roles/openstack_helm_magnum/tasks/main.yml
rename to roles/magnum/tasks/main.yml
index 071c64e..f22a502 100644
--- a/roles/openstack_helm_magnum/tasks/main.yml
+++ b/roles/magnum/tasks/main.yml
@@ -23,8 +23,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_magnum_helm_release_name }}"
- namespace: "{{ openstack_helm_magnum_helm_release_namespace }}"
+ name: "{{ magnum_helm_release_name }}"
+ namespace: "{{ magnum_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -34,8 +34,8 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_magnum_helm_release_name }}"
- namespace: "{{ openstack_helm_magnum_helm_release_namespace }}"
+ name: "{{ magnum_helm_release_name }}"
+ namespace: "{{ magnum_helm_release_namespace }}"
- name: Deploy cluster api
kubernetes.core.k8s:
@@ -53,12 +53,12 @@
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_magnum_helm_release_name }}"
- chart_ref: "{{ openstack_helm_magnum_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_magnum_helm_release_namespace }}"
+ name: "{{ magnum_helm_release_name }}"
+ chart_ref: "{{ magnum_helm_chart_ref }}"
+ release_namespace: "{{ magnum_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_magnum_helm_values | combine(openstack_helm_magnum_helm_values, recursive=True) }}"
+ values: "{{ _magnum_helm_values | combine(magnum_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -67,7 +67,7 @@
openstack_helm_ingress_endpoint: container_infra
openstack_helm_ingress_service_name: magnum-api
openstack_helm_ingress_service_port: 9511
- openstack_helm_ingress_annotations: "{{ openstack_helm_magnum_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ magnum_ingress_annotations }}"
- name: Deploy magnum registry
kubernetes.core.k8s:
@@ -380,7 +380,7 @@
openstack_helm_ingress_service_port: 5000
- name: Create k8s images
- when: openstack_helm_magnum_images | length > 0
+ when: magnum_images | length > 0
block:
- name: Wait until image service ready
kubernetes.core.k8s_info:
@@ -400,7 +400,7 @@
url: "{{ item.source_url | regex_replace('\\/$', '') }}/{{ item.image_file }}"
dest: "/tmp/{{ item.image_file }}"
mode: "0600"
- loop: "{{ openstack_helm_magnum_images }}"
+ loop: "{{ magnum_images }}"
- name: Upload images
openstack.cloud.image:
@@ -412,4 +412,4 @@
disk_format: "{{ item.disk_format | default(omit) }}"
properties:
os_distro: ubuntu-focal
- loop: "{{ openstack_helm_magnum_images }}"
+ loop: "{{ magnum_images }}"
diff --git a/roles/openstack_helm_magnum/templates/capi-bootstrap.yml.j2 b/roles/magnum/templates/capi-bootstrap.yml.j2
similarity index 100%
rename from roles/openstack_helm_magnum/templates/capi-bootstrap.yml.j2
rename to roles/magnum/templates/capi-bootstrap.yml.j2
diff --git a/roles/openstack_helm_magnum/templates/capi-control-plane.yml.j2 b/roles/magnum/templates/capi-control-plane.yml.j2
similarity index 100%
rename from roles/openstack_helm_magnum/templates/capi-control-plane.yml.j2
rename to roles/magnum/templates/capi-control-plane.yml.j2
diff --git a/roles/openstack_helm_magnum/templates/capi-core.yml.j2 b/roles/magnum/templates/capi-core.yml.j2
similarity index 100%
rename from roles/openstack_helm_magnum/templates/capi-core.yml.j2
rename to roles/magnum/templates/capi-core.yml.j2
diff --git a/roles/openstack_helm_magnum/templates/capi-provider.yml.j2 b/roles/magnum/templates/capi-provider.yml.j2
similarity index 100%
rename from roles/openstack_helm_magnum/templates/capi-provider.yml.j2
rename to roles/magnum/templates/capi-provider.yml.j2
diff --git a/roles/openstack_helm_magnum/templates/capi-rbac.yml.j2 b/roles/magnum/templates/capi-rbac.yml.j2
similarity index 100%
rename from roles/openstack_helm_magnum/templates/capi-rbac.yml.j2
rename to roles/magnum/templates/capi-rbac.yml.j2
diff --git a/roles/openstack_helm_magnum/vars/main.yml b/roles/magnum/vars/main.yml
similarity index 98%
rename from roles/openstack_helm_magnum/vars/main.yml
rename to roles/magnum/vars/main.yml
index 0e70ce0..0a72ef1 100644
--- a/roles/openstack_helm_magnum/vars/main.yml
+++ b/roles/magnum/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_magnum_helm_values:
+_magnum_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('magnum') }}"
diff --git a/roles/neutron/README.md b/roles/neutron/README.md
new file mode 100644
index 0000000..252c90a
--- /dev/null
+++ b/roles/neutron/README.md
@@ -0,0 +1 @@
+# `neutron`
diff --git a/roles/openstack_helm_cinder/defaults/main.yml b/roles/neutron/defaults/main.yml
similarity index 65%
copy from roles/openstack_helm_cinder/defaults/main.yml
copy to roles/neutron/defaults/main.yml
index acb7a8a..584d3e9 100644
--- a/roles/openstack_helm_cinder/defaults/main.yml
+++ b/roles/neutron/defaults/main.yml
@@ -12,12 +12,15 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_cinder_helm_release_name: cinder
-openstack_helm_cinder_helm_chart_path: "{{ role_path }}/../../charts/cinder/"
-openstack_helm_cinder_helm_chart_ref: /usr/local/src/cinder
+neutron_helm_release_name: neutron
+neutron_helm_chart_path: "{{ role_path }}/../../charts/neutron/"
+neutron_helm_chart_ref: /usr/local/src/neutron
-openstack_helm_cinder_helm_release_namespace: openstack
-openstack_helm_cinder_helm_values: {}
+neutron_helm_release_namespace: openstack
+neutron_helm_values: {}
+
+# List of networks to provision inside OpenStack
+neutron_networks: []
# List of annotations to apply to the Ingress
-openstack_helm_cinder_ingress_annotations: {}
+neutron_ingress_annotations: {}
diff --git a/roles/openstack_helm_neutron/meta/main.yml b/roles/neutron/meta/main.yml
similarity index 86%
rename from roles/openstack_helm_neutron/meta/main.yml
rename to roles/neutron/meta/main.yml
index 8887a54..9c8f17f 100644
--- a/roles/openstack_helm_neutron/meta/main.yml
+++ b/roles/neutron/meta/main.yml
@@ -31,5 +31,5 @@
openstack_helm_endpoints_chart: neutron
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_neutron_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_neutron_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ neutron_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ neutron_helm_chart_ref }}"
diff --git a/roles/openstack_helm_neutron/tasks/main.yml b/roles/neutron/tasks/main.yml
similarity index 80%
rename from roles/openstack_helm_neutron/tasks/main.yml
rename to roles/neutron/tasks/main.yml
index 8edda8e..b2a42f0 100644
--- a/roles/openstack_helm_neutron/tasks/main.yml
+++ b/roles/neutron/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_neutron_helm_release_name }}"
- namespace: "{{ openstack_helm_neutron_helm_release_namespace }}"
+ name: "{{ neutron_helm_release_name }}"
+ namespace: "{{ neutron_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,18 +31,18 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_neutron_helm_release_name }}"
- namespace: "{{ openstack_helm_neutron_helm_release_namespace }}"
+ name: "{{ neutron_helm_release_name }}"
+ namespace: "{{ neutron_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_neutron_helm_release_name }}"
- chart_ref: "{{ openstack_helm_neutron_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_neutron_helm_release_namespace }}"
+ name: "{{ neutron_helm_release_name }}"
+ chart_ref: "{{ neutron_helm_chart_ref }}"
+ release_namespace: "{{ neutron_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_neutron_helm_values | combine(openstack_helm_neutron_helm_values, recursive=True) }}"
+ values: "{{ _neutron_helm_values | combine(neutron_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -51,10 +51,10 @@
openstack_helm_ingress_endpoint: network
openstack_helm_ingress_service_name: neutron-server
openstack_helm_ingress_service_port: 9696
- openstack_helm_ingress_annotations: "{{ openstack_helm_neutron_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ neutron_ingress_annotations }}"
- name: Create networks
- when: openstack_helm_neutron_networks | length > 0
+ when: neutron_networks | length > 0
block:
- name: Wait until network service ready
kubernetes.core.k8s_info:
@@ -81,7 +81,7 @@
provider_network_type: "{{ item.provider_network_type | default(omit) }}"
provider_physical_network: "{{ item.provider_physical_network | default(omit) }}"
provider_segmentation_id: "{{ item.provider_segmentation_id | default(omit) }}"
- loop: "{{ openstack_helm_neutron_networks }}"
+ loop: "{{ neutron_networks }}"
- name: Create subnets
openstack.cloud.subnet:
@@ -101,5 +101,5 @@
ipv6_address_mode: "{{ item.1.ipv6_address_mode | default(omit) }}"
ipv6_ra_mode: "{{ item.1.ipv6_ra_mode | default(omit) }}"
with_subelements:
- - "{{ openstack_helm_neutron_networks }}"
+ - "{{ neutron_networks }}"
- subnets
diff --git a/roles/openstack_helm_neutron/vars/main.yml b/roles/neutron/vars/main.yml
similarity index 98%
rename from roles/openstack_helm_neutron/vars/main.yml
rename to roles/neutron/vars/main.yml
index 0c04da2..cdab428 100644
--- a/roles/openstack_helm_neutron/vars/main.yml
+++ b/roles/neutron/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_neutron_helm_values:
+_neutron_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('neutron') }}"
diff --git a/roles/nova/README.md b/roles/nova/README.md
new file mode 100644
index 0000000..0a4b9db
--- /dev/null
+++ b/roles/nova/README.md
@@ -0,0 +1 @@
+# `nova`
diff --git a/roles/openstack_helm_nova/defaults/main.yml b/roles/nova/defaults/main.yml
similarity index 62%
rename from roles/openstack_helm_nova/defaults/main.yml
rename to roles/nova/defaults/main.yml
index 0cc3af0..3aa38d4 100644
--- a/roles/openstack_helm_nova/defaults/main.yml
+++ b/roles/nova/defaults/main.yml
@@ -12,18 +12,18 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_nova_helm_release_name: nova
-openstack_helm_nova_helm_chart_path: "{{ role_path }}/../../charts/nova/"
-openstack_helm_nova_helm_chart_ref: /usr/local/src/nova
+nova_helm_release_name: nova
+nova_helm_chart_path: "{{ role_path }}/../../charts/nova/"
+nova_helm_chart_ref: /usr/local/src/nova
-openstack_helm_nova_helm_release_namespace: openstack
-openstack_helm_nova_helm_values: {}
+nova_helm_release_namespace: openstack
+nova_helm_values: {}
# Private SSH key used for cold & live migration
-openstack_helm_nova_ssh_key: "{{ undef(hint='You must specifiy an SSH key for Nova.') }}"
+nova_ssh_key: "{{ undef(hint='You must specifiy an SSH key for Nova.') }}"
# List of flavors to provision inside Nova
-openstack_helm_nova_flavors: []
+nova_flavors: []
# List of annotations to apply to the Ingress
-openstack_helm_nova_ingress_annotations: {}
+nova_ingress_annotations: {}
diff --git a/roles/openstack_helm_nova/meta/main.yml b/roles/nova/meta/main.yml
similarity index 86%
rename from roles/openstack_helm_nova/meta/main.yml
rename to roles/nova/meta/main.yml
index 50c6c00..7b289d3 100644
--- a/roles/openstack_helm_nova/meta/main.yml
+++ b/roles/nova/meta/main.yml
@@ -31,5 +31,5 @@
openstack_helm_endpoints_chart: nova
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_nova_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_nova_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ nova_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ nova_helm_chart_ref }}"
diff --git a/roles/openstack_helm_nova/tasks/main.yml b/roles/nova/tasks/main.yml
similarity index 82%
rename from roles/openstack_helm_nova/tasks/main.yml
rename to roles/nova/tasks/main.yml
index ccf3602..518409d 100644
--- a/roles/openstack_helm_nova/tasks/main.yml
+++ b/roles/nova/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_nova_helm_release_name }}"
- namespace: "{{ openstack_helm_nova_helm_release_namespace }}"
+ name: "{{ nova_helm_release_name }}"
+ namespace: "{{ nova_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,8 +31,8 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_nova_helm_release_name }}"
- namespace: "{{ openstack_helm_nova_helm_release_namespace }}"
+ name: "{{ nova_helm_release_name }}"
+ namespace: "{{ nova_helm_release_namespace }}"
- name: Generate public key for SSH private key
become: false
@@ -50,7 +50,7 @@
changed_when: false
ansible.builtin.copy:
dest: "{{ _nova_ssh_key_tempfile.path }}"
- content: "{{ openstack_helm_nova_ssh_key }}\n"
+ content: "{{ nova_ssh_key }}\n"
mode: "0600"
- name: Generate public key for SSH private key
changed_when: false
@@ -68,12 +68,12 @@
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_nova_helm_release_name }}"
- chart_ref: "{{ openstack_helm_nova_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_nova_helm_release_namespace }}"
+ name: "{{ nova_helm_release_name }}"
+ chart_ref: "{{ nova_helm_chart_ref }}"
+ release_namespace: "{{ nova_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_nova_helm_values | combine(openstack_helm_nova_helm_values, recursive=True) }}"
+ values: "{{ _nova_helm_values | combine(nova_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -82,7 +82,7 @@
openstack_helm_ingress_endpoint: compute
openstack_helm_ingress_service_name: nova-api
openstack_helm_ingress_service_port: 8774
- openstack_helm_ingress_annotations: "{{ openstack_helm_nova_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ nova_ingress_annotations }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -91,10 +91,10 @@
openstack_helm_ingress_endpoint: compute_novnc_proxy
openstack_helm_ingress_service_name: nova-novncproxy
openstack_helm_ingress_service_port: 6080
- openstack_helm_ingress_annotations: "{{ openstack_helm_nova_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ nova_ingress_annotations }}"
- name: Create flavors
- when: openstack_helm_nova_flavors | length > 0
+ when: nova_flavors | length > 0
block:
- name: Wait until compute api service ready
kubernetes.core.k8s_info:
@@ -123,7 +123,7 @@
is_public: "{{ item.is_public | default(omit) }}"
rxtx_factor: "{{ item.rxtx_factor | default(omit) }}"
extra_specs: "{{ item.extra_specs | default(omit) }}"
- loop: "{{ openstack_helm_nova_flavors }}"
+ loop: "{{ nova_flavors }}"
# NOTE(mnaser): This often fails with a 503 since we're sending a request
# way too fast after the service is ready, retry for now
# but the Helm chart should be fixed.
diff --git a/roles/openstack_helm_nova/vars/main.yml b/roles/nova/vars/main.yml
similarity index 97%
rename from roles/openstack_helm_nova/vars/main.yml
rename to roles/nova/vars/main.yml
index 5207948..820b12c 100644
--- a/roles/openstack_helm_nova/vars/main.yml
+++ b/roles/nova/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_nova_helm_values:
+_nova_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
labels:
agent:
@@ -25,7 +25,7 @@
ssh:
enabled: true
public_key: "{{ _nova_ssh_publickey.public_key }}"
- private_key: "{{ openstack_helm_nova_ssh_key }}"
+ private_key: "{{ nova_ssh_key }}"
bootstrap:
structured:
flavors:
diff --git a/roles/octavia/README.md b/roles/octavia/README.md
new file mode 100644
index 0000000..0100979
--- /dev/null
+++ b/roles/octavia/README.md
@@ -0,0 +1 @@
+# `octavia`
diff --git a/roles/octavia/defaults/main.yml b/roles/octavia/defaults/main.yml
new file mode 100644
index 0000000..7aa9366
--- /dev/null
+++ b/roles/octavia/defaults/main.yml
@@ -0,0 +1,32 @@
+# Copyright (c) 2023 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.
+
+octavia_helm_release_name: octavia
+octavia_helm_chart_path: "{{ role_path }}/../../charts/octavia/"
+octavia_helm_chart_ref: /usr/local/src/octavia
+
+octavia_helm_release_namespace: openstack
+octavia_helm_values: {}
+
+# List of annotations to apply to the Ingress
+octavia_ingress_annotations: {}
+
+# Heartbeat key
+octavia_heartbeat_key: "{{ undef(hint='You must specify a Octavia heartbeat key') }}"
+
+# Octavia management subnet (CIDR)
+octavia_management_subnet_cidr: "172.24.0.0/22"
+
+# Octavia amphora image url
+octavia_amphora_image_url: "https://tarballs.opendev.org/openstack/octavia/test-images/test-only-amphora-x64-haproxy-ubuntu-focal.qcow2"
diff --git a/roles/openstack_helm_octavia/meta/main.yml b/roles/octavia/meta/main.yml
similarity index 86%
rename from roles/openstack_helm_octavia/meta/main.yml
rename to roles/octavia/meta/main.yml
index 4066287..b700837 100644
--- a/roles/openstack_helm_octavia/meta/main.yml
+++ b/roles/octavia/meta/main.yml
@@ -31,5 +31,5 @@
openstack_helm_endpoints_chart: octavia
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_octavia_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_octavia_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ octavia_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ octavia_helm_chart_ref }}"
diff --git a/roles/openstack_helm_octavia/tasks/main.yml b/roles/octavia/tasks/main.yml
similarity index 73%
rename from roles/openstack_helm_octavia/tasks/main.yml
rename to roles/octavia/tasks/main.yml
index 141f94a..7ccbd0a 100644
--- a/roles/openstack_helm_octavia/tasks/main.yml
+++ b/roles/octavia/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_octavia_helm_release_name }}"
- namespace: "{{ openstack_helm_octavia_helm_release_namespace }}"
+ name: "{{ octavia_helm_release_name }}"
+ namespace: "{{ octavia_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,15 +31,15 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_octavia_helm_release_name }}"
- namespace: "{{ openstack_helm_octavia_helm_release_namespace }}"
+ name: "{{ octavia_helm_release_name }}"
+ namespace: "{{ octavia_helm_release_namespace }}"
- name: Create management network
openstack.cloud.network:
cloud: atmosphere
# Network settings
name: lb-mgmt-net
- register: _openstack_helm_octavia_management_network
+ register: _octavia_management_network
- name: Create management subnet
openstack.cloud.subnet:
@@ -47,18 +47,18 @@
# Subnet settings
network_name: lb-mgmt-net
name: lb-mgmt-subnet
- cidr: "{{ openstack_helm_octavia_management_subnet_cidr }}"
+ cidr: "{{ octavia_management_subnet_cidr }}"
- name: Create health manager security group
openstack.cloud.security_group:
cloud: atmosphere
name: lb-health-mgr-sec-grp
- register: _openstack_helm_octavia_health_manager_sg
+ register: _octavia_health_manager_sg
- name: Create health manager security group rules
openstack.cloud.security_group_rule:
cloud: atmosphere
- security_group: "{{ _openstack_helm_octavia_health_manager_sg.id }}"
+ security_group: "{{ _octavia_health_manager_sg.id }}"
direction: ingress
ethertype: IPv4
protocol: tcp
@@ -74,9 +74,9 @@
cloud: atmosphere
name: "octavia-health-manager-port-{{ hostvars[item]['inventory_hostname_short'] }}"
device_owner: octavia:health-mgr
- network: "{{ _openstack_helm_octavia_management_network.id }}"
+ network: "{{ _octavia_management_network.id }}"
security_groups:
- - "{{ _openstack_helm_octavia_health_manager_sg.id }}"
+ - "{{ _octavia_health_manager_sg.id }}"
loop: "{{ groups['controllers'] }}"
- name: Set binding for ports
@@ -94,12 +94,12 @@
cloud: atmosphere
port: "octavia-health-manager-port-{{ hostvars[item]['ansible_fqdn'] | split('.') | first }}"
loop: "{{ groups['controllers'] }}"
- register: _openstack_helm_octavia_health_manager_ports
+ register: _octavia_health_manager_ports
- name: Set controller_ip_port_list
ansible.builtin.set_fact:
- _openstack_helm_octavia_controller_ip_port_list: "{{ (_openstack_helm_octavia_controller_ip_port_list | d([]) + [item.openstack_ports[0].fixed_ips[0].ip_address + ':5555']) | unique }}"
- loop: "{{ _openstack_helm_octavia_health_manager_ports.results }}"
+ _octavia_controller_ip_port_list: "{{ (_octavia_controller_ip_port_list | d([]) + [item.openstack_ports[0].fixed_ips[0].ip_address + ':5555']) | unique }}"
+ loop: "{{ _octavia_health_manager_ports.results }}"
loop_control:
label: "{{ item.openstack_ports[0].name }}"
@@ -107,12 +107,12 @@
openstack.cloud.security_group:
cloud: atmosphere
name: lb-mgmt-sec-grp
- register: _openstack_helm_octavia_amphora_sg
+ register: _octavia_amphora_sg
- name: Create amphora security group rules
openstack.cloud.security_group_rule:
cloud: atmosphere
- security_group: "{{ _openstack_helm_octavia_amphora_sg.id }}"
+ security_group: "{{ _octavia_amphora_sg.id }}"
direction: ingress
ethertype: IPv4
protocol: tcp
@@ -121,7 +121,7 @@
remote_ip_prefix: "{{ item.1.openstack_ports[0].fixed_ips[0].ip_address }}/32"
with_nested:
- [22, 9443]
- - "{{ _openstack_helm_octavia_health_manager_ports.results }}"
+ - "{{ _octavia_health_manager_ports.results }}"
- name: Create amphora flavor
openstack.cloud.compute_flavor:
@@ -131,24 +131,24 @@
ram: "1024"
disk: "2"
is_public: false
- register: _openstack_helm_octavia_amphora_flavor
+ register: _octavia_amphora_flavor
- name: Download amphora image
ansible.builtin.get_url:
- url: "{{ openstack_helm_octavia_amphora_image_url }}"
- dest: "/tmp/{{ openstack_helm_octavia_amphora_image_url | basename }}"
+ url: "{{ octavia_amphora_image_url }}"
+ dest: "/tmp/{{ octavia_amphora_image_url | basename }}"
mode: 0644
- name: Upload images
openstack.cloud.image:
cloud: atmosphere
name: "amphora-x64-haproxy"
- filename: "/tmp/{{ openstack_helm_octavia_amphora_image_url | basename }}"
+ filename: "/tmp/{{ octavia_amphora_image_url | basename }}"
container_format: "bare"
disk_format: "qcow2"
tags:
- "amphora"
- register: _openstack_helm_octavia_amphora_image
+ register: _octavia_amphora_image
- name: Create CAs & Issuers
kubernetes.core.k8s:
@@ -218,12 +218,12 @@
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_octavia_helm_release_name }}"
- chart_ref: "{{ openstack_helm_octavia_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_octavia_helm_release_namespace }}"
+ name: "{{ octavia_helm_release_name }}"
+ chart_ref: "{{ octavia_helm_chart_ref }}"
+ release_namespace: "{{ octavia_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_octavia_helm_values | combine(openstack_helm_octavia_helm_values, recursive=True) }}"
+ values: "{{ _octavia_helm_values | combine(octavia_helm_values, recursive=True) }}"
- name: Add implied role of load-balancer_member to member
run_once: true
@@ -233,9 +233,9 @@
member
environment:
OS_CLOUD: atmosphere
- register: _openstack_helm_octavia_implied_role_create
- changed_when: _openstack_helm_octavia_implied_role_create.rc == 0
- failed_when: _openstack_helm_octavia_implied_role_create.rc != 0 and 'Duplicate entry.' not in _openstack_helm_octavia_implied_role_create.stderr
+ register: _octavia_implied_role_create
+ changed_when: _octavia_implied_role_create.rc == 0
+ failed_when: _octavia_implied_role_create.rc != 0 and 'Duplicate entry.' not in _octavia_implied_role_create.stderr
- name: Create Ingress
ansible.builtin.include_role:
@@ -244,4 +244,4 @@
openstack_helm_ingress_endpoint: load_balancer
openstack_helm_ingress_service_name: octavia-api
openstack_helm_ingress_service_port: 9876
- openstack_helm_ingress_annotations: "{{ openstack_helm_octavia_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ octavia_ingress_annotations }}"
diff --git a/roles/openstack_helm_octavia/vars/main.yml b/roles/octavia/vars/main.yml
similarity index 87%
rename from roles/openstack_helm_octavia/vars/main.yml
rename to roles/octavia/vars/main.yml
index 629898f..af3c061 100644
--- a/roles/openstack_helm_octavia/vars/main.yml
+++ b/roles/octavia/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_octavia_helm_values:
+_octavia_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('octavia') }}"
@@ -90,10 +90,10 @@
cinder:
endpoint_type: internalURL
controller_worker:
- amp_boot_network_list: "{{ _openstack_helm_octavia_management_network.id }}"
- amp_flavor_id: "{{ _openstack_helm_octavia_amphora_flavor.id }}"
- amp_image_owner_id: "{{ _openstack_helm_octavia_amphora_image.image.owner }}"
- amp_secgroup_list: "{{ _openstack_helm_octavia_amphora_sg.id }}"
+ amp_boot_network_list: "{{ _octavia_management_network.id }}"
+ amp_flavor_id: "{{ _octavia_amphora_flavor.id }}"
+ amp_image_owner_id: "{{ _octavia_amphora_image.image.owner }}"
+ amp_secgroup_list: "{{ _octavia_amphora_sg.id }}"
amp_ssh_key_name: null
client_ca: /etc/octavia/certs/client/ca.crt
workers: 4
@@ -103,8 +103,8 @@
client_cert: /etc/octavia/certs/client/tls-combined.pem
server_ca: /etc/octavia/certs/server/ca.crt
health_manager:
- controller_ip_port_list: "{{ _openstack_helm_octavia_controller_ip_port_list | sort | join(',') }}"
- heartbeat_key: "{{ openstack_helm_octavia_heartbeat_key }}"
+ controller_ip_port_list: "{{ _octavia_controller_ip_port_list | sort | join(',') }}"
+ heartbeat_key: "{{ octavia_heartbeat_key }}"
oslo_messaging_notifications:
driver: noop
neutron:
diff --git a/roles/openstack_helm_barbican/README.md b/roles/openstack_helm_barbican/README.md
deleted file mode 100644
index 795d83f..0000000
--- a/roles/openstack_helm_barbican/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_barbican`
diff --git a/roles/openstack_helm_barbican/defaults/main.yml b/roles/openstack_helm_barbican/defaults/main.yml
deleted file mode 100644
index bd080eb..0000000
--- a/roles/openstack_helm_barbican/defaults/main.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_barbican_helm_release_name: barbican
-openstack_helm_barbican_helm_chart_path: "{{ role_path }}/../../charts/barbican/"
-openstack_helm_barbican_helm_chart_ref: /usr/local/src/barbican
-
-openstack_helm_barbican_helm_release_namespace: openstack
-openstack_helm_barbican_helm_values: {}
-
-# List of annotations to apply to the Ingress
-openstack_helm_barbican_ingress_annotations: {}
-# Barbican key encryption key
-openstack_helm_barbican_kek: "{{ undef(hint='You must specify a Barbican key encryption key') }}"
diff --git a/roles/openstack_helm_cinder/README.md b/roles/openstack_helm_cinder/README.md
deleted file mode 100644
index 875ec31..0000000
--- a/roles/openstack_helm_cinder/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_cinder`
diff --git a/roles/openstack_helm_designate/defaults/main.yml b/roles/openstack_helm_designate/defaults/main.yml
deleted file mode 100644
index 4aec6eb..0000000
--- a/roles/openstack_helm_designate/defaults/main.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_designate_helm_release_name: designate
-openstack_helm_designate_helm_chart_path: "{{ role_path }}/../../charts/designate/"
-openstack_helm_designate_helm_chart_ref: /usr/local/src/designate
-
-openstack_helm_designate_helm_release_namespace: openstack
-openstack_helm_designate_helm_values: {}
-
-# List of annotations to apply to the Ingress
-openstack_helm_designate_ingress_annotations: {}
-
-# Pools definition
-openstack_helm_designate_pools: ""
diff --git a/roles/openstack_helm_glance/README.md b/roles/openstack_helm_glance/README.md
deleted file mode 100644
index f1ade58..0000000
--- a/roles/openstack_helm_glance/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_glance`
diff --git a/roles/openstack_helm_glance/defaults/main.yml b/roles/openstack_helm_glance/defaults/main.yml
deleted file mode 100644
index 6785464..0000000
--- a/roles/openstack_helm_glance/defaults/main.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_glance_helm_release_name: glance
-openstack_helm_glance_helm_chart_path: "{{ role_path }}/../../charts/glance/"
-openstack_helm_glance_helm_chart_ref: /usr/local/src/glance
-
-openstack_helm_glance_helm_release_namespace: openstack
-openstack_helm_glance_helm_values: {}
-
-# List of annotations to apply to the Ingress
-openstack_helm_glance_ingress_annotations: {}
-
-# List of images to provision inside OpenStack
-openstack_helm_glance_images: []
diff --git a/roles/openstack_helm_heat/README.md b/roles/openstack_helm_heat/README.md
deleted file mode 100644
index d7de4ca..0000000
--- a/roles/openstack_helm_heat/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_heat`
diff --git a/roles/openstack_helm_heat/defaults/main.yml b/roles/openstack_helm_heat/defaults/main.yml
deleted file mode 100644
index f8caece..0000000
--- a/roles/openstack_helm_heat/defaults/main.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_heat_helm_release_name: heat
-openstack_helm_heat_helm_chart_path: "{{ role_path }}/../../charts/heat/"
-openstack_helm_heat_helm_chart_ref: /usr/local/src/heat
-
-openstack_helm_heat_helm_release_namespace: openstack
-openstack_helm_heat_helm_values: {}
-
-openstack_helm_heat_ingress_annotations: {}
-
-# Encryption key for Heat to use for encrypting sensitive data
-openstack_helm_heat_auth_encryption_key: "{{ undef(hint='You must specifiy an encryption key for Heat.') }}"
diff --git a/roles/openstack_helm_horizon/README.md b/roles/openstack_helm_horizon/README.md
deleted file mode 100644
index 20cb487..0000000
--- a/roles/openstack_helm_horizon/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_horizon`
diff --git a/roles/openstack_helm_horizon/defaults/main.yml b/roles/openstack_helm_horizon/defaults/main.yml
deleted file mode 100644
index 91330ad..0000000
--- a/roles/openstack_helm_horizon/defaults/main.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_horizon_helm_release_name: horizon
-openstack_helm_horizon_helm_chart_path: "{{ role_path }}/../../charts/horizon/"
-openstack_helm_horizon_helm_chart_ref: /usr/local/src/horizon
-
-openstack_helm_horizon_helm_release_namespace: openstack
-openstack_helm_horizon_helm_values: {}
-
-# List of annotations to apply to the Ingress
-openstack_helm_horizon_ingress_annotations: {}
diff --git a/roles/openstack_helm_infra_ceph_provisioners/README.md b/roles/openstack_helm_infra_ceph_provisioners/README.md
deleted file mode 100644
index 381bac4..0000000
--- a/roles/openstack_helm_infra_ceph_provisioners/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_infra_ceph_provisioners`
diff --git a/roles/openstack_helm_infra_ceph_provisioners/defaults/main.yml b/roles/openstack_helm_infra_ceph_provisioners/defaults/main.yml
deleted file mode 100644
index 1f64828..0000000
--- a/roles/openstack_helm_infra_ceph_provisioners/defaults/main.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_infra_ceph_provisioners_helm_release_name: ceph-provisioners
-openstack_helm_infra_ceph_provisioners_helm_chart_path: "{{ role_path }}/../../charts/ceph-provisioners/"
-openstack_helm_infra_ceph_provisioners_helm_chart_ref: /usr/local/src/ceph-provisioners
-
-openstack_helm_infra_ceph_provisioners_helm_release_namespace: openstack
-openstack_helm_infra_ceph_provisioners_helm_values: {}
-
-# Ansible inventory group containing Ceph monitors.
-openstack_helm_infra_ceph_provisioners_ceph_mon_group: controllers
-
-# IP address list of Ceph monitors
-openstack_helm_infra_ceph_provisioners_ceph_monitors: "{{ _ceph_csi_rbd_helm_info.status['values']['csiConfig'][0]['monitors'] }}"
-
-# Filesystem ID for Ceph cluster
-openstack_helm_infra_ceph_provisioners_ceph_fsid: "{{ _ceph_csi_rbd_helm_info.status['values']['csiConfig'][0]['clusterID'] }}"
-
-# Public network used by Ceph
-openstack_helm_infra_ceph_provisioners_ceph_public_network: "{{ ceph_mon_public_network }}"
-
-# Cluster (replication) network used by Ceph
-openstack_helm_infra_ceph_provisioners_ceph_cluster_network: "{{ openstack_helm_infra_ceph_provisioners_ceph_public_network }}"
-
-# Overrides for Helm chart values
-openstack_helm_infra_ceph_provisioners_values: {}
diff --git a/roles/openstack_helm_infra_libvirt/README.md b/roles/openstack_helm_infra_libvirt/README.md
deleted file mode 100644
index 50379eb..0000000
--- a/roles/openstack_helm_infra_libvirt/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_infra_libvirt`
diff --git a/roles/openstack_helm_infra_libvirt/defaults/main.yml b/roles/openstack_helm_infra_libvirt/defaults/main.yml
deleted file mode 100644
index d52b29f..0000000
--- a/roles/openstack_helm_infra_libvirt/defaults/main.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_infra_libvirt_helm_release_name: libvirt
-openstack_helm_infra_libvirt_helm_chart_path: "{{ role_path }}/../../charts/libvirt/"
-openstack_helm_infra_libvirt_helm_chart_ref: /usr/local/src/libvirt
-
-openstack_helm_infra_libvirt_helm_release_namespace: openstack
-openstack_helm_infra_libvirt_helm_values: {}
diff --git a/roles/openstack_helm_infra_openvswitch/README.md b/roles/openstack_helm_infra_openvswitch/README.md
deleted file mode 100644
index 8b4412e..0000000
--- a/roles/openstack_helm_infra_openvswitch/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_infra_openvswitch`
diff --git a/roles/openstack_helm_infra_openvswitch/defaults/main.yml b/roles/openstack_helm_infra_openvswitch/defaults/main.yml
deleted file mode 100644
index 3f2dba7..0000000
--- a/roles/openstack_helm_infra_openvswitch/defaults/main.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_infra_openvswitch_helm_release_name: openvswitch
-openstack_helm_infra_openvswitch_helm_chart_path: "{{ role_path }}/../../charts/openvswitch/"
-openstack_helm_infra_openvswitch_helm_chart_ref: /usr/local/src/openvswitch
-
-openstack_helm_infra_openvswitch_helm_release_namespace: openstack
-openstack_helm_infra_openvswitch_helm_values: {}
diff --git a/roles/openstack_helm_infra_openvswitch/tasks/main.yml b/roles/openstack_helm_infra_openvswitch/tasks/main.yml
deleted file mode 100644
index b0b2349..0000000
--- a/roles/openstack_helm_infra_openvswitch/tasks/main.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-# 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.
-
-- name: Uninstall the legacy HelmRelease
- run_once: true
- block:
- - name: Suspend the existing HelmRelease
- kubernetes.core.k8s:
- state: patched
- api_version: helm.toolkit.fluxcd.io/v2beta1
- kind: HelmRelease
- name: "{{ openstack_helm_infra_openvswitch_helm_release_name }}"
- namespace: "{{ openstack_helm_infra_openvswitch_helm_release_namespace }}"
- definition:
- spec:
- suspend: true
-
- - name: Remove the existing HelmRelease
- kubernetes.core.k8s:
- state: absent
- api_version: helm.toolkit.fluxcd.io/v2beta1
- kind: HelmRelease
- name: "{{ openstack_helm_infra_openvswitch_helm_release_name }}"
- namespace: "{{ openstack_helm_infra_openvswitch_helm_release_namespace }}"
-
-- name: Deploy Helm chart
- run_once: true
- kubernetes.core.helm:
- name: "{{ openstack_helm_infra_openvswitch_helm_release_name }}"
- chart_ref: "{{ openstack_helm_infra_openvswitch_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_infra_openvswitch_helm_release_namespace }}"
- create_namespace: true
- kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_infra_openvswitch_helm_values | combine(openstack_helm_infra_openvswitch_helm_values, recursive=True) }}"
diff --git a/roles/openstack_helm_keystone/README.md b/roles/openstack_helm_keystone/README.md
deleted file mode 100644
index 4398a41..0000000
--- a/roles/openstack_helm_keystone/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_keystone`
diff --git a/roles/openstack_helm_keystone/defaults/main.yml b/roles/openstack_helm_keystone/defaults/main.yml
deleted file mode 100644
index c389aad..0000000
--- a/roles/openstack_helm_keystone/defaults/main.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_keystone_helm_release_name: keystone
-openstack_helm_keystone_helm_chart_path: "{{ role_path }}/../../charts/keystone/"
-openstack_helm_keystone_helm_chart_ref: /usr/local/src/keystone
-
-openstack_helm_keystone_helm_release_namespace: openstack
-openstack_helm_keystone_helm_values: {}
-
-# List of annotations to apply to the Ingress
-openstack_helm_keystone_ingress_annotations: {}
diff --git a/roles/openstack_helm_magnum/README.md b/roles/openstack_helm_magnum/README.md
deleted file mode 100644
index d4cf7d3..0000000
--- a/roles/openstack_helm_magnum/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_magnum`
diff --git a/roles/openstack_helm_neutron/README.md b/roles/openstack_helm_neutron/README.md
deleted file mode 100644
index 3a0c2e0..0000000
--- a/roles/openstack_helm_neutron/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_neutron`
diff --git a/roles/openstack_helm_neutron/defaults/main.yml b/roles/openstack_helm_neutron/defaults/main.yml
deleted file mode 100644
index 619284d..0000000
--- a/roles/openstack_helm_neutron/defaults/main.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_neutron_helm_release_name: neutron
-openstack_helm_neutron_helm_chart_path: "{{ role_path }}/../../charts/neutron/"
-openstack_helm_neutron_helm_chart_ref: /usr/local/src/neutron
-
-openstack_helm_neutron_helm_release_namespace: openstack
-openstack_helm_neutron_helm_values: {}
-
-# List of networks to provision inside OpenStack
-openstack_helm_neutron_networks: []
-
-# List of annotations to apply to the Ingress
-openstack_helm_neutron_ingress_annotations: {}
diff --git a/roles/openstack_helm_nova/README.md b/roles/openstack_helm_nova/README.md
deleted file mode 100644
index 56596c0..0000000
--- a/roles/openstack_helm_nova/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_nova`
diff --git a/roles/openstack_helm_octavia/README.md b/roles/openstack_helm_octavia/README.md
deleted file mode 100644
index e463264..0000000
--- a/roles/openstack_helm_octavia/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_octavia`
diff --git a/roles/openstack_helm_octavia/defaults/main.yml b/roles/openstack_helm_octavia/defaults/main.yml
deleted file mode 100644
index df77075..0000000
--- a/roles/openstack_helm_octavia/defaults/main.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_octavia_helm_release_name: octavia
-openstack_helm_octavia_helm_chart_path: "{{ role_path }}/../../charts/octavia/"
-openstack_helm_octavia_helm_chart_ref: /usr/local/src/octavia
-
-openstack_helm_octavia_helm_release_namespace: openstack
-openstack_helm_octavia_helm_values: {}
-
-# List of annotations to apply to the Ingress
-openstack_helm_octavia_ingress_annotations: {}
-
-# Heartbeat key
-openstack_helm_octavia_heartbeat_key: "{{ undef(hint='You must specify a Octavia heartbeat key') }}"
-
-# Octavia management subnet (CIDR)
-openstack_helm_octavia_management_subnet_cidr: "172.24.0.0/22"
-
-# Octavia amphora image url
-openstack_helm_octavia_amphora_image_url: "https://tarballs.opendev.org/openstack/octavia/test-images/test-only-amphora-x64-haproxy-ubuntu-focal.qcow2"
diff --git a/roles/openstack_helm_placement/README.md b/roles/openstack_helm_placement/README.md
deleted file mode 100644
index 5ac0e93..0000000
--- a/roles/openstack_helm_placement/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_placement`
diff --git a/roles/openstack_helm_placement/defaults/main.yml b/roles/openstack_helm_placement/defaults/main.yml
deleted file mode 100644
index b6512e1..0000000
--- a/roles/openstack_helm_placement/defaults/main.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_placement_helm_release_name: placement
-openstack_helm_placement_helm_chart_path: "{{ role_path }}/../../charts/placement/"
-openstack_helm_placement_helm_chart_ref: /usr/local/src/placement
-
-openstack_helm_placement_helm_release_namespace: openstack
-openstack_helm_placement_helm_values: {}
-
-# List of annotations to apply to the Ingress
-openstack_helm_placement_ingress_annotations: {}
diff --git a/roles/openstack_helm_senlin/README.md b/roles/openstack_helm_senlin/README.md
deleted file mode 100644
index 579597d..0000000
--- a/roles/openstack_helm_senlin/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_senlin`
diff --git a/roles/openstack_helm_senlin/defaults/main.yml b/roles/openstack_helm_senlin/defaults/main.yml
deleted file mode 100644
index a628365..0000000
--- a/roles/openstack_helm_senlin/defaults/main.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2023 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.
-
-openstack_helm_senlin_helm_release_name: senlin
-openstack_helm_senlin_helm_chart_path: "{{ role_path }}/../../charts/senlin/"
-openstack_helm_senlin_helm_chart_ref: /usr/local/src/senlin
-
-openstack_helm_senlin_helm_release_namespace: openstack
-openstack_helm_senlin_helm_values: {}
-
-openstack_helm_senlin_ingress_annotations: {}
diff --git a/roles/openstack_helm_tempest/README.md b/roles/openstack_helm_tempest/README.md
deleted file mode 100644
index fc51b4b..0000000
--- a/roles/openstack_helm_tempest/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# `openstack_helm_tempest`
diff --git a/roles/openstack_helm_tempest/tasks/main.yml b/roles/openstack_helm_tempest/tasks/main.yml
deleted file mode 100644
index e0e5dd6..0000000
--- a/roles/openstack_helm_tempest/tasks/main.yml
+++ /dev/null
@@ -1,115 +0,0 @@
-# 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.
-
-- name: Generate OpenStack-Helm endpoints
- ansible.builtin.include_role:
- name: openstack_helm_endpoints
- vars:
- openstack_helm_endpoints_chart: tempest
-
-- name: Configure tempest
- block:
- - name: Get test image object
- openstack.cloud.image_info:
- cloud: atmosphere
- image: cirros
- register: _openstack_helm_tempest_test_image
- when: openstack_helm_tempest_helm_values.conf.tempest.compute.image_ref is not defined
-
- - name: Configure test image ref
- ansible.builtin.set_fact:
- openstack_helm_tempest_helm_values: "{{ openstack_helm_tempest_helm_values | default({}) | combine({item.key: item.value}, recursive=True) }}"
- with_dict:
- conf:
- tempest:
- compute:
- image_ref: "{{ _openstack_helm_tempest_test_image.openstack_image.id }}"
- when:
- - openstack_helm_tempest_helm_values.conf.tempest.compute.image_ref is not defined
- - _openstack_helm_tempest_test_image.openstack_image.id is defined
-
- - name: Get test flavor object
- openstack.cloud.compute_flavor_info:
- cloud: atmosphere
- name: m1.tiny
- register: _openstack_helm_tempest_test_flavor
- when: openstack_helm_tempest_helm_values.conf.tempest.compute.flavor_ref is not defined
-
- - name: Set test flavor ref
- ansible.builtin.set_fact:
- openstack_helm_tempest_helm_values: "{{ openstack_helm_tempest_helm_values | default({}) | combine({item.key: item.value}, recursive=True) }}"
- with_dict:
- conf:
- tempest:
- compute:
- flavor_ref: "{{ _openstack_helm_tempest_test_flavor.openstack_flavors[0].id }}"
- when:
- - openstack_helm_tempest_helm_values.conf.tempest.compute.flavor_ref is not defined
- - _openstack_helm_tempest_test_flavor.openstack_flavors[0].id is defined
-
- - name: Get test network object
- openstack.cloud.networks_info:
- cloud: atmosphere
- name: public
- register: _openstack_helm_tempest_test_network
- when: openstack_helm_tempest_helm_values.conf.tempest.network.public_network_id is not defined
-
- - name: Set test network ref
- ansible.builtin.set_fact:
- openstack_helm_tempest_helm_values: "{{ openstack_helm_tempest_helm_values | default({}) | combine({item.key: item.value}, recursive=True) }}"
- with_dict:
- conf:
- tempest:
- network:
- public_network_id: "{{ _openstack_helm_tempest_test_network.openstack_networks[0].id }}"
- when:
- - openstack_helm_tempest_helm_values.conf.tempest.network.public_network_id is not defined
- - _openstack_helm_tempest_test_network.openstack_networks[0].id is defined
-
-- name: Deploy Helm chart
- failed_when: false
- run_once: true
- kubernetes.core.helm:
- name: "{{ openstack_helm_tempest_helm_release_name }}"
- chart_ref: "{{ openstack_helm_tempest_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_tempest_helm_release_namespace }}"
- kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_tempest_helm_values | combine(openstack_helm_tempest_helm_values, recursive=True) }}"
- wait: true
- wait_timeout: 20m
-
-- name: Get tempest job object
- kubernetes.core.k8s_info:
- api_version: batch/v1
- kind: Job
- name: tempest-run-tests
- namespace: openstack
- register: _tempest_job_obj
-
-- name: Get tempest log
- kubernetes.core.k8s_log:
- namespace: openstack
- label_selectors:
- - job-name=tempest-run-tests
- register: _tempest_log
-
-- name: Print tempest log details
- ansible.builtin.debug:
- msg: "{{ _tempest_log.log_lines }}"
-
-- name: Fail when tempest result is failed
- ansible.builtin.fail:
- msg: "Tempest failed!"
- when: _tempest_job_obj.resources[0]['status']['succeeded'] is not defined or
- _tempest_job_obj.resources[0]['status']['succeeded'] != 1
diff --git a/roles/openvswitch/README.md b/roles/openvswitch/README.md
new file mode 100644
index 0000000..481d385
--- /dev/null
+++ b/roles/openvswitch/README.md
@@ -0,0 +1 @@
+# `openvswitch`
diff --git a/roles/openstack_helm_tempest/defaults/main.yml b/roles/openvswitch/defaults/main.yml
similarity index 66%
copy from roles/openstack_helm_tempest/defaults/main.yml
copy to roles/openvswitch/defaults/main.yml
index b07578a..f20e412 100644
--- a/roles/openstack_helm_tempest/defaults/main.yml
+++ b/roles/openvswitch/defaults/main.yml
@@ -12,9 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_tempest_helm_release_name: tempest
-openstack_helm_tempest_helm_chart_path: "{{ role_path }}/../../charts/tempest/"
-openstack_helm_tempest_helm_chart_ref: /usr/local/src/tempest
+openvswitch_helm_release_name: openvswitch
+openvswitch_helm_chart_path: "{{ role_path }}/../../charts/openvswitch/"
+openvswitch_helm_chart_ref: /usr/local/src/openvswitch
-openstack_helm_tempest_helm_release_namespace: openstack
-openstack_helm_tempest_helm_values: {}
+openvswitch_helm_release_namespace: openstack
+openvswitch_helm_values: {}
diff --git a/roles/openstack_helm_infra_openvswitch/meta/main.yml b/roles/openvswitch/meta/main.yml
similarity index 84%
rename from roles/openstack_helm_infra_openvswitch/meta/main.yml
rename to roles/openvswitch/meta/main.yml
index 0f2764e..3e62a92 100644
--- a/roles/openstack_helm_infra_openvswitch/meta/main.yml
+++ b/roles/openvswitch/meta/main.yml
@@ -30,5 +30,5 @@
openstack_helm_endpoints_chart: openvswitch
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_infra_openvswitch_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_infra_openvswitch_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ openvswitch_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ openvswitch_helm_chart_ref }}"
diff --git a/roles/openstack_helm_infra_libvirt/tasks/main.yml b/roles/openvswitch/tasks/main.yml
similarity index 65%
copy from roles/openstack_helm_infra_libvirt/tasks/main.yml
copy to roles/openvswitch/tasks/main.yml
index e347c21..908b004 100644
--- a/roles/openstack_helm_infra_libvirt/tasks/main.yml
+++ b/roles/openvswitch/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_infra_libvirt_helm_release_name }}"
- namespace: "{{ openstack_helm_infra_libvirt_helm_release_namespace }}"
+ name: "{{ openvswitch_helm_release_name }}"
+ namespace: "{{ openvswitch_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,15 +31,15 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_infra_libvirt_helm_release_name }}"
- namespace: "{{ openstack_helm_infra_libvirt_helm_release_namespace }}"
+ name: "{{ openvswitch_helm_release_name }}"
+ namespace: "{{ openvswitch_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_infra_libvirt_helm_release_name }}"
- chart_ref: "{{ openstack_helm_infra_libvirt_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_infra_libvirt_helm_release_namespace }}"
+ name: "{{ openvswitch_helm_release_name }}"
+ chart_ref: "{{ openvswitch_helm_chart_ref }}"
+ release_namespace: "{{ openvswitch_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_infra_libvirt_helm_values | combine(openstack_helm_infra_libvirt_helm_values, recursive=True) }}"
+ values: "{{ _openvswitch_helm_values | combine(openvswitch_helm_values, recursive=True) }}"
diff --git a/roles/openstack_helm_infra_openvswitch/vars/main.yml b/roles/openvswitch/vars/main.yml
similarity index 93%
rename from roles/openstack_helm_infra_openvswitch/vars/main.yml
rename to roles/openvswitch/vars/main.yml
index ef74425..74874f3 100644
--- a/roles/openstack_helm_infra_openvswitch/vars/main.yml
+++ b/roles/openvswitch/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_infra_openvswitch_helm_values:
+_openvswitch_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('openvswitch') }}"
diff --git a/roles/placement/README.md b/roles/placement/README.md
new file mode 100644
index 0000000..7fd6e6f
--- /dev/null
+++ b/roles/placement/README.md
@@ -0,0 +1 @@
+# `placement`
diff --git a/roles/openstack_helm_cinder/defaults/main.yml b/roles/placement/defaults/main.yml
similarity index 65%
rename from roles/openstack_helm_cinder/defaults/main.yml
rename to roles/placement/defaults/main.yml
index acb7a8a..c0625df 100644
--- a/roles/openstack_helm_cinder/defaults/main.yml
+++ b/roles/placement/defaults/main.yml
@@ -12,12 +12,12 @@
# License for the specific language governing permissions and limitations
# under the License.
-openstack_helm_cinder_helm_release_name: cinder
-openstack_helm_cinder_helm_chart_path: "{{ role_path }}/../../charts/cinder/"
-openstack_helm_cinder_helm_chart_ref: /usr/local/src/cinder
+placement_helm_release_name: placement
+placement_helm_chart_path: "{{ role_path }}/../../charts/placement/"
+placement_helm_chart_ref: /usr/local/src/placement
-openstack_helm_cinder_helm_release_namespace: openstack
-openstack_helm_cinder_helm_values: {}
+placement_helm_release_namespace: openstack
+placement_helm_values: {}
# List of annotations to apply to the Ingress
-openstack_helm_cinder_ingress_annotations: {}
+placement_ingress_annotations: {}
diff --git a/roles/openstack_helm_placement/meta/main.yml b/roles/placement/meta/main.yml
similarity index 85%
rename from roles/openstack_helm_placement/meta/main.yml
rename to roles/placement/meta/main.yml
index 006d1da..47265b3 100644
--- a/roles/openstack_helm_placement/meta/main.yml
+++ b/roles/placement/meta/main.yml
@@ -30,5 +30,5 @@
openstack_helm_endpoints_chart: placement
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_placement_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_placement_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ placement_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ placement_helm_chart_ref }}"
diff --git a/roles/openstack_helm_placement/tasks/main.yml b/roles/placement/tasks/main.yml
similarity index 69%
rename from roles/openstack_helm_placement/tasks/main.yml
rename to roles/placement/tasks/main.yml
index f4c850e..d338ebe 100644
--- a/roles/openstack_helm_placement/tasks/main.yml
+++ b/roles/placement/tasks/main.yml
@@ -23,8 +23,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_placement_helm_release_name }}"
- namespace: "{{ openstack_helm_placement_helm_release_namespace }}"
+ name: "{{ placement_helm_release_name }}"
+ namespace: "{{ placement_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -34,18 +34,18 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_placement_helm_release_name }}"
- namespace: "{{ openstack_helm_placement_helm_release_namespace }}"
+ name: "{{ placement_helm_release_name }}"
+ namespace: "{{ placement_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_placement_helm_release_name }}"
- chart_ref: "{{ openstack_helm_placement_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_placement_helm_release_namespace }}"
+ name: "{{ placement_helm_release_name }}"
+ chart_ref: "{{ placement_helm_chart_ref }}"
+ release_namespace: "{{ placement_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_placement_helm_values | combine(openstack_helm_placement_helm_values, recursive=True) }}"
+ values: "{{ _placement_helm_values | combine(placement_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -54,4 +54,4 @@
openstack_helm_ingress_endpoint: placement
openstack_helm_ingress_service_name: placement-api
openstack_helm_ingress_service_port: 8778
- openstack_helm_ingress_annotations: "{{ openstack_helm_placement_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ placement_ingress_annotations }}"
diff --git a/roles/openstack_helm_placement/vars/main.yml b/roles/placement/vars/main.yml
similarity index 95%
rename from roles/openstack_helm_placement/vars/main.yml
rename to roles/placement/vars/main.yml
index 0dca580..322a0ba 100644
--- a/roles/openstack_helm_placement/vars/main.yml
+++ b/roles/placement/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_placement_helm_values:
+_placement_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('placement') }}"
diff --git a/roles/senlin/README.md b/roles/senlin/README.md
new file mode 100644
index 0000000..8714a46
--- /dev/null
+++ b/roles/senlin/README.md
@@ -0,0 +1 @@
+# `senlin`
diff --git a/roles/openstack_helm_infra_openvswitch/vars/main.yml b/roles/senlin/defaults/main.yml
similarity index 66%
copy from roles/openstack_helm_infra_openvswitch/vars/main.yml
copy to roles/senlin/defaults/main.yml
index ef74425..715dd37 100644
--- a/roles/openstack_helm_infra_openvswitch/vars/main.yml
+++ b/roles/senlin/defaults/main.yml
@@ -1,4 +1,4 @@
-# Copyright (c) 2022 VEXXHOST, Inc.
+# Copyright (c) 2023 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
@@ -12,7 +12,11 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_infra_openvswitch_helm_values:
- endpoints: "{{ openstack_helm_endpoints }}"
- images:
- tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('openvswitch') }}"
+senlin_helm_release_name: senlin
+senlin_helm_chart_path: "{{ role_path }}/../../charts/senlin/"
+senlin_helm_chart_ref: /usr/local/src/senlin
+
+senlin_helm_release_namespace: openstack
+senlin_helm_values: {}
+
+senlin_ingress_annotations: {}
diff --git a/roles/openstack_helm_senlin/meta/main.yml b/roles/senlin/meta/main.yml
similarity index 86%
rename from roles/openstack_helm_senlin/meta/main.yml
rename to roles/senlin/meta/main.yml
index 866b729..aa4500c 100644
--- a/roles/openstack_helm_senlin/meta/main.yml
+++ b/roles/senlin/meta/main.yml
@@ -31,5 +31,5 @@
openstack_helm_endpoints_chart: senlin
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_senlin_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_senlin_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ senlin_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ senlin_helm_chart_ref }}"
diff --git a/roles/openstack_helm_senlin/tasks/main.yml b/roles/senlin/tasks/main.yml
similarity index 68%
rename from roles/openstack_helm_senlin/tasks/main.yml
rename to roles/senlin/tasks/main.yml
index 8d90d49..673d308 100644
--- a/roles/openstack_helm_senlin/tasks/main.yml
+++ b/roles/senlin/tasks/main.yml
@@ -20,8 +20,8 @@
state: patched
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_senlin_helm_release_name }}"
- namespace: "{{ openstack_helm_senlin_helm_release_namespace }}"
+ name: "{{ senlin_helm_release_name }}"
+ namespace: "{{ senlin_helm_release_namespace }}"
definition:
spec:
suspend: true
@@ -31,18 +31,18 @@
state: absent
api_version: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
- name: "{{ openstack_helm_senlin_helm_release_name }}"
- namespace: "{{ openstack_helm_senlin_helm_release_namespace }}"
+ name: "{{ senlin_helm_release_name }}"
+ namespace: "{{ senlin_helm_release_namespace }}"
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
- name: "{{ openstack_helm_senlin_helm_release_name }}"
- chart_ref: "{{ openstack_helm_senlin_helm_chart_ref }}"
- release_namespace: "{{ openstack_helm_senlin_helm_release_namespace }}"
+ name: "{{ senlin_helm_release_name }}"
+ chart_ref: "{{ senlin_helm_chart_ref }}"
+ release_namespace: "{{ senlin_helm_release_namespace }}"
create_namespace: true
kubeconfig: /etc/kubernetes/admin.conf
- values: "{{ _openstack_helm_senlin_helm_values | combine(openstack_helm_senlin_helm_values, recursive=True) }}"
+ values: "{{ _senlin_helm_values | combine(senlin_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
@@ -51,4 +51,4 @@
openstack_helm_ingress_endpoint: clustering
openstack_helm_ingress_service_name: senlin-api
openstack_helm_ingress_service_port: 8778
- openstack_helm_ingress_annotations: "{{ openstack_helm_senlin_ingress_annotations }}"
+ openstack_helm_ingress_annotations: "{{ senlin_ingress_annotations }}"
diff --git a/roles/openstack_helm_senlin/vars/main.yml b/roles/senlin/vars/main.yml
similarity index 96%
rename from roles/openstack_helm_senlin/vars/main.yml
rename to roles/senlin/vars/main.yml
index eba58b5..6f62432 100644
--- a/roles/openstack_helm_senlin/vars/main.yml
+++ b/roles/senlin/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_senlin_helm_values:
+_senlin_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('senlin') }}"
diff --git a/roles/tempest/README.md b/roles/tempest/README.md
new file mode 100644
index 0000000..430101f
--- /dev/null
+++ b/roles/tempest/README.md
@@ -0,0 +1 @@
+# `tempest`
diff --git a/roles/openstack_helm_infra_openvswitch/vars/main.yml b/roles/tempest/defaults/main.yml
similarity index 68%
copy from roles/openstack_helm_infra_openvswitch/vars/main.yml
copy to roles/tempest/defaults/main.yml
index ef74425..59872db 100644
--- a/roles/openstack_helm_infra_openvswitch/vars/main.yml
+++ b/roles/tempest/defaults/main.yml
@@ -1,4 +1,4 @@
-# Copyright (c) 2022 VEXXHOST, Inc.
+# Copyright (c) 2023 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
@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_infra_openvswitch_helm_values:
- endpoints: "{{ openstack_helm_endpoints }}"
- images:
- tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('openvswitch') }}"
+tempest_helm_release_name: tempest
+tempest_helm_chart_path: "{{ role_path }}/../../charts/tempest/"
+tempest_helm_chart_ref: /usr/local/src/tempest
+
+tempest_helm_release_namespace: openstack
+tempest_helm_values: {}
diff --git a/roles/openstack_helm_tempest/meta/main.yml b/roles/tempest/meta/main.yml
similarity index 86%
rename from roles/openstack_helm_tempest/meta/main.yml
rename to roles/tempest/meta/main.yml
index 32c7ae6..0c51f46 100644
--- a/roles/openstack_helm_tempest/meta/main.yml
+++ b/roles/tempest/meta/main.yml
@@ -31,5 +31,5 @@
openstack_helm_endpoints_chart: tempest
- role: upload_helm_chart
vars:
- upload_helm_chart_src: "{{ openstack_helm_tempest_helm_chart_path }}"
- upload_helm_chart_dest: "{{ openstack_helm_tempest_helm_chart_ref }}"
+ upload_helm_chart_src: "{{ tempest_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ tempest_helm_chart_ref }}"
diff --git a/roles/tempest/tasks/main.yml b/roles/tempest/tasks/main.yml
new file mode 100644
index 0000000..3a46f9e
--- /dev/null
+++ b/roles/tempest/tasks/main.yml
@@ -0,0 +1,115 @@
+# 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.
+
+- name: Generate OpenStack-Helm endpoints
+ ansible.builtin.include_role:
+ name: openstack_helm_endpoints
+ vars:
+ openstack_helm_endpoints_chart: tempest
+
+- name: Configure tempest
+ block:
+ - name: Get test image object
+ openstack.cloud.image_info:
+ cloud: atmosphere
+ image: cirros
+ register: _tempest_test_image
+ when: tempest_helm_values.conf.tempest.compute.image_ref is not defined
+
+ - name: Configure test image ref
+ ansible.builtin.set_fact:
+ tempest_helm_values: "{{ tempest_helm_values | default({}) | combine({item.key: item.value}, recursive=True) }}"
+ with_dict:
+ conf:
+ tempest:
+ compute:
+ image_ref: "{{ _tempest_test_image.openstack_image.id }}"
+ when:
+ - tempest_helm_values.conf.tempest.compute.image_ref is not defined
+ - _tempest_test_image.openstack_image.id is defined
+
+ - name: Get test flavor object
+ openstack.cloud.compute_flavor_info:
+ cloud: atmosphere
+ name: m1.tiny
+ register: _tempest_test_flavor
+ when: tempest_helm_values.conf.tempest.compute.flavor_ref is not defined
+
+ - name: Set test flavor ref
+ ansible.builtin.set_fact:
+ tempest_helm_values: "{{ tempest_helm_values | default({}) | combine({item.key: item.value}, recursive=True) }}"
+ with_dict:
+ conf:
+ tempest:
+ compute:
+ flavor_ref: "{{ _tempest_test_flavor.openstack_flavors[0].id }}"
+ when:
+ - tempest_helm_values.conf.tempest.compute.flavor_ref is not defined
+ - _tempest_test_flavor.openstack_flavors[0].id is defined
+
+ - name: Get test network object
+ openstack.cloud.networks_info:
+ cloud: atmosphere
+ name: public
+ register: _tempest_test_network
+ when: tempest_helm_values.conf.tempest.network.public_network_id is not defined
+
+ - name: Set test network ref
+ ansible.builtin.set_fact:
+ tempest_helm_values: "{{ tempest_helm_values | default({}) | combine({item.key: item.value}, recursive=True) }}"
+ with_dict:
+ conf:
+ tempest:
+ network:
+ public_network_id: "{{ _tempest_test_network.openstack_networks[0].id }}"
+ when:
+ - tempest_helm_values.conf.tempest.network.public_network_id is not defined
+ - _tempest_test_network.openstack_networks[0].id is defined
+
+- name: Deploy Helm chart
+ failed_when: false
+ run_once: true
+ kubernetes.core.helm:
+ name: "{{ tempest_helm_release_name }}"
+ chart_ref: "{{ tempest_helm_chart_ref }}"
+ release_namespace: "{{ tempest_helm_release_namespace }}"
+ kubeconfig: /etc/kubernetes/admin.conf
+ values: "{{ _tempest_helm_values | combine(tempest_helm_values, recursive=True) }}"
+ wait: true
+ wait_timeout: 20m
+
+- name: Get tempest job object
+ kubernetes.core.k8s_info:
+ api_version: batch/v1
+ kind: Job
+ name: tempest-run-tests
+ namespace: openstack
+ register: _tempest_job_obj
+
+- name: Get tempest log
+ kubernetes.core.k8s_log:
+ namespace: openstack
+ label_selectors:
+ - job-name=tempest-run-tests
+ register: _tempest_log
+
+- name: Print tempest log details
+ ansible.builtin.debug:
+ msg: "{{ _tempest_log.log_lines }}"
+
+- name: Fail when tempest result is failed
+ ansible.builtin.fail:
+ msg: "Tempest failed!"
+ when: _tempest_job_obj.resources[0]['status']['succeeded'] is not defined or
+ _tempest_job_obj.resources[0]['status']['succeeded'] != 1
diff --git a/roles/openstack_helm_tempest/vars/main.yml b/roles/tempest/vars/main.yml
similarity index 97%
rename from roles/openstack_helm_tempest/vars/main.yml
rename to roles/tempest/vars/main.yml
index d7ec1f5..36a641b 100644
--- a/roles/openstack_helm_tempest/vars/main.yml
+++ b/roles/tempest/vars/main.yml
@@ -12,7 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_tempest_helm_values:
+_tempest_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('tempest') }}"