From 92ff95589ce636a48e09b75a04e905ff8411741e Mon Sep 17 00:00:00 2001
From: Vladimir Kozhukalov <kozhukalov@gmail.com>
Date: Tue, 25 Feb 2025 17:38:19 -0600
Subject: [PATCH] Retire senlin chart

The Senlin project is retired and there has been
little interest in Senlin chart.

Change-Id: Ib7d97bf24eec7b8fde6cf80744c839f77714beb8
---
 doc/source/chart/index.rst                    |   1 -
 rally/templates/configmap-tasks.yaml          |   2 -
 rally/values.yaml                             |  32 -
 releasenotes/config.yaml                      |   1 -
 releasenotes/notes/senlin.yaml                |  22 -
 senlin/Chart.yaml                             |  29 -
 senlin/templates/bin/_bootstrap.sh.tpl        |  18 -
 senlin/templates/bin/_db-sync.sh.tpl          |  19 -
 senlin/templates/bin/_senlin-api.sh.tpl       |  28 -
 senlin/templates/bin/_senlin-conductor.sh.tpl |  19 -
 .../bin/_senlin-engine-cleaner.sh.tpl         |  19 -
 senlin/templates/bin/_senlin-engine.sh.tpl    |  19 -
 .../bin/_senlin-health-manager.sh.tpl         |  19 -
 senlin/templates/bin/_senlin-test.sh.tpl      | 139 ----
 senlin/templates/configmap-bin.yaml           |  58 --
 senlin/templates/configmap-etc.yaml           | 118 ---
 senlin/templates/cron-job-engine-cleaner.yaml |  91 ---
 senlin/templates/deployment-api.yaml          | 131 ----
 senlin/templates/deployment-conductor.yaml    | 103 ---
 senlin/templates/deployment-engine.yaml       | 100 ---
 .../templates/deployment-health-manager.yaml  | 103 ---
 senlin/templates/ingress-api.yaml             |  18 -
 senlin/templates/job-bootstrap.yaml           |  18 -
 senlin/templates/job-db-drop.yaml             |  18 -
 senlin/templates/job-db-init.yaml             |  26 -
 senlin/templates/job-db-sync.yaml             |  26 -
 senlin/templates/job-image-repo-sync.yaml     |  25 -
 senlin/templates/job-ks-endpoints.yaml        |  26 -
 senlin/templates/job-ks-service.yaml          |  26 -
 senlin/templates/job-ks-user.yaml             |  26 -
 senlin/templates/job-rabbit-init.yaml         |  26 -
 senlin/templates/network_policy.yaml          |  16 -
 senlin/templates/pdb-api.yaml                 |  27 -
 senlin/templates/pod-test.yaml                |  65 --
 senlin/templates/secret-db.yaml               |  30 -
 senlin/templates/secret-keystone.yaml         |  30 -
 senlin/templates/secret-rabbitmq.yaml         |  30 -
 senlin/templates/secret-registry.yaml         |  17 -
 senlin/templates/service-api.yaml             |  34 -
 senlin/templates/service-ingress-api.yaml     |  18 -
 senlin/values.yaml                            | 738 ------------------
 tools/deployment/component/senlin/senlin.sh   |  35 -
 values_overrides/keystone/netpol.yaml         |   3 -
 .../openstack/keystone/netpol.yaml            |   3 -
 .../openstack/mariadb/netpol.yaml             |   3 -
 .../openstack/memcached/netpol.yaml           |   3 -
 .../openstack/rabbitmq/netpol.yaml            |   3 -
 values_overrides/senlin/annotations.yaml      |  19 -
 48 files changed, 2380 deletions(-)
 delete mode 100644 releasenotes/notes/senlin.yaml
 delete mode 100644 senlin/Chart.yaml
 delete mode 100644 senlin/templates/bin/_bootstrap.sh.tpl
 delete mode 100644 senlin/templates/bin/_db-sync.sh.tpl
 delete mode 100644 senlin/templates/bin/_senlin-api.sh.tpl
 delete mode 100644 senlin/templates/bin/_senlin-conductor.sh.tpl
 delete mode 100644 senlin/templates/bin/_senlin-engine-cleaner.sh.tpl
 delete mode 100644 senlin/templates/bin/_senlin-engine.sh.tpl
 delete mode 100644 senlin/templates/bin/_senlin-health-manager.sh.tpl
 delete mode 100644 senlin/templates/bin/_senlin-test.sh.tpl
 delete mode 100644 senlin/templates/configmap-bin.yaml
 delete mode 100644 senlin/templates/configmap-etc.yaml
 delete mode 100644 senlin/templates/cron-job-engine-cleaner.yaml
 delete mode 100644 senlin/templates/deployment-api.yaml
 delete mode 100644 senlin/templates/deployment-conductor.yaml
 delete mode 100644 senlin/templates/deployment-engine.yaml
 delete mode 100644 senlin/templates/deployment-health-manager.yaml
 delete mode 100644 senlin/templates/ingress-api.yaml
 delete mode 100644 senlin/templates/job-bootstrap.yaml
 delete mode 100644 senlin/templates/job-db-drop.yaml
 delete mode 100644 senlin/templates/job-db-init.yaml
 delete mode 100644 senlin/templates/job-db-sync.yaml
 delete mode 100644 senlin/templates/job-image-repo-sync.yaml
 delete mode 100644 senlin/templates/job-ks-endpoints.yaml
 delete mode 100644 senlin/templates/job-ks-service.yaml
 delete mode 100644 senlin/templates/job-ks-user.yaml
 delete mode 100644 senlin/templates/job-rabbit-init.yaml
 delete mode 100644 senlin/templates/network_policy.yaml
 delete mode 100644 senlin/templates/pdb-api.yaml
 delete mode 100644 senlin/templates/pod-test.yaml
 delete mode 100644 senlin/templates/secret-db.yaml
 delete mode 100644 senlin/templates/secret-keystone.yaml
 delete mode 100644 senlin/templates/secret-rabbitmq.yaml
 delete mode 100644 senlin/templates/secret-registry.yaml
 delete mode 100644 senlin/templates/service-api.yaml
 delete mode 100644 senlin/templates/service-ingress-api.yaml
 delete mode 100644 senlin/values.yaml
 delete mode 100755 tools/deployment/component/senlin/senlin.sh
 delete mode 100644 values_overrides/senlin/annotations.yaml

diff --git a/doc/source/chart/index.rst b/doc/source/chart/index.rst
index 7a55d4aa71..101519d4d1 100644
--- a/doc/source/chart/index.rst
+++ b/doc/source/chart/index.rst
@@ -28,6 +28,5 @@ Here are the charts with their documented values.yaml's for OpenStack Helm:
     openstack
     placement
     rally
-    senlin
     tacker
     tempest
diff --git a/rally/templates/configmap-tasks.yaml b/rally/templates/configmap-tasks.yaml
index 8f61a72112..11fafbfa3f 100644
--- a/rally/templates/configmap-tasks.yaml
+++ b/rally/templates/configmap-tasks.yaml
@@ -38,8 +38,6 @@ data:
 {{ toYaml .Values.conf.rally_tasks.neutron_task | indent 4 }}
   nova.yaml: |
 {{ toYaml .Values.conf.rally_tasks.nova_task | indent 4 }}
-  senlin.yaml: |
-{{ toYaml .Values.conf.rally_tasks.senlin_task | indent 4 }}
   swift.yaml: |
 {{ toYaml .Values.conf.rally_tasks.swift_task | indent 4 }}
 {{- end }}
diff --git a/rally/values.yaml b/rally/values.yaml
index 38d7e8058a..e1d1aaacd2 100644
--- a/rally/values.yaml
+++ b/rally/values.yaml
@@ -52,7 +52,6 @@ enabled_tasks:
   # NOTE(alraddarla): need a network setup in the gate to fully test
   # - neutron
   - nova
-  - senlin
   # NOTE(alraddarla): not enabled
   # - swift
 
@@ -3913,37 +3912,6 @@ conf:
             concurrency: 2
             times: 10
             type: constant
-    senlin_task:
-      SenlinClusters.create_and_delete_cluster:
-        -
-          args:
-            desired_capacity: 3
-            max_size: 5
-            min_size: 0
-          context:
-            profiles:
-              properties:
-                flavor: 1
-                image: cirros-0.3.4-x86_64-uec
-                name: cirros_server
-                networks:
-                  -
-                    network: private
-              type: os.nova.server
-              version: "1.0"
-            users:
-              tenants: 1
-              users_per_tenant: 1
-            images:
-              image_url: "http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img"
-              image_name: cirros-0.6.2-x86_64-disk.img
-              image_type: qcow2
-              image_container: bare
-              images_per_tenant: 1
-          runner:
-            concurrency: 1
-            times: 3
-            type: constant
     swift_task:
       SwiftObjects.create_container_and_object_then_delete_all:
         -
diff --git a/releasenotes/config.yaml b/releasenotes/config.yaml
index e4c9176ff1..5413f37dce 100644
--- a/releasenotes/config.yaml
+++ b/releasenotes/config.yaml
@@ -20,7 +20,6 @@ sections:
   - [octavia, octavia Chart]
   - [placement, placement Chart]
   - [rally, rally Chart]
-  - [senlin, senlin Chart]
   - [tempest, tempest Chart]
   - [features, New Features]
   - [issues, Known Issues]
