chore: move senlin to offline-install
diff --git a/roles/openstack_helm_senlin/defaults/main.yml b/roles/openstack_helm_senlin/defaults/main.yml
index dab1fdf..a628365 100644
--- a/roles/openstack_helm_senlin/defaults/main.yml
+++ b/roles/openstack_helm_senlin/defaults/main.yml
@@ -1,25 +1,22 @@
----
-# .. vim: foldmarker=[[[,]]]:foldmethod=marker
-
-# .. Copyright (C) 2022 VEXXHOST, Inc.
-# .. SPDX-License-Identifier: Apache-2.0
-
-# Default variables
-# =================
-
-# .. contents:: Sections
-# :local:
-
-
-# .. envvar:: openstack_helm_senlin_values [[[
+# Copyright (c) 2023 VEXXHOST, Inc.
#
-# Overrides for Helm chart values
-openstack_helm_senlin_values: {}
-
- # ]]]
-# .. envvar:: openstack_helm_senlin_ingress_annotations [[[
+# 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
#
-# Ingress annotations
+# 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_senlin/meta/main.yml b/roles/openstack_helm_senlin/meta/main.yml
index e57f280..866b729 100644
--- a/roles/openstack_helm_senlin/meta/main.yml
+++ b/roles/openstack_helm_senlin/meta/main.yml
@@ -25,4 +25,11 @@
dependencies:
- role: defaults
- - role: atmosphere
+ - role: openstack_helm_endpoints
+ vars:
+ openstack_helm_endpoints_repo_name: openstack-helm
+ 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 }}"
diff --git a/roles/openstack_helm_senlin/tasks/main.yml b/roles/openstack_helm_senlin/tasks/main.yml
index 6b8011a..8d90d49 100644
--- a/roles/openstack_helm_senlin/tasks/main.yml
+++ b/roles/openstack_helm_senlin/tasks/main.yml
@@ -12,45 +12,37 @@
# 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: senlin
+- 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_senlin_helm_release_name }}"
+ namespace: "{{ openstack_helm_senlin_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_senlin_helm_release_name }}"
+ namespace: "{{ openstack_helm_senlin_helm_release_namespace }}"
- name: Deploy Helm chart
- kubernetes.core.k8s:
- state: present
- definition:
- - apiVersion: v1
- kind: Secret
- metadata:
- name: atmosphere-senlin
- namespace: openstack
- stringData:
- values.yaml: "{{ _openstack_helm_senlin_values | to_nice_yaml }}"
-
- - apiVersion: helm.toolkit.fluxcd.io/v2beta1
- kind: HelmRelease
- metadata:
- name: senlin
- namespace: openstack
- spec:
- interval: 60s
- chart:
- spec:
- chart: senlin
- version: 0.2.6
- sourceRef:
- kind: HelmRepository
- name: openstack-helm
- install:
- disableWait: true
- upgrade:
- disableWait: true
- valuesFrom:
- - kind: Secret
- name: atmosphere-senlin
+ 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 }}"
+ create_namespace: true
+ kubeconfig: /etc/kubernetes/admin.conf
+ values: "{{ _openstack_helm_senlin_helm_values | combine(openstack_helm_senlin_helm_values, recursive=True) }}"
- name: Create Ingress
ansible.builtin.include_role:
diff --git a/roles/openstack_helm_senlin/vars/main.yml b/roles/openstack_helm_senlin/vars/main.yml
index 5c68d46..be96bf8 100644
--- a/roles/openstack_helm_senlin/vars/main.yml
+++ b/roles/openstack_helm_senlin/vars/main.yml
@@ -12,8 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-_openstack_helm_senlin_values: "{{ __openstack_helm_senlin_values | combine(openstack_helm_senlin_values, recursive=True) }}"
-__openstack_helm_senlin_values:
+_openstack_helm_senlin_helm_values:
endpoints: "{{ openstack_helm_endpoints }}"
images:
pull_policy: Always