fix(manila): use ansible to create resources
diff --git a/roles/manila/defaults/main.yml b/roles/manila/defaults/main.yml
index d1dee4d..aaaf37d 100644
--- a/roles/manila/defaults/main.yml
+++ b/roles/manila/defaults/main.yml
@@ -21,3 +21,15 @@
# List of annotations to apply to the Ingress
manila_ingress_annotations: {}
+
+# Service instance flavor
+manila_flavor_name: m1.manila
+manila_flavor_vcpus: 2
+manila_flavor_ram: 2048
+manila_flavor_disk: 0
+
+# Service instance Image
+manila_image_name: manila-service-image
+manila_image_url: https://tarballs.opendev.org/openstack/manila-image-elements/images/manila-service-image-master.qcow2
+manila_image_container_format: bare
+manila_image_disk_format: raw
diff --git a/roles/manila/meta/main.yml b/roles/manila/meta/main.yml
index dfa384e..38e71af 100644
--- a/roles/manila/meta/main.yml
+++ b/roles/manila/meta/main.yml
@@ -25,6 +25,7 @@
dependencies:
- role: defaults
+ - role: openstacksdk
- role: openstack_helm_endpoints
vars:
openstack_helm_endpoints_chart: manila
diff --git a/roles/manila/tasks/generate_resources.yml b/roles/manila/tasks/generate_resources.yml
new file mode 100644
index 0000000..b3969ac
--- /dev/null
+++ b/roles/manila/tasks/generate_resources.yml
@@ -0,0 +1,33 @@
+# 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.
+
+- name: Create flavor
+ run_once: true
+ openstack.cloud.compute_flavor:
+ cloud: atmosphere
+ name: "{{ manila_flavor_name }}"
+ vcpus: "{{ manila_flavor_vcpus }}"
+ ram: "{{ manila_flavor_ram }}"
+ disk: "{{ manila_flavor_disk }}"
+ is_public: false
+ register: _manila_flavor
+
+- name: Upload service image
+ ansible.builtin.include_role:
+ name: glance_image
+ vars:
+ glance_image_name: "{{ manila_image_name }}"
+ glance_image_url: "{{ manila_image_url }}"
+ glance_image_container_format: "{{ manila_image_container_format }}"
+ glance_image_disk_format: "{{ manila_image_disk_format }}"
diff --git a/roles/manila/tasks/main.yml b/roles/manila/tasks/main.yml
index d6dad1c..067a66a 100644
--- a/roles/manila/tasks/main.yml
+++ b/roles/manila/tasks/main.yml
@@ -12,6 +12,10 @@
# License for the specific language governing permissions and limitations
# under the License.
+- name: Generate resources
+ ansible.builtin.import_tasks:
+ file: generate_resources.yml
+
- name: Deploy Helm chart
run_once: true
kubernetes.core.helm:
diff --git a/roles/manila/vars/main.yml b/roles/manila/vars/main.yml
index abd6e41..456d41b 100644
--- a/roles/manila/vars/main.yml
+++ b/roles/manila/vars/main.yml
@@ -19,14 +19,9 @@
pod:
replicas:
api: 3
- data: 3
scheduler: 3
- share: 3
- conf:
- manila:
- oslo_messaging_notifications:
- driver: noop
-
+ bootstrap:
+ enabled: false
dependencies:
static:
share:
@@ -35,7 +30,17 @@
labels:
application: openvswitch
component: server
-
+ conf:
+ manila:
+ DEFAULT:
+ host: manila-share-worker
+ generic:
+ connect_share_server_to_tenant_network: true
+ limit_ssh_access: true
+ service_image_name: "{{ manila_image_name }}"
+ service_instance_flavor_id: "{{ _manila_flavor.id }}"
+ oslo_messaging_no tifications:
+ driver: noop
manifests:
ingress_api: false
service_ingress_api: false