diff --git a/releasenotes/notes/senlin.yaml b/releasenotes/notes/senlin.yaml
deleted file mode 100644
index d518b0d38c..0000000000
--- a/releasenotes/notes/senlin.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-senlin:
-  - 0.1.0 Initial Chart
-  - 0.1.1 Change helm-toolkit dependency version to ">= 0.1.0"
-  - 0.2.0 Remove support for releases before T
-  - 0.2.1 Use policies in yaml format
-  - 0.2.2 Update htk requirements repo
-  - 0.2.3 Add conductor & health manager
-  - 0.2.4 Update default image release
-  - 0.2.5 Migrated CronJob resource to batch/v1 API version & PodDisruptionBudget to policy/v1
-  - 0.2.6 Add helm.sh/hook annotations for Jobs
-  - 0.2.7 Added OCI registry authentication
-  - 0.2.8 Remove default policy rules
-  - 0.2.9 Define service_type in keystone_authtoken to support application credentials with access rules
-  - 0.2.10 Uses uWSGI for API
-  - 0.2.11 Enable custom annotations for Openstack pods
-  - 0.2.12 Enable custom annotations for Openstack secrets
-  - 0.2.13 Update images used by default
-  - 0.2.14 Use quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_focal by default
-  - 0.2.15 Update Chart.yaml apiVersion to v2
-  - 2024.2.0 Update version to align with the Openstack release cycle
-...
diff --git a/senlin/Chart.yaml b/senlin/Chart.yaml
deleted file mode 100644
index 63a826d1cb..0000000000
--- a/senlin/Chart.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-# 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.
-
-apiVersion: v2
-appVersion: v1.0.0
-description: OpenStack-Helm Senlin
-name: senlin
-version: 2024.2.0
-home: https://docs.openstack.org/senlin/latest/
-icon: https://www.openstack.org/themes/openstack/images/project-mascots/Senlin/OpenStack_Project_Senlin_vertical.png
-sources:
-  - https://opendev.org/openstack/senlin
-  - https://opendev.org/openstack/openstack-helm
-maintainers:
-  - name: OpenStack-Helm Authors
-
-dependencies:
-  - name: helm-toolkit
-    repository: file://../../openstack-helm-infra/helm-toolkit
-    version: ">= 0.1.0"
diff --git a/senlin/templates/bin/_bootstrap.sh.tpl b/senlin/templates/bin/_bootstrap.sh.tpl
deleted file mode 100644
index 6452d0a073..0000000000
--- a/senlin/templates/bin/_bootstrap.sh.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-
-{{/*
-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.
-*/}}
-
-set -ex
-{{ .Values.bootstrap.script | default "echo 'Not Enabled'" }}
diff --git a/senlin/templates/bin/_db-sync.sh.tpl b/senlin/templates/bin/_db-sync.sh.tpl
deleted file mode 100644
index 7577969c17..0000000000
--- a/senlin/templates/bin/_db-sync.sh.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-
-{{/*
-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.
-*/}}
-
-set -ex
-
-senlin-manage db_sync
diff --git a/senlin/templates/bin/_senlin-api.sh.tpl b/senlin/templates/bin/_senlin-api.sh.tpl
deleted file mode 100644
index 88ae1c7281..0000000000
--- a/senlin/templates/bin/_senlin-api.sh.tpl
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-
-{{/*
-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.
-*/}}
-
-set -ex
-COMMAND="${@:-start}"
-
-function start () {
-  exec uwsgi --ini /etc/senlin/senlin-api-uwsgi.ini
-}
-
-function stop () {
-  kill -TERM 1
-}
-
-$COMMAND
diff --git a/senlin/templates/bin/_senlin-conductor.sh.tpl b/senlin/templates/bin/_senlin-conductor.sh.tpl
deleted file mode 100644
index ea120a6bf3..0000000000
--- a/senlin/templates/bin/_senlin-conductor.sh.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-
-{{/*
-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.
-*/}}
-
-set -ex
-exec senlin-conductor \
-      --config-file /etc/senlin/senlin.conf
\ No newline at end of file
diff --git a/senlin/templates/bin/_senlin-engine-cleaner.sh.tpl b/senlin/templates/bin/_senlin-engine-cleaner.sh.tpl
deleted file mode 100644
index a345f127e0..0000000000
--- a/senlin/templates/bin/_senlin-engine-cleaner.sh.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-
-{{/*
-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.
-*/}}
-
-set -ex
-
-senlin-manage service clean
diff --git a/senlin/templates/bin/_senlin-engine.sh.tpl b/senlin/templates/bin/_senlin-engine.sh.tpl
deleted file mode 100644
index f4ba64b750..0000000000
--- a/senlin/templates/bin/_senlin-engine.sh.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-
-{{/*
-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.
-*/}}
-
-set -ex
-exec senlin-engine \
-      --config-file /etc/senlin/senlin.conf
diff --git a/senlin/templates/bin/_senlin-health-manager.sh.tpl b/senlin/templates/bin/_senlin-health-manager.sh.tpl
deleted file mode 100644
index b19779a83d..0000000000
--- a/senlin/templates/bin/_senlin-health-manager.sh.tpl
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-
-{{/*
-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.
-*/}}
-
-set -ex
-exec senlin-health-manager \
-      --config-file /etc/senlin/senlin.conf
\ No newline at end of file
diff --git a/senlin/templates/bin/_senlin-test.sh.tpl b/senlin/templates/bin/_senlin-test.sh.tpl
deleted file mode 100644
index 7b3e26498b..0000000000
--- a/senlin/templates/bin/_senlin-test.sh.tpl
+++ /dev/null
@@ -1,139 +0,0 @@
-#!/bin/bash
-
-{{/*
-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.
-*/}}
-
-set -ex
-
-# Set defaults to use for testing.
-: ${IMAGE_ID:="$(openstack image show -f value -c id \
-  $(openstack image list -f csv | awk -F ',' '{ print $2 "," $1 }' | \
-    grep "^\"Cirros" | head -1 | awk -F ',' '{ print $2 }' | tr -d '"'))"}
-: ${FLAVOR_ID:="$(openstack flavor show m1.tiny -f value -c id)"}
-: ${NETWORK_NAME:="public"}
-: ${SUB_TIMEOUT:=1200}
-
-# Define functions to use during tests.
-function gen_uuid () {
-  cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
-}
-
-function wait_for_senlin_cluster {
-  set +x
-  end=$(($(date +%s) + ${SUB_TIMEOUT}))
-  while true; do
-      STATE=$(openstack cluster show "${1}" -f value -c status)
-      [ "x${STATE}" == "xACTIVE" ] && break
-      sleep 1
-      now=$(date +%s)
-      [ $now -gt $end ] && echo "Node did not come up in time" && openstack cluster show "${1}" && exit -1
-  done
-  set -x
-  openstack cluster show "${1}"
-}
-
-function wait_for_senlin_node {
-  set +x
-  end=$(($(date +%s) + ${SUB_TIMEOUT}))
-  while true; do
-      STATE=$(openstack cluster node show "${1}" -f value -c status)
-      [ "x${STATE}" == "xACTIVE" ] && break
-      sleep 1
-      now=$(date +%s)
-      [ $now -gt $end ] && echo "Node did not come up in time" && openstack cluster node show "${1}" && exit -1
-  done
-  set -x
-  openstack cluster node show "${1}"
-}
-
-function wait_for_senlin_profile_delete {
-  set +x
-  end=$(($(date +%s) + ${SUB_TIMEOUT}))
-  until openstack cluster profile delete "${1}" --force; do
-      sleep 1
-      now=$(date +%s)
-      [ $now -gt $end ] && echo "Profile did not delete in time" && exit -1
-  done
-  set -x
-}
-
-# Start test run.
-SENLIN_CLUSTER_PROFILE=$(gen_uuid)
-SENLIN_CLUSTER_NAME=$(gen_uuid)
-SENLIN_NODE_NAME=$(gen_uuid)
-
-# Create a cluster profile.
-tee > /tmp/cirros_basic.yaml <<EOF
-type: os.nova.server
-version: 1.0
-properties:
-  name: osh-test
-  flavor: "${FLAVOR_ID}"
-  image: "${IMAGE_ID}"
-  #key_name: oskey
-  networks:
-   - network: ${NETWORK_NAME}
-  metadata:
-    test_key: test_value
-  user_data: |
-    #!/bin/sh
-    echo 'hello, world' > /tmp/test_file
-EOF
-openstack cluster profile create --spec-file /tmp/cirros_basic.yaml "${SENLIN_CLUSTER_PROFILE}"
-
-# Create a 0 node cluster using the profile.
-# NOTE(portdirect): There is a bug in the Newton era osc/senlin client
-# interaction, so we fall back to calling senlin client directly to create
-# a cluster, before outright failing.
-openstack cluster create --profile "${SENLIN_CLUSTER_PROFILE}" "${SENLIN_CLUSTER_NAME}" || \
-  senlin cluster-create -p "${SENLIN_CLUSTER_PROFILE}" "${SENLIN_CLUSTER_NAME}" || false
-
-# Resize the cluster to contain a node.
-openstack cluster resize --capacity 1 "${SENLIN_CLUSTER_NAME}"
-wait_for_senlin_cluster "${SENLIN_CLUSTER_NAME}"
-
-# Expand the cluster by one node.
-openstack cluster expand "${SENLIN_CLUSTER_NAME}"
-wait_for_senlin_cluster "${SENLIN_CLUSTER_NAME}"
-
-# Shrink the cluster by one node.
-openstack cluster shrink "${SENLIN_CLUSTER_NAME}"
-wait_for_senlin_cluster "${SENLIN_CLUSTER_NAME}"
-
-# Create a single node using the cluster profile.
-# NOTE(portdirect): There is a bug in the Newton era osc/senlin client
-# interaction, so we fall back to calling senlin client directly to create
-# a node, before outright failing.
-openstack cluster node create --profile "${SENLIN_CLUSTER_PROFILE}" "${SENLIN_NODE_NAME}" || \
-  senlin node-create -p "${SENLIN_CLUSTER_PROFILE}" "${SENLIN_NODE_NAME}" || false
-wait_for_senlin_node "${SENLIN_NODE_NAME}"
-
-# Add the node to the cluster.
-openstack cluster members add --nodes "${SENLIN_NODE_NAME}" "${SENLIN_CLUSTER_NAME}"
-openstack cluster members list "${SENLIN_CLUSTER_NAME}"
-wait_for_senlin_cluster "${SENLIN_CLUSTER_NAME}"
-wait_for_senlin_node "${SENLIN_NODE_NAME}"
-
-# Remove the node from the cluster.
-openstack cluster members del --nodes "${SENLIN_NODE_NAME}" "${SENLIN_CLUSTER_NAME}"
-openstack cluster members list "${SENLIN_CLUSTER_NAME}"
-wait_for_senlin_cluster "${SENLIN_CLUSTER_NAME}"
-wait_for_senlin_node "${SENLIN_NODE_NAME}"
-
-# Cleanup the resources created.
-openstack cluster node delete "${SENLIN_NODE_NAME}" --force
-openstack cluster delete "${SENLIN_CLUSTER_NAME}" --force
-wait_for_senlin_profile_delete "${SENLIN_CLUSTER_PROFILE}"
-
-echo 'Tests Passed'
diff --git a/senlin/templates/configmap-bin.yaml b/senlin/templates/configmap-bin.yaml
deleted file mode 100644
index 1236ddc9da..0000000000
--- a/senlin/templates/configmap-bin.yaml
+++ /dev/null
@@ -1,58 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.configmap_bin }}
-{{- $envAll := . }}
-{{- $rallyTests := .Values.conf.rally_tests }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: senlin-bin
-data:
-{{- if .Values.images.local_registry.active }}
-  image-repo-sync.sh: |
-{{- include "helm-toolkit.scripts.image_repo_sync" . | indent 4 }}
-{{- end }}
-{{- if .Values.bootstrap.enabled }}
-  bootstrap.sh: |
-{{ tuple "bin/_bootstrap.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
-{{- end }}
-  senlin-test.sh: |
-{{ tuple "bin/_senlin-test.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
-  db-init.py: |
-{{- include "helm-toolkit.scripts.db_init" . | indent 4 }}
-  db-sync.sh: |
-{{ tuple "bin/_db-sync.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
-  db-drop.py: |
-{{- include "helm-toolkit.scripts.db_drop" . | indent 4 }}
-  ks-service.sh: |
-{{- include "helm-toolkit.scripts.keystone_service" . | indent 4 }}
-  ks-endpoints.sh: |
-{{- include "helm-toolkit.scripts.keystone_endpoints" . | indent 4 }}
-  ks-user.sh: |
-{{- include "helm-toolkit.scripts.keystone_user" . | indent 4 }}
-  senlin-api.sh: |
-{{ tuple "bin/_senlin-api.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
-  senlin-conductor.sh: |
-{{ tuple "bin/_senlin-conductor.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
-  senlin-engine.sh: |
-{{ tuple "bin/_senlin-engine.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
-  senlin-engine-cleaner.sh: |
-{{ tuple "bin/_senlin-engine-cleaner.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
-  senlin-health-manager.sh: |
-{{ tuple "bin/_senlin-health-manager.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
-  rabbit-init.sh: |
-{{- include "helm-toolkit.scripts.rabbit_init" . | indent 4 }}
-{{- end }}
diff --git a/senlin/templates/configmap-etc.yaml b/senlin/templates/configmap-etc.yaml
deleted file mode 100644
index f406d43967..0000000000
--- a/senlin/templates/configmap-etc.yaml
+++ /dev/null
@@ -1,118 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.configmap_etc }}
-{{- $envAll := . }}
-
-{{- if empty .Values.conf.senlin.keystone_authtoken.auth_uri -}}
-{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.senlin.keystone_authtoken "auth_uri" -}}
-{{- end -}}
-
-# FIXME(alanmeadows) fix for broken keystonemiddleware oslo config gen in newton - will remove in future
-{{- if empty .Values.conf.senlin.keystone_authtoken.auth_url -}}
-{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.senlin.keystone_authtoken "auth_url" -}}
-{{- end -}}
-
-{{- if empty .Values.conf.senlin.keystone_authtoken.region_name -}}
-{{- $_ := set .Values.conf.senlin.keystone_authtoken "region_name" .Values.endpoints.identity.auth.senlin.region_name -}}
-{{- end -}}
-{{- if empty .Values.conf.senlin.keystone_authtoken.project_name -}}
-{{- $_ := set .Values.conf.senlin.keystone_authtoken "project_name" .Values.endpoints.identity.auth.senlin.project_name -}}
-{{- end -}}
-{{- if empty .Values.conf.senlin.keystone_authtoken.project_domain_name -}}
-{{- $_ := set .Values.conf.senlin.keystone_authtoken "project_domain_name" .Values.endpoints.identity.auth.senlin.project_domain_name -}}
-{{- end -}}
-{{- if empty .Values.conf.senlin.keystone_authtoken.user_domain_name -}}
-{{- $_ := set .Values.conf.senlin.keystone_authtoken "user_domain_name" .Values.endpoints.identity.auth.senlin.user_domain_name -}}
-{{- end -}}
-{{- if empty .Values.conf.senlin.keystone_authtoken.username -}}
-{{- $_ := set .Values.conf.senlin.keystone_authtoken "username" .Values.endpoints.identity.auth.senlin.username -}}
-{{- end -}}
-{{- if empty .Values.conf.senlin.keystone_authtoken.password -}}
-{{- $_ := set .Values.conf.senlin.keystone_authtoken "password" .Values.endpoints.identity.auth.senlin.password -}}
-{{- end -}}
-
-{{- if empty .Values.conf.senlin.keystone_authtoken.memcached_servers -}}
-{{- $_ := tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.host_and_port_endpoint_uri_lookup" | set .Values.conf.senlin.keystone_authtoken "memcached_servers" -}}
-{{- end -}}
-{{- if empty .Values.conf.senlin.keystone_authtoken.memcache_secret_key -}}
-{{- $_ := set .Values.conf.senlin.keystone_authtoken "memcache_secret_key" ( default ( randAlphaNum 64 ) .Values.endpoints.oslo_cache.auth.memcache_secret_key ) -}}
-{{- end -}}
-
-{{- if empty .Values.conf.senlin.database.connection -}}
-{{- $_ := tuple "oslo_db" "internal" "senlin" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup"| set .Values.conf.senlin.database "connection" -}}
-{{- end -}}
-
-{{- if empty .Values.conf.senlin.DEFAULT.transport_url -}}
-{{- $_ := tuple "oslo_messaging" "internal" "senlin" "amqp" . | include "helm-toolkit.endpoints.authenticated_transport_endpoint_uri_lookup" | set .Values.conf.senlin.DEFAULT "transport_url" -}}
-{{- end -}}
-
-{{- if empty .Values.conf.senlin.senlin_api.bind_port -}}
-{{- $_ := tuple "clustering" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | set .Values.conf.senlin.senlin_api "bind_port" -}}
-{{- end -}}
-
-{{- if empty .Values.conf.senlin.authentication.auth_url -}}
-{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.senlin.authentication "auth_url" -}}
-{{- end -}}
-{{- if empty .Values.conf.senlin.authentication.service_password -}}
-{{- $_ := set .Values.conf.senlin.authentication "service_password" .Values.endpoints.identity.auth.senlin.password -}}
-{{- end -}}
-{{- if empty .Values.conf.senlin.authentication.service_project_domain -}}
-{{- $_ := set .Values.conf.senlin.authentication "service_project_domain" .Values.endpoints.identity.auth.senlin.project_domain_name -}}
-{{- end -}}
-{{- if empty .Values.conf.senlin.authentication.service_project_name -}}
-{{- $_ := set .Values.conf.senlin.authentication "service_project_name" .Values.endpoints.identity.auth.senlin.project_name -}}
-{{- end -}}
-{{- if empty .Values.conf.senlin.authentication.service_user_domain -}}
-{{- $_ := set .Values.conf.senlin.authentication "service_user_domain" .Values.endpoints.identity.auth.senlin.user_domain_name -}}
-{{- end -}}
-{{- if empty .Values.conf.senlin.authentication.service_username -}}
-{{- $_ := set .Values.conf.senlin.authentication "service_username" .Values.endpoints.identity.auth.senlin.username -}}
-{{- end -}}
-
-{{- if empty .Values.conf.senlin_api_uwsgi.uwsgi.processes -}}
-{{- $_ := set .Values.conf.senlin_api_uwsgi.uwsgi "processes" .Values.conf.senlin.senlin_api.workers -}}
-{{- end -}}
-{{- if empty (index .Values.conf.senlin_api_uwsgi.uwsgi "http-socket") -}}
-{{- $http_socket_port := tuple "clustering" "service" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | toString }}
-{{- $http_socket := printf "0.0.0.0:%s" $http_socket_port }}
-{{- $_ := set .Values.conf.senlin_api_uwsgi.uwsgi "http-socket" $http_socket -}}
-{{- end -}}
-
-{{- if and (empty .Values.conf.logging.handler_fluent) (has "fluent" .Values.conf.logging.handlers.keys) -}}
-{{- $fluentd_host := tuple "fluentd" "internal" $envAll | include "helm-toolkit.endpoints.hostname_namespaced_endpoint_lookup" }}
-{{- $fluentd_port := tuple "fluentd" "internal" "service" $envAll | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
-{{- $fluent_args := printf "('%s.%s', '%s', %s)" .Release.Namespace .Release.Name $fluentd_host $fluentd_port }}
-{{- $handler_fluent := dict "class" "fluent.handler.FluentHandler" "formatter" "fluent" "args" $fluent_args -}}
-{{- $_ := set .Values.conf.logging "handler_fluent" $handler_fluent -}}
-{{- end -}}
-
-{{- if and (empty .Values.conf.logging.formatter_fluent) (has "fluent" .Values.conf.logging.formatters.keys) -}}
-{{- $formatter_fluent := dict "class" "oslo_log.formatters.FluentFormatter" -}}
-{{- $_ := set .Values.conf.logging "formatter_fluent" $formatter_fluent -}}
-{{- end -}}
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: senlin-etc
-type: Opaque
-data:
-  rally_tests.yaml: {{ toYaml .Values.conf.rally_tests.tests | b64enc }}
-  senlin.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.senlin | b64enc }}
-  senlin-api-uwsgi.ini: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.senlin_api_uwsgi | b64enc }}
-  logging.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.logging | b64enc }}
-  api-paste.ini: {{ include "helm-toolkit.utils.to_ini" .Values.conf.paste | b64enc }}
-  policy.yaml: {{ toYaml .Values.conf.policy | b64enc }}
-{{- end }}
diff --git a/senlin/templates/cron-job-engine-cleaner.yaml b/senlin/templates/cron-job-engine-cleaner.yaml
deleted file mode 100644
index cae292e77e..0000000000
--- a/senlin/templates/cron-job-engine-cleaner.yaml
+++ /dev/null
@@ -1,91 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.cron_job_engine_cleaner }}
-{{- $envAll := . }}
-
-{{- $mounts_senlin_engine_cleaner := .Values.pod.mounts.senlin_engine_cleaner.senlin_engine_cleaner }}
-{{- $mounts_senlin_engine_cleaner_init := .Values.pod.mounts.senlin_engine_cleaner.init_container }}
-
-{{- $serviceAccountName := "senlin-engine-cleaner" }}
-{{ tuple $envAll "engine_cleaner" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
----
-apiVersion: batch/v1
-kind: CronJob
-metadata:
-  name: senlin-engine-cleaner
-  annotations:
-    {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
-spec:
-  schedule: {{ .Values.jobs.engine_cleaner.cron | quote }}
-  successfulJobsHistoryLimit: {{ .Values.jobs.engine_cleaner.history.success }}
-  failedJobsHistoryLimit: {{ .Values.jobs.engine_cleaner.history.failed }}
-  concurrencyPolicy: Forbid
-  jobTemplate:
-    metadata:
-      labels:
-{{ tuple $envAll "senlin" "engine-cleaner" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
-    spec:
-      template:
-        metadata:
-          labels:
-{{ tuple $envAll "senlin" "engine-cleaner" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 12 }}
-        spec:
-          serviceAccountName: {{ $serviceAccountName }}
-          restartPolicy: OnFailure
-          nodeSelector:
-            {{ .Values.labels.job.node_selector_key }}: {{ .Values.labels.job.node_selector_value }}
-          initContainers:
-{{ tuple $envAll "engine_cleaner" $mounts_senlin_engine_cleaner_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 12 }}
-          containers:
-            - name: senlin-engine-cleaner
-{{ tuple $envAll "senlin_engine_cleaner" | include "helm-toolkit.snippets.image" | indent 14 }}
-{{ tuple $envAll $envAll.Values.pod.resources.jobs.engine_cleaner | include "helm-toolkit.snippets.kubernetes_resources" | indent 14 }}
-              command:
-                - /tmp/senlin-engine-cleaner.sh
-              volumeMounts:
-                - name: pod-tmp
-                  mountPath: /tmp
-                - name: senlin-bin
-                  mountPath: /tmp/senlin-engine-cleaner.sh
-                  subPath: senlin-engine-cleaner.sh
-                  readOnly: true
-                - name: etcsenlin
-                  mountPath: /etc/senlin
-                - name: senlin-etc
-                  mountPath: /etc/senlin/senlin.conf
-                  subPath: senlin.conf
-                  readOnly: true
-                {{- if .Values.conf.senlin.DEFAULT.log_config_append }}
-                - name: senlin-etc
-                  mountPath: {{ .Values.conf.senlin.DEFAULT.log_config_append }}
-                  subPath: {{ base .Values.conf.senlin.DEFAULT.log_config_append }}
-                  readOnly: true
-                {{- end }}
-{{ if $mounts_senlin_engine_cleaner.volumeMounts }}{{ toYaml $mounts_senlin_engine_cleaner.volumeMounts | indent 16 }}{{ end }}
-          volumes:
-            - name: pod-tmp
-              emptyDir: {}
-            - name: etcsenlin
-              emptyDir: {}
-            - name: senlin-etc
-              secret:
-                secretName: senlin-etc
-                defaultMode: 0444
-            - name: senlin-bin
-              configMap:
-                name: senlin-bin
-                defaultMode: 0555
-{{ if $mounts_senlin_engine_cleaner.volumes }}{{ toYaml $mounts_senlin_engine_cleaner.volumes | indent 12 }}{{ end }}
-{{- end }}
diff --git a/senlin/templates/deployment-api.yaml b/senlin/templates/deployment-api.yaml
deleted file mode 100644
index ae1a92c5f0..0000000000
--- a/senlin/templates/deployment-api.yaml
+++ /dev/null
@@ -1,131 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.deployment_api }}
-{{- $envAll := . }}
-
-{{- $mounts_senlin_api := .Values.pod.mounts.senlin_api.senlin_api }}
-{{- $mounts_senlin_api_init := .Values.pod.mounts.senlin_api.init_container }}
-
-{{- $serviceAccountName := "senlin-api" }}
-{{ tuple $envAll "api" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: senlin-api
-  annotations:
-    {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
-  labels:
-{{ tuple $envAll "senlin" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
-spec:
-  replicas: {{ .Values.pod.replicas.api }}
-  selector:
-    matchLabels:
-{{ tuple $envAll "senlin" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }}
-{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}
-  template:
-    metadata:
-      labels:
-{{ tuple $envAll "senlin" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
-      annotations:
-{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }}
-        configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
-        configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
-{{ tuple "senlin_api" . | include "helm-toolkit.snippets.custom_pod_annotations" | indent 8 }}
-    spec:
-      serviceAccountName: {{ $serviceAccountName }}
-      affinity:
-{{ tuple $envAll "senlin" "api" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }}
-      nodeSelector:
-        {{ .Values.labels.api.node_selector_key }}: {{ .Values.labels.api.node_selector_value }}
-      terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.api.timeout | default "30" }}
-      initContainers:
-{{ tuple $envAll "api" $mounts_senlin_api_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
-      containers:
-        - name: senlin-api
-{{ tuple $envAll "senlin_api" | include "helm-toolkit.snippets.image" | indent 10 }}
-{{ tuple $envAll $envAll.Values.pod.resources.api | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
-          securityContext:
-            runAsUser: {{ .Values.pod.user.senlin.uid }}
-          command:
-            - /tmp/senlin-api.sh
-            - start
-          lifecycle:
-            preStop:
-              exec:
-                command:
-                  - /tmp/senlin-api.sh
-                  - stop
-          ports:
-            - name: s-api
-              containerPort: {{ tuple "clustering" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
-          readinessProbe:
-            httpGet:
-              scheme: HTTP
-              path: /
-              port: {{ tuple "clustering" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
-            initialDelaySeconds: 5
-            periodSeconds: 10
-          volumeMounts:
-            - name: pod-tmp
-              mountPath: /tmp
-            - name: senlin-bin
-              mountPath: /tmp/senlin-api.sh
-              subPath: senlin-api.sh
-              readOnly: true
-            - name: pod-etc-senlin
-              mountPath: /etc/senlin
-            - name: pod-var-cache-senlin
-              mountPath: /var/cache/senlin
-            - name: senlin-etc
-              mountPath: /etc/senlin/senlin-api-uwsgi.ini
-              subPath: senlin-api-uwsgi.ini
-              readOnly: true
-            - name: senlin-etc
-              mountPath: /etc/senlin/senlin.conf
-              subPath: senlin.conf
-              readOnly: true
-            {{- if .Values.conf.senlin.DEFAULT.log_config_append }}
-            - name: senlin-etc
-              mountPath: {{ .Values.conf.senlin.DEFAULT.log_config_append }}
-              subPath: {{ base .Values.conf.senlin.DEFAULT.log_config_append }}
-              readOnly: true
-            {{- end }}
-            - name: senlin-etc
-              mountPath: /etc/senlin/api-paste.ini
-              subPath: api-paste.ini
-              readOnly: true
-            - name: senlin-etc
-              mountPath: /etc/senlin/policy.yaml
-              subPath: policy.yaml
-              readOnly: true
-{{ if $mounts_senlin_api.volumeMounts }}{{ toYaml $mounts_senlin_api.volumeMounts | indent 12 }}{{ end }}
-      volumes:
-        - name: pod-tmp
-          emptyDir: {}
-        - name: pod-etc-senlin
-          emptyDir: {}
-        - name: pod-var-cache-senlin
-          emptyDir: {}
-        - name: senlin-bin
-          configMap:
-            name: senlin-bin
-            defaultMode: 0555
-        - name: senlin-etc
-          secret:
-            secretName: senlin-etc
-            defaultMode: 0444
-{{ if $mounts_senlin_api.volumes }}{{ toYaml $mounts_senlin_api.volumes | indent 8 }}{{ end }}
-{{- end }}
diff --git a/senlin/templates/deployment-conductor.yaml b/senlin/templates/deployment-conductor.yaml
deleted file mode 100644
index 0e6451e462..0000000000
--- a/senlin/templates/deployment-conductor.yaml
+++ /dev/null
@@ -1,103 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.deployment_conductor }}
-{{- $envAll := . }}
-
-{{- $mounts_senlin_conductor := .Values.pod.mounts.senlin_conductor.senlin_conductor }}
-{{- $mounts_senlin_conductor_init := .Values.pod.mounts.senlin_conductor.init_container }}
-
-{{- $serviceAccountName := "senlin-conductor" }}
-{{ tuple $envAll "conductor" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: senlin-conductor
-  annotations:
-    {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
-  labels:
-{{ tuple $envAll "senlin" "conductor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
-spec:
-  replicas: {{ .Values.pod.replicas.conductor }}
-  selector:
-    matchLabels:
-{{ tuple $envAll "senlin" "conductor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }}
-{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}
-  template:
-    metadata:
-      labels:
-{{ tuple $envAll "senlin" "conductor" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
-      annotations:
-{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }}
-        configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
-        configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
-{{ tuple "senlin_conductor" . | include "helm-toolkit.snippets.custom_pod_annotations" | indent 8 }}
-    spec:
-      serviceAccountName: {{ $serviceAccountName }}
-      affinity:
-{{ tuple $envAll "senlin" "conductor" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }}
-      nodeSelector:
-        {{ .Values.labels.conductor.node_selector_key }}: {{ .Values.labels.conductor.node_selector_value }}
-      initContainers:
-{{ tuple $envAll "conductor" $mounts_senlin_conductor_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
-      containers:
-        - name: senlin-conductor
-{{ tuple $envAll "senlin_conductor" | include "helm-toolkit.snippets.image" | indent 10 }}
-{{ tuple $envAll $envAll.Values.pod.resources.conductor | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
-          securityContext:
-            runAsUser: {{ .Values.pod.user.senlin.uid }}
-          command:
-            - /tmp/senlin-conductor.sh
-          volumeMounts:
-            - name: pod-tmp
-              mountPath: /tmp
-            - name: senlin-bin
-              mountPath: /tmp/senlin-conductor.sh
-              subPath: senlin-conductor.sh
-              readOnly: true
-            - name: pod-etc-senlin
-              mountPath: /etc/senlin
-            - name: senlin-etc
-              mountPath: /etc/senlin/senlin.conf
-              subPath: senlin.conf
-              readOnly: true
-            {{- if .Values.conf.senlin.DEFAULT.log_config_append }}
-            - name: senlin-etc
-              mountPath: {{ .Values.conf.senlin.DEFAULT.log_config_append }}
-              subPath: {{ base .Values.conf.senlin.DEFAULT.log_config_append }}
-              readOnly: true
-            {{- end }}
-            - name: senlin-etc
-              mountPath: /etc/senlin/policy.json
-              subPath: policy.json
-              readOnly: true
-{{ if $mounts_senlin_conductor.volumeMounts }}{{ toYaml $mounts_senlin_conductor.volumeMounts | indent 12 }}{{ end }}
-      volumes:
-        - name: pod-tmp
-          emptyDir: {}
-        - name: pod-etc-senlin
-          emptyDir: {}
-        - name: pod-var-cache-senlin
-          emptyDir: {}
-        - name: senlin-bin
-          configMap:
-            name: senlin-bin
-            defaultMode: 0555
-        - name: senlin-etc
-          secret:
-            secretName: senlin-etc
-            defaultMode: 0444
-{{ if $mounts_senlin_conductor.volumes }}{{ toYaml $mounts_senlin_conductor.volumes | indent 8 }}{{ end }}
-{{- end }}
\ No newline at end of file
diff --git a/senlin/templates/deployment-engine.yaml b/senlin/templates/deployment-engine.yaml
deleted file mode 100644
index fdbaf28e4d..0000000000
--- a/senlin/templates/deployment-engine.yaml
+++ /dev/null
@@ -1,100 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.deployment_engine }}
-{{- $envAll := . }}
-
-{{- $mounts_senlin_engine := .Values.pod.mounts.senlin_engine.senlin_engine }}
-{{- $mounts_senlin_engine_init := .Values.pod.mounts.senlin_engine.init_container }}
-
-{{- $serviceAccountName := "senlin-engine" }}
-{{ tuple $envAll "engine" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: senlin-engine
-  annotations:
-    {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
-  labels:
-{{ tuple $envAll "senlin" "engine" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
-spec:
-  replicas: {{ .Values.pod.replicas.engine }}
-  selector:
-    matchLabels:
-{{ tuple $envAll "senlin" "engine" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }}
-  template:
-    metadata:
-      labels:
-{{ tuple $envAll "senlin" "engine" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
-      annotations:
-{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }}
-        configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
-        configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
-{{ tuple "senlin_engine" . | include "helm-toolkit.snippets.custom_pod_annotations" | indent 8 }}
-    spec:
-      serviceAccountName: {{ $serviceAccountName }}
-      affinity:
-{{ tuple $envAll "senlin" "engine" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }}
-      nodeSelector:
-        {{ .Values.labels.engine.node_selector_key }}: {{ .Values.labels.engine.node_selector_value }}
-      initContainers:
-{{ tuple $envAll "engine" $mounts_senlin_engine_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
-      containers:
-        - name: senlin-engine
-{{ tuple $envAll "senlin_engine" | include "helm-toolkit.snippets.image" | indent 10 }}
-{{ tuple $envAll $envAll.Values.pod.resources.engine | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
-          securityContext:
-            runAsUser: {{ .Values.pod.user.senlin.uid }}
-          command:
-            - /tmp/senlin-engine.sh
-          volumeMounts:
-            - name: pod-tmp
-              mountPath: /tmp
-            - name: senlin-bin
-              mountPath: /tmp/senlin-engine.sh
-              subPath: senlin-engine.sh
-              readOnly: true
-            - name: pod-etc-senlin
-              mountPath: /etc/senlin
-            - name: senlin-etc
-              mountPath: /etc/senlin/senlin.conf
-              subPath: senlin.conf
-              readOnly: true
-            {{- if .Values.conf.senlin.DEFAULT.log_config_append }}
-            - name: senlin-etc
-              mountPath: {{ .Values.conf.senlin.DEFAULT.log_config_append }}
-              subPath: {{ base .Values.conf.senlin.DEFAULT.log_config_append }}
-              readOnly: true
-            {{- end }}
-            - name: senlin-etc
-              mountPath: /etc/senlin/policy.yaml
-              subPath: policy.yaml
-              readOnly: true
-{{ if $mounts_senlin_engine.volumeMounts }}{{ toYaml $mounts_senlin_engine.volumeMounts | indent 12 }}{{ end }}
-      volumes:
-        - name: pod-tmp
-          emptyDir: {}
-        - name: pod-etc-senlin
-          emptyDir: {}
-        - name: senlin-bin
-          configMap:
-            name: senlin-bin
-            defaultMode: 0555
-        - name: senlin-etc
-          secret:
-            secretName: senlin-etc
-            defaultMode: 0444
-{{ if $mounts_senlin_engine.volumes }}{{ toYaml $mounts_senlin_engine.volumes | indent 8 }}{{ end }}
-{{- end }}
diff --git a/senlin/templates/deployment-health-manager.yaml b/senlin/templates/deployment-health-manager.yaml
deleted file mode 100644
index dc0ca96ed7..0000000000
--- a/senlin/templates/deployment-health-manager.yaml
+++ /dev/null
@@ -1,103 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.deployment_health_manager }}
-{{- $envAll := . }}
-
-{{- $mounts_senlin_health_manager := .Values.pod.mounts.senlin_health_manager.senlin_health_manager }}
-{{- $mounts_senlin_health_manager_init := .Values.pod.mounts.senlin_health_manager.init_container }}
-
-{{- $serviceAccountName := "senlin-health-manager" }}
-{{ tuple $envAll "health_manager" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: senlin-health-manager
-  annotations:
-    {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
-  labels:
-{{ tuple $envAll "senlin" "health_manager" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
-spec:
-  replicas: {{ .Values.pod.replicas.health_manager }}
-  selector:
-    matchLabels:
-{{ tuple $envAll "senlin" "health_manager" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }}
-{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}
-  template:
-    metadata:
-      labels:
-{{ tuple $envAll "senlin" "health_manager" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
-      annotations:
-{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }}
-        configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
-        configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
-{{ tuple "senlin_health_manager" . | include "helm-toolkit.snippets.custom_pod_annotations" | indent 8 }}
-    spec:
-      serviceAccountName: {{ $serviceAccountName }}
-      affinity:
-{{ tuple $envAll "senlin" "health_manager" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }}
-      nodeSelector:
-        {{ .Values.labels.health_manager.node_selector_key }}: {{ .Values.labels.health_manager.node_selector_value }}
-      initContainers:
-{{ tuple $envAll "health_manager" $mounts_senlin_health_manager_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
-      containers:
-        - name: senlin-health-manager
-{{ tuple $envAll "senlin_health_manager" | include "helm-toolkit.snippets.image" | indent 10 }}
-{{ tuple $envAll $envAll.Values.pod.resources.health_manager | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
-          securityContext:
-            runAsUser: {{ .Values.pod.user.senlin.uid }}
-          command:
-            - /tmp/senlin-health-manager.sh
-          volumeMounts:
-            - name: pod-tmp
-              mountPath: /tmp
-            - name: senlin-bin
-              mountPath: /tmp/senlin-health-manager.sh
-              subPath: senlin-health-manager.sh
-              readOnly: true
-            - name: pod-etc-senlin
-              mountPath: /etc/senlin
-            - name: senlin-etc
-              mountPath: /etc/senlin/senlin.conf
-              subPath: senlin.conf
-              readOnly: true
-            {{- if .Values.conf.senlin.DEFAULT.log_config_append }}
-            - name: senlin-etc
-              mountPath: {{ .Values.conf.senlin.DEFAULT.log_config_append }}
-              subPath: {{ base .Values.conf.senlin.DEFAULT.log_config_append }}
-              readOnly: true
-            {{- end }}
-            - name: senlin-etc
-              mountPath: /etc/senlin/policy.json
-              subPath: policy.json
-              readOnly: true
-{{ if $mounts_senlin_health_manager.volumeMounts }}{{ toYaml $mounts_senlin_health_manager.volumeMounts | indent 12 }}{{ end }}
-      volumes:
-        - name: pod-tmp
-          emptyDir: {}
-        - name: pod-etc-senlin
-          emptyDir: {}
-        - name: pod-var-cache-senlin
-          emptyDir: {}
-        - name: senlin-bin
-          configMap:
-            name: senlin-bin
-            defaultMode: 0555
-        - name: senlin-etc
-          secret:
-            secretName: senlin-etc
-            defaultMode: 0444
-{{ if $mounts_senlin_health_manager.volumes }}{{ toYaml $mounts_senlin_health_manager.volumes | indent 8 }}{{ end }}
-{{- end }}
\ No newline at end of file
diff --git a/senlin/templates/ingress-api.yaml b/senlin/templates/ingress-api.yaml
deleted file mode 100644
index f38bda682e..0000000000
--- a/senlin/templates/ingress-api.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if and .Values.manifests.ingress_api .Values.network.api.ingress.public }}
-{{- $ingressOpts := dict "envAll" . "backendServiceType" "clustering" "backendPort" "s-api" -}}
-{{ $ingressOpts | include "helm-toolkit.manifests.ingress" }}
-{{- end }}
diff --git a/senlin/templates/job-bootstrap.yaml b/senlin/templates/job-bootstrap.yaml
deleted file mode 100644
index b50c6cd3d2..0000000000
--- a/senlin/templates/job-bootstrap.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if and .Values.manifests.job_bootstrap .Values.bootstrap.enabled }}
-{{- $bootstrapJob := dict "envAll" . "serviceName" "senlin" "keystoneUser" .Values.bootstrap.ks_user "logConfigFile" .Values.conf.senlin.DEFAULT.log_config_append -}}
-{{ $bootstrapJob | include "helm-toolkit.manifests.job_bootstrap" }}
-{{- end }}
diff --git a/senlin/templates/job-db-drop.yaml b/senlin/templates/job-db-drop.yaml
deleted file mode 100644
index 41735b4f86..0000000000
--- a/senlin/templates/job-db-drop.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.job_db_drop }}
-{{- $dbDropJob := dict "envAll" . "serviceName" "senlin" -}}
-{{ $dbDropJob | include "helm-toolkit.manifests.job_db_drop_mysql" }}
-{{- end }}
diff --git a/senlin/templates/job-db-init.yaml b/senlin/templates/job-db-init.yaml
deleted file mode 100644
index 47822ad0b3..0000000000
--- a/senlin/templates/job-db-init.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- define "metadata.annotations.job.db_init" }}
-helm.sh/hook: post-install,post-upgrade
-helm.sh/hook-weight: "-5"
-{{- end }}
-
-{{- if .Values.manifests.job_db_init }}
-{{- $dbInitJob := dict "envAll" . "serviceName" "senlin" -}}
-{{- if .Values.helm3_hook }}
-{{- $_ := set $dbInitJob "jobAnnotations" (include "metadata.annotations.job.db_init" . | fromYaml) }}
-{{- end }}
-{{ $dbInitJob | include "helm-toolkit.manifests.job_db_init_mysql" }}
-{{- end }}
diff --git a/senlin/templates/job-db-sync.yaml b/senlin/templates/job-db-sync.yaml
deleted file mode 100644
index 7e5f0bad23..0000000000
--- a/senlin/templates/job-db-sync.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- define "metadata.annotations.job.db_sync" }}
-helm.sh/hook: post-install,post-upgrade
-helm.sh/hook-weight: "-4"
-{{- end }}
-
-{{- if .Values.manifests.job_db_sync }}
-{{- $dbSyncJob := dict "envAll" . "serviceName" "senlin" "podVolMounts" .Values.pod.mounts.senlin_db_sync.senlin_db_sync.volumeMounts "podVols" .Values.pod.mounts.senlin_db_sync.senlin_db_sync.volumes -}}
-{{- if .Values.helm3_hook }}
-{{- $_ := set $dbSyncJob "jobAnnotations" (include "metadata.annotations.job.db_sync" . | fromYaml) }}
-{{- end }}
-{{ $dbSyncJob | include "helm-toolkit.manifests.job_db_sync" }}
-{{- end }}
diff --git a/senlin/templates/job-image-repo-sync.yaml b/senlin/templates/job-image-repo-sync.yaml
deleted file mode 100644
index d5b87b111e..0000000000
--- a/senlin/templates/job-image-repo-sync.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- define "metadata.annotations.job.repo_sync" }}
-helm.sh/hook: post-install,post-upgrade
-{{- end }}
-
-{{- if and .Values.manifests.job_image_repo_sync .Values.images.local_registry.active }}
-{{- $imageRepoSyncJob := dict "envAll" . "serviceName" "senlin" -}}
-{{- if .Values.helm3_hook }}
-{{- $_ := $imageRepoSyncJob "jobAnnotations" (include "metadata.annotations.job.repo_sync" . | fromYaml) }}
-{{- end }}
-{{ $imageRepoSyncJob | include "helm-toolkit.manifests.job_image_repo_sync" }}
-{{- end }}
diff --git a/senlin/templates/job-ks-endpoints.yaml b/senlin/templates/job-ks-endpoints.yaml
deleted file mode 100644
index 8c8b2e305e..0000000000
--- a/senlin/templates/job-ks-endpoints.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- define "metadata.annotations.job.ks_endpoints" }}
-helm.sh/hook: post-install,post-upgrade
-helm.sh/hook-weight: "-2"
-{{- end }}
-
-{{- if .Values.manifests.job_ks_endpoints }}
-{{- $ksServiceJob := dict "envAll" . "serviceName" "senlin" "serviceTypes" ( tuple "clustering" ) -}}
-{{- if .Values.helm3_hook }}
-{{- $_ := set $ksServiceJob "jobAnnotations" (include "metadata.annotations.job.ks_endpoints" . | fromYaml) }}
-{{- end }}
-{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_endpoints" }}
-{{- end }}
diff --git a/senlin/templates/job-ks-service.yaml b/senlin/templates/job-ks-service.yaml
deleted file mode 100644
index 0012d883b7..0000000000
--- a/senlin/templates/job-ks-service.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- define "metadata.annotations.job.ks_service" }}
-helm.sh/hook: post-install,post-upgrade
-helm.sh/hook-weight: "-3"
-{{- end }}
-
-{{- if .Values.manifests.job_ks_service }}
-{{- $ksServiceJob := dict "envAll" . "serviceName" "senlin" "serviceTypes" ( tuple "clustering" ) -}}
-{{- if .Values.helm3_hook }}
-{{- $_ := set $ksServiceJob "jobAnnotations" (include "metadata.annotations.job.ks_service" . | fromYaml) }}
-{{- end }}
-{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_service" }}
-{{- end }}
diff --git a/senlin/templates/job-ks-user.yaml b/senlin/templates/job-ks-user.yaml
deleted file mode 100644
index aa86dc11ee..0000000000
--- a/senlin/templates/job-ks-user.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- define "metadata.annotations.job.ks_user" }}
-helm.sh/hook: post-install,post-upgrade
-helm.sh/hook-weight: "-1"
-{{- end }}
-
-{{- if .Values.manifests.job_ks_user }}
-{{- $ksUserJob := dict "envAll" . "serviceName" "senlin" -}}
-{{- if .Values.helm3_hook }}
-{{- $_ := set $ksUserJob "jobAnnotations" (include "metadata.annotations.job.ks_user" . | fromYaml) }}
-{{- end }}
-{{ $ksUserJob | include "helm-toolkit.manifests.job_ks_user" }}
-{{- end }}
diff --git a/senlin/templates/job-rabbit-init.yaml b/senlin/templates/job-rabbit-init.yaml
deleted file mode 100644
index eca7f03c5d..0000000000
--- a/senlin/templates/job-rabbit-init.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- define "metadata.annotations.job.rabbit_init" }}
-helm.sh/hook: post-install,post-upgrade
-helm.sh/hook-weight: "-4"
-{{- end }}
-
-{{- if .Values.manifests.job_rabbit_init }}
-{{- $rmqUserJob := dict "envAll" . "serviceName" "senlin" -}}
-{{- if .Values.helm3_hook }}
-{{- $_ := set $rmqUserJob "jobAnnotations" (include "metadata.annotations.job.rabbit_init" . | fromYaml) }}
-{{- end }}
-{{ $rmqUserJob | include "helm-toolkit.manifests.job_rabbit_init" }}
-{{- end }}
diff --git a/senlin/templates/network_policy.yaml b/senlin/templates/network_policy.yaml
deleted file mode 100644
index 0066c79a33..0000000000
--- a/senlin/templates/network_policy.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# 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.
-
-{{- if .Values.manifests.network_policy -}}
-{{- $netpol_opts := dict "envAll" . "name" "application" "label" "senlin" -}}
-{{ $netpol_opts | include "helm-toolkit.manifests.kubernetes_network_policy" }}
-{{- end -}}
diff --git a/senlin/templates/pdb-api.yaml b/senlin/templates/pdb-api.yaml
deleted file mode 100644
index 15a2a45f01..0000000000
--- a/senlin/templates/pdb-api.yaml
+++ /dev/null
@@ -1,27 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.pdb_api }}
-{{- $envAll := . }}
----
-apiVersion: policy/v1
-kind: PodDisruptionBudget
-metadata:
-  name: senlin-api
-spec:
-  minAvailable: {{ .Values.pod.lifecycle.disruption_budget.api.min_available }}
-  selector:
-    matchLabels:
-{{ tuple $envAll "senlin" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }}
-{{- end }}
diff --git a/senlin/templates/pod-test.yaml b/senlin/templates/pod-test.yaml
deleted file mode 100644
index 05a65cfd86..0000000000
--- a/senlin/templates/pod-test.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.pod_test }}
-{{- $envAll := . }}
-
-{{- $mounts_senlin_tests := .Values.pod.mounts.senlin_tests.senlin_tests }}
-{{- $mounts_senlin_tests_init := .Values.pod.mounts.senlin_tests.init_container }}
-
-{{- $serviceAccountName := print .Release.Name "-test" }}
-{{ tuple $envAll "tests" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
----
-apiVersion: v1
-kind: Pod
-metadata:
-  name: "{{.Release.Name}}-test"
-  labels:
-{{ tuple $envAll "senlin" "test" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
-  annotations:
-    "helm.sh/hook": test-success
-    {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
-spec:
-  serviceAccountName: {{ $serviceAccountName }}
-  nodeSelector:
-    {{ .Values.labels.test.node_selector_key }}: {{ .Values.labels.test.node_selector_value }}
-  restartPolicy: Never
-  initContainers:
-{{ tuple $envAll "tests" $mounts_senlin_tests_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 4 }}
-  containers:
-    - name: {{.Release.Name}}-senlin-test
-{{ tuple $envAll "scripted_test" | include "helm-toolkit.snippets.image" | indent 6 }}
-      env:
-{{- with $env := dict "ksUserSecret" .Values.secrets.identity.admin }}
-{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 8 }}
-{{- end }}
-      command:
-        - /tmp/senlin-test.sh
-      volumeMounts:
-        - name: pod-tmp
-          mountPath: /tmp
-        - name: senlin-bin
-          mountPath: /tmp/senlin-test.sh
-          subPath: senlin-test.sh
-          readOnly: true
-{{ if $mounts_senlin_tests.volumeMounts }}{{ toYaml $mounts_senlin_tests.volumeMounts | indent 8 }}{{ end }}
-  volumes:
-    - name: pod-tmp
-      emptyDir: {}
-    - name: senlin-bin
-      configMap:
-        name: senlin-bin
-        defaultMode: 0555
-{{ if $mounts_senlin_tests.volumes }}{{ toYaml $mounts_senlin_tests.volumes | indent 4 }}{{ end }}
-{{- end }}
diff --git a/senlin/templates/secret-db.yaml b/senlin/templates/secret-db.yaml
deleted file mode 100644
index 6f148fc6d0..0000000000
--- a/senlin/templates/secret-db.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.secret_db }}
-{{- $envAll := . }}
-{{- range $key1, $userClass := tuple "admin" "senlin" }}
-{{- $secretName := index $envAll.Values.secrets.oslo_db $userClass }}
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ $secretName }}
-  annotations:
-{{ tuple "oslo_db" $userClass $envAll | include "helm-toolkit.snippets.custom_secret_annotations" | indent 4 }}
-type: Opaque
-data:
-  DB_CONNECTION: {{ tuple "oslo_db" "internal" $userClass "mysql" $envAll | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | b64enc -}}
-{{- end }}
-{{- end }}
diff --git a/senlin/templates/secret-keystone.yaml b/senlin/templates/secret-keystone.yaml
deleted file mode 100644
index f759643d12..0000000000
--- a/senlin/templates/secret-keystone.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.secret_keystone }}
-{{- $envAll := . }}
-{{- range $key1, $userClass := tuple "admin" "senlin" }}
-{{- $secretName := index $envAll.Values.secrets.identity $userClass }}
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ $secretName }}
-  annotations:
-{{ tuple "identity" $userClass $envAll | include "helm-toolkit.snippets.custom_secret_annotations" | indent 4 }}
-type: Opaque
-data:
-{{- tuple $userClass "internal" $envAll | include "helm-toolkit.snippets.keystone_secret_openrc" | indent 2 -}}
-{{- end }}
-{{- end }}
diff --git a/senlin/templates/secret-rabbitmq.yaml b/senlin/templates/secret-rabbitmq.yaml
deleted file mode 100644
index 9839c43f37..0000000000
--- a/senlin/templates/secret-rabbitmq.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.secret_rabbitmq }}
-{{- $envAll := . }}
-{{- range $key1, $userClass := tuple "admin" "senlin" }}
-{{- $secretName := index $envAll.Values.secrets.oslo_messaging $userClass }}
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ $secretName }}
-  annotations:
-{{ tuple "oslo_messaging" $userClass $envAll | include "helm-toolkit.snippets.custom_secret_annotations" | indent 4 }}
-type: Opaque
-data:
-  RABBITMQ_CONNECTION: {{ tuple "oslo_messaging" "internal" $userClass "http" $envAll | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | b64enc }}
-{{- end }}
-{{- end }}
diff --git a/senlin/templates/secret-registry.yaml b/senlin/templates/secret-registry.yaml
deleted file mode 100644
index da979b3223..0000000000
--- a/senlin/templates/secret-registry.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if and .Values.manifests.secret_registry .Values.endpoints.oci_image_registry.auth.enabled }}
-{{ include "helm-toolkit.manifests.secret_registry" ( dict "envAll" . "registryUser" .Chart.Name ) }}
-{{- end }}
diff --git a/senlin/templates/service-api.yaml b/senlin/templates/service-api.yaml
deleted file mode 100644
index e4e3787b4c..0000000000
--- a/senlin/templates/service-api.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if .Values.manifests.service_api }}
-{{- $envAll := . }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ tuple "clustering" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
-spec:
-  ports:
-    - name: s-api
-      port: {{ tuple "clustering" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
-    {{ if .Values.network.api.node_port.enabled }}
-      nodePort: {{ .Values.network.api.node_port.port }}
-    {{ end }}
-  selector:
-{{ tuple $envAll "senlin" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
-  {{ if .Values.network.api.node_port.enabled }}
-  type: NodePort
-  {{ end }}
-{{- end }}
diff --git a/senlin/templates/service-ingress-api.yaml b/senlin/templates/service-ingress-api.yaml
deleted file mode 100644
index 5f8d9cfe2a..0000000000
--- a/senlin/templates/service-ingress-api.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-{{/*
-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.
-*/}}
-
-{{- if and .Values.manifests.service_ingress_api .Values.network.api.ingress.public }}
-{{- $serviceIngressOpts := dict "envAll" . "backendServiceType" "clustering" -}}
-{{ $serviceIngressOpts | include "helm-toolkit.manifests.service_ingress" }}
-{{- end }}
diff --git a/senlin/values.yaml b/senlin/values.yaml
deleted file mode 100644
index 3cb0954105..0000000000
--- a/senlin/values.yaml
+++ /dev/null
@@ -1,738 +0,0 @@
-# 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.
-
-# Default values for senlin.
-# This is a YAML-formatted file.
-# Declare name/value pairs to be passed into your templates.
-# name: value
-
----
-labels:
-  api:
-    node_selector_key: openstack-control-plane
-    node_selector_value: enabled
-  conductor:
-    node_selector_key: openstack-control-plane
-    node_selector_value: enabled
-  engine:
-    node_selector_key: openstack-control-plane
-    node_selector_value: enabled
-  health_manager:
-    node_selector_key: openstack-control-plane
-    node_selector_value: enabled
-  job:
-    node_selector_key: openstack-control-plane
-    node_selector_value: enabled
-  test:
-    node_selector_key: openstack-control-plane
-    node_selector_value: enabled
-
-release_group: null
-
-images:
-  tags:
-    scripted_test: quay.io/airshipit/heat:2024.1-ubuntu_jammy
-    bootstrap: quay.io/airshipit/heat:2024.1-ubuntu_jammy
-    db_init: quay.io/airshipit/heat:2024.1-ubuntu_jammy
-    senlin_db_sync: docker.io/openstackhelm/senlin:wallaby-ubuntu_focal
-    db_drop: quay.io/airshipit/heat:2024.1-ubuntu_jammy
-    rabbit_init: docker.io/rabbitmq:3.13-management
-    ks_user: quay.io/airshipit/heat:2024.1-ubuntu_jammy
-    ks_service: quay.io/airshipit/heat:2024.1-ubuntu_jammy
-    ks_endpoints: quay.io/airshipit/heat:2024.1-ubuntu_jammy
-    senlin_api: docker.io/openstackhelm/senlin:wallaby-ubuntu_focal
-    senlin_conductor: docker.io/openstackhelm/senlin:wallaby-ubuntu_focal
-    senlin_engine: docker.io/openstackhelm/senlin:wallaby-ubuntu_focal
-    senlin_engine_cleaner: docker.io/openstackhelm/senlin:wallaby-ubuntu_focal
-    senlin_health_manager: docker.io/openstackhelm/senlin:wallaby-ubuntu_focal
-    dep_check: quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_focal
-    image_repo_sync: docker.io/docker:17.07.0
-  pull_policy: "IfNotPresent"
-  local_registry:
-    active: false
-    exclude:
-      - dep_check
-      - image_repo_sync
-
-jobs:
-  engine_cleaner:
-    cron: "*/5 * * * *"
-    history:
-      success: 3
-      failed: 1
-
-conf:
-  rally_tests:
-    run_tempest: false
-    tests:
-      SenlinClusters.create_and_delete_cluster:
-        - args:
-            desired_capacity: 3
-            min_size: 0
-            max_size: 5
-          runner:
-            concurrency: 1
-            times: 1
-            type: constant
-          sla:
-            failure_rate:
-              max: 0
-          context:
-            profiles:
-              type: os.nova.server
-              version: "1.0"
-              properties:
-                name: cirros_server
-                flavor: 689eeda3-c6cd-450f-b000-58025c783763
-                image: df0c1a14-0940-4ae5-be5c-bb06aa407da2
-                networks:
-                  - network: public
-  paste:
-    pipeline:senlin-api:
-      pipeline: request_id faultwrap ssl versionnegotiation webhook authtoken context trust apiv1app
-    app:apiv1app:
-      paste.app_factory: senlin.api.common.wsgi:app_factory
-      senlin.app_factory: senlin.api.openstack.v1.router:API
-    filter:request_id:
-      paste.filter_factory: oslo_middleware.request_id:RequestId.factory
-    filter:faultwrap:
-      paste.filter_factory: senlin.api.common.wsgi:filter_factory
-      senlin.filter_factory: senlin.api.middleware:fault_filter
-    filter:context:
-      paste.filter_factory: senlin.api.common.wsgi:filter_factory
-      senlin.filter_factory: senlin.api.middleware:context_filter
-    filter:ssl:
-      paste.filter_factory: oslo_middleware.ssl:SSLMiddleware.factory
-    filter:versionnegotiation:
-      paste.filter_factory: senlin.api.common.wsgi:filter_factory
-      senlin.filter_factory: senlin.api.middleware:version_filter
-    filter:trust:
-      paste.filter_factory: senlin.api.common.wsgi:filter_factory
-      senlin.filter_factory: senlin.api.middleware:trust_filter
-    filter:webhook:
-      paste.filter_factory: senlin.api.common.wsgi:filter_factory
-      senlin.filter_factory: senlin.api.middleware:webhook_filter
-    filter:authtoken:
-      paste.filter_factory: keystonemiddleware.auth_token:filter_factory
-  policy: {}
-  senlin:
-    DEFAULT:
-      log_config_append: /etc/senlin/logging.conf
-      transport_url: null
-      host: senlin
-    database:
-      max_retries: -1
-    authentication:
-      auth_url: null
-    keystone_authtoken:
-      auth_type: password
-      auth_version: v3
-      memcache_security_strategy: ENCRYPT
-      service_type: clustering
-    senlin_api:
-      # NOTE(portdirect): the bind port should not be defined, and is manipulated
-      # via the endpoints section.
-      bind_port: null
-    oslo_policy:
-      policy_file: /etc/senlin/policy.yaml
-  logging:
-    loggers:
-      keys:
-        - root
-        - senlin
-    handlers:
-      keys:
-        - stdout
-        - stderr
-        - "null"
-    formatters:
-      keys:
-        - context
-        - default
-    logger_root:
-      level: WARNING
-      handlers: 'null'
-    logger_senlin:
-      level: INFO
-      handlers:
-        - stdout
-      qualname: senlin
-    logger_amqp:
-      level: WARNING
-      handlers: stderr
-      qualname: amqp
-    logger_amqplib:
-      level: WARNING
-      handlers: stderr
-      qualname: amqplib
-    logger_eventletwsgi:
-      level: WARNING
-      handlers: stderr
-      qualname: eventlet.wsgi.server
-    logger_sqlalchemy:
-      level: WARNING
-      handlers: stderr
-      qualname: sqlalchemy
-    logger_boto:
-      level: WARNING
-      handlers: stderr
-      qualname: boto
-    handler_null:
-      class: logging.NullHandler
-      formatter: default
-      args: ()
-    handler_stdout:
-      class: StreamHandler
-      args: (sys.stdout,)
-      formatter: context
-    handler_stderr:
-      class: StreamHandler
-      args: (sys.stderr,)
-      formatter: context
-    formatter_context:
-      class: oslo_log.formatters.ContextFormatter
-      datefmt: "%Y-%m-%d %H:%M:%S"
-    formatter_default:
-      format: "%(message)s"
-      datefmt: "%Y-%m-%d %H:%M:%S"
-  senlin_api_uwsgi:
-    uwsgi:
-      add-header: "Connection: close"
-      buffer-size: 65535
-      die-on-term: true
-      enable-threads: true
-      exit-on-reload: false
-      hook-master-start: unix_signal:15 gracefully_kill_them_all
-      lazy-apps: true
-      log-x-forwarded-for: true
-      master: true
-      procname-prefix-spaced: "senlin-api:"
-      route-user-agent: '^kube-probe.* donotlog:'
-      thunder-lock: true
-      worker-reload-mercy: 80
-      wsgi-file: /var/lib/openstack/bin/senlin-wsgi-api
-
-network:
-  api:
-    ingress:
-      public: true
-      classes:
-        namespace: "nginx"
-        cluster: "nginx-cluster"
-      annotations:
-        nginx.ingress.kubernetes.io/rewrite-target: /
-    node_port:
-      enabled: false
-      port: 30778
-
-bootstrap:
-  enabled: false
-  ks_user: senlin
-  script: |
-    openstack token issue
-
-dependencies:
-  dynamic:
-    common:
-      local_image_registry:
-        jobs:
-          - senlin-image-repo-sync
-        services:
-          - endpoint: node
-            service: local_image_registry
-  static:
-    engine_cleaner:
-      jobs:
-        - senlin-db-sync
-      services:
-        - endpoint: internal
-          service: oslo_db
-        - endpoint: internal
-          service: oslo_messaging
-        - endpoint: internal
-          service: identity
-    api:
-      jobs:
-        - senlin-db-sync
-        - senlin-ks-user
-        - senlin-ks-endpoints
-        - senlin-rabbit-init
-      services:
-        - endpoint: internal
-          service: oslo_db
-        - endpoint: internal
-          service: identity
-        - endpoint: internal
-          service: oslo_messaging
-    db_drop:
-      services:
-        - endpoint: internal
-          service: oslo_db
-    db_init:
-      services:
-        - endpoint: internal
-          service: oslo_db
-    db_sync:
-      jobs:
-        - senlin-db-init
-      services:
-        - endpoint: internal
-          service: oslo_db
-    engine:
-      jobs:
-        - senlin-db-sync
-        - senlin-ks-user
-        - senlin-ks-endpoints
-        - senlin-rabbit-init
-      services:
-        - endpoint: internal
-          service: oslo_db
-        - endpoint: internal
-          service: identity
-    conductor:
-      jobs:
-        - senlin-db-sync
-        - senlin-ks-user
-        - senlin-ks-endpoints
-        - senlin-rabbit-init
-      services:
-        - endpoint: internal
-          service: oslo_db
-        - endpoint: internal
-          service: identity
-    health_manager:
-      jobs:
-        - senlin-db-sync
-        - senlin-ks-user
-        - senlin-ks-endpoints
-        - senlin-rabbit-init
-      services:
-        - endpoint: internal
-          service: oslo_db
-        - endpoint: internal
-          service: identity
-    ks_endpoints:
-      jobs:
-        - senlin-ks-service
-      services:
-        - endpoint: internal
-          service: identity
-    ks_service:
-      services:
-        - endpoint: internal
-          service: identity
-    ks_user:
-      services:
-        - endpoint: internal
-          service: identity
-    rabbit_init:
-      services:
-        - endpoint: internal
-          service: oslo_messaging
-    tests:
-      services:
-        - endpoint: internal
-          service: identity
-        - endpoint: internal
-          service: clustering
-    image_repo_sync:
-      services:
-        - endpoint: internal
-          service: local_image_registry
-
-# Names of secrets used by bootstrap and environmental checks
-secrets:
-  identity:
-    admin: senlin-keystone-admin
-    senlin: senlin-keystone-user
-  oslo_db:
-    admin: senlin-db-admin
-    senlin: senlin-db-user
-  oslo_messaging:
-    admin: senlin-rabbitmq-admin
-    senlin: senlin-rabbitmq-user
-  oci_image_registry:
-    senlin: senlin-oci-image-registry
-
-# typically overridden by environmental
-# values, but should include all endpoints
-# required by this chart
-endpoints:
-  cluster_domain_suffix: cluster.local
-  local_image_registry:
-    name: docker-registry
-    namespace: docker-registry
-    hosts:
-      default: localhost
-      internal: docker-registry
-      node: localhost
-    host_fqdn_override:
-      default: null
-    port:
-      registry:
-        node: 5000
-  oci_image_registry:
-    name: oci-image-registry
-    namespace: oci-image-registry
-    auth:
-      enabled: false
-      senlin:
-        username: senlin
-        password: password
-    hosts:
-      default: localhost
-    host_fqdn_override:
-      default: null
-    port:
-      registry:
-        default: null
-  identity:
-    name: keystone
-    auth:
-      admin:
-        region_name: RegionOne
-        username: admin
-        password: password
-        project_name: admin
-        user_domain_name: default
-        project_domain_name: default
-      senlin:
-        role: admin
-        region_name: RegionOne
-        username: senlin
-        password: password
-        project_name: service
-        user_domain_name: service
-        project_domain_name: service
-      test:
-        role: admin
-        region_name: RegionOne
-        username: senlin-test
-        password: password
-        project_name: test
-        user_domain_name: service
-        project_domain_name: service
-    hosts:
-      default: keystone
-      internal: keystone-api
-    host_fqdn_override:
-      default: null
-    path:
-      default: /v3
-    scheme:
-      default: http
-    port:
-      api:
-        default: 80
-        internal: 5000
-  clustering:
-    name: senlin
-    hosts:
-      default: senlin-api
-      public: senlin
-    host_fqdn_override:
-      default: null
-    path:
-      default: null
-    scheme:
-      default: http
-    port:
-      api:
-        default: 8778
-        public: 80
-  oslo_db:
-    auth:
-      admin:
-        username: root
-        password: password
-      senlin:
-        username: senlin
-        password: password
-    hosts:
-      default: mariadb
-    host_fqdn_override:
-      default: null
-    path: /senlin
-    scheme: mysql+pymysql
-    port:
-      mysql:
-        default: 3306
-  oslo_cache:
-    auth:
-      # NOTE(portdirect): this is used to define the value for keystone
-      # authtoken cache encryption key, if not set it will be populated
-      # automatically with a random value, but to take advantage of
-      # this feature all services should be set to use the same key,
-      # and memcache service.
-      memcache_secret_key: null
-    hosts:
-      default: memcached
-    host_fqdn_override:
-      default: null
-    port:
-      memcache:
-        default: 11211
-  oslo_messaging:
-    auth:
-      admin:
-        username: rabbitmq
-        password: password
-      senlin:
-        username: senlin
-        password: password
-    statefulset:
-      replicas: 2
-      name: rabbitmq-rabbitmq
-    hosts:
-      default: rabbitmq
-    host_fqdn_override:
-      default: null
-    path: /senlin
-    scheme: rabbit
-    port:
-      amqp:
-        default: 5672
-      http:
-        default: 15672
-  fluentd:
-    namespace: null
-    name: fluentd
-    hosts:
-      default: fluentd-logging
-    host_fqdn_override:
-      default: null
-    path:
-      default: null
-    scheme: 'http'
-    port:
-      service:
-        default: 24224
-      metrics:
-        default: 24220
-
-pod:
-  user:
-    senlin:
-      uid: 42424
-  affinity:
-    anti:
-      type:
-        default: preferredDuringSchedulingIgnoredDuringExecution
-      topologyKey:
-        default: kubernetes.io/hostname
-      weight:
-        default: 10
-  mounts:
-    senlin_api:
-      init_container: null
-      senlin_api:
-        volumeMounts:
-        volumes:
-    senlin_conductor:
-      init_container: null
-      senlin_conductor:
-        volumeMounts:
-        volumes:
-    senlin_engine:
-      init_container: null
-      senlin_engine:
-        volumeMounts:
-        volumes:
-    senlin_health_manager:
-      init_container: null
-      senlin_health_manager:
-        volumeMounts:
-        volumes:
-    senlin_bootstrap:
-      init_container: null
-      senlin_bootstrap:
-        volumeMounts:
-        volumes:
-    senlin_engine_cleaner:
-      init_container: null
-      senlin_engine_cleaner:
-        volumeMounts:
-        volumes:
-    senlin_tests:
-      init_container: null
-      senlin_tests:
-        volumeMounts:
-        volumes:
-    senlin_db_sync:
-      senlin_db_sync:
-        volumeMounts:
-        volumes:
-  replicas:
-    api: 1
-    conductor: 1
-    engine: 1
-    health_manager: 1
-  lifecycle:
-    upgrades:
-      deployments:
-        revision_history: 3
-        pod_replacement_strategy: RollingUpdate
-        rolling_update:
-          max_unavailable: 1
-          max_surge: 3
-    disruption_budget:
-      api:
-        min_available: 0
-    termination_grace_period:
-      api:
-        timeout: 30
-  resources:
-    enabled: false
-    api:
-      requests:
-        memory: "128Mi"
-        cpu: "100m"
-      limits:
-        memory: "1024Mi"
-        cpu: "2000m"
-    conductor:
-      requests:
-        memory: "128Mi"
-        cpu: "100m"
-      limits:
-        memory: "1024Mi"
-        cpu: "2000m"
-    engine:
-      requests:
-        memory: "128Mi"
-        cpu: "100m"
-      limits:
-        memory: "1024Mi"
-        cpu: "2000m"
-    health_manager:
-      requests:
-        memory: "128Mi"
-        cpu: "100m"
-      limits:
-        memory: "1024Mi"
-        cpu: "2000m"
-    jobs:
-      bootstrap:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-      db_init:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-      db_sync:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-      db_drop:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-      ks_endpoints:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-      ks_service:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-      ks_user:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-      rabbit_init:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-      tests:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-      engine_cleaner:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-      image_repo_sync:
-        requests:
-          memory: "128Mi"
-          cpu: "100m"
-        limits:
-          memory: "1024Mi"
-          cpu: "2000m"
-
-network_policy:
-  senlin:
-    ingress:
-      - {}
-    egress:
-      - {}
-
-helm3_hook: true
-
-manifests:
-  configmap_bin: true
-  configmap_etc: true
-  cron_job_engine_cleaner: true
-  deployment_api: true
-  deployment_conductor: true
-  deployment_engine: true
-  deployment_health_manager: true
-  ingress_api: true
-  job_bootstrap: true
-  job_db_init: true
-  job_db_sync: true
-  job_db_drop: false
-  job_image_repo_sync: true
-  job_ks_endpoints: true
-  job_ks_service: true
-  job_ks_user: true
-  job_rabbit_init: true
-  pdb_api: true
-  pod_test: true
-  network_policy: false
-  secret_db: true
-  secret_keystone: true
-  secret_rabbitmq: true
-  secret_registry: true
-  service_ingress_api: true
-  service_api: true
-...
diff --git a/tools/deployment/component/senlin/senlin.sh b/tools/deployment/component/senlin/senlin.sh
deleted file mode 100755
index 745937499b..0000000000
--- a/tools/deployment/component/senlin/senlin.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-#    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.
-set -xe
-
-#NOTE: Define variables
-: ${OSH_HELM_REPO:="../openstack-helm"}
-: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
-: ${OSH_EXTRA_HELM_ARGS_SENLIN:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c senlin ${FEATURES})"}
-: ${RUN_HELM_TESTS:="yes"}
-
-#NOTE: Deploy command
-helm upgrade --install senlin ${OSH_HELM_REPO}/senlin \
-  --namespace=openstack \
-  --set pod.replicas.api=2 \
-  --set pod.replicas.engine=2 \
-  ${OSH_EXTRA_HELM_ARGS} \
-  ${OSH_EXTRA_HELM_ARGS_SENLIN}
-
-#NOTE: Wait for deploy
-helm osh wait-for-pods openstack
-
-#NOTE: Validate Deployment info
-export OS_CLOUD=openstack_helm
-openstack service list
diff --git a/values_overrides/keystone/netpol.yaml b/values_overrides/keystone/netpol.yaml
index 8d4eb5977f..3726c02f98 100644
--- a/values_overrides/keystone/netpol.yaml
+++ b/values_overrides/keystone/netpol.yaml
@@ -47,9 +47,6 @@ network_policy:
         - podSelector:
             matchLabels:
               application: neutron
-        - podSelector:
-            matchLabels:
-              application: senlin
         - podSelector:
             matchLabels:
               application: placement
diff --git a/values_overrides/openstack/keystone/netpol.yaml b/values_overrides/openstack/keystone/netpol.yaml
index 535861dbf8..5aef4cbb0f 100644
--- a/values_overrides/openstack/keystone/netpol.yaml
+++ b/values_overrides/openstack/keystone/netpol.yaml
@@ -48,9 +48,6 @@ keystone:
           - podSelector:
               matchLabels:
                 application: neutron
-          - podSelector:
-              matchLabels:
-                application: senlin
           - podSelector:
               matchLabels:
                 application: placement
diff --git a/values_overrides/openstack/mariadb/netpol.yaml b/values_overrides/openstack/mariadb/netpol.yaml
index e27f494aed..94d08c0d9b 100644
--- a/values_overrides/openstack/mariadb/netpol.yaml
+++ b/values_overrides/openstack/mariadb/netpol.yaml
@@ -58,9 +58,6 @@ mariadb:
           - podSelector:
               matchLabels:
                 application: rally
-          - podSelector:
-              matchLabels:
-                application: senlin
           - podSelector:
               matchLabels:
                 application: placement
diff --git a/values_overrides/openstack/memcached/netpol.yaml b/values_overrides/openstack/memcached/netpol.yaml
index 5758097cf1..c0c0768d31 100644
--- a/values_overrides/openstack/memcached/netpol.yaml
+++ b/values_overrides/openstack/memcached/netpol.yaml
@@ -45,9 +45,6 @@ memcached:
           - podSelector:
               matchLabels:
                 application: neutron
-          - podSelector:
-              matchLabels:
-                application: senlin
           - podSelector:
               matchLabels:
                 application: placement
diff --git a/values_overrides/openstack/rabbitmq/netpol.yaml b/values_overrides/openstack/rabbitmq/netpol.yaml
index 41114e429d..8cb182b48d 100644
--- a/values_overrides/openstack/rabbitmq/netpol.yaml
+++ b/values_overrides/openstack/rabbitmq/netpol.yaml
@@ -43,9 +43,6 @@ rabbitmq:
           - podSelector:
               matchLabels:
                 application: neutron
-          - podSelector:
-              matchLabels:
-                application: senlin
           - podSelector:
               matchLabels:
                 application: placement
diff --git a/values_overrides/senlin/annotations.yaml b/values_overrides/senlin/annotations.yaml
deleted file mode 100644
index 22a40ae422..0000000000
--- a/values_overrides/senlin/annotations.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-annotations:
-  pod:
-    default:
-      custom.tld/key: "value"
-      custom.tld/key2: "value2"
-    senlin_api:
-      another.tld/foo: "bar"
-  secret:
-    default:
-      custom.tld/key: "value"
-      custom.tld/key2: "value2"
-    identity:
-      admin:
-        another.tld/foo: "bar"
-    oci_image_registry:
-      senlin:
-        custom.tld/key: "value"
-...