chore: Apply uptream patch for horizon osh chart

To enable manila_ui extra panel
diff --git a/charts/horizon/Chart.yaml b/charts/horizon/Chart.yaml
index 8cf246f..b756e55 100644
--- a/charts/horizon/Chart.yaml
+++ b/charts/horizon/Chart.yaml
@@ -9,4 +9,4 @@
 sources:
 - https://opendev.org/openstack/horizon
 - https://opendev.org/openstack/openstack-helm
-version: 0.3.2
+version: 0.3.5
diff --git a/charts/horizon/charts/helm-toolkit/Chart.yaml b/charts/horizon/charts/helm-toolkit/Chart.yaml
index c1296b9..404f380 100644
--- a/charts/horizon/charts/helm-toolkit/Chart.yaml
+++ b/charts/horizon/charts/helm-toolkit/Chart.yaml
@@ -9,4 +9,4 @@
 sources:
 - https://opendev.org/openstack/openstack-helm-infra
 - https://opendev.org/openstack/openstack-helm
-version: 0.2.51
+version: 0.2.52
diff --git a/charts/horizon/charts/helm-toolkit/templates/scripts/db-backup-restore/_backup_main.sh.tpl b/charts/horizon/charts/helm-toolkit/templates/scripts/db-backup-restore/_backup_main.sh.tpl
index 9597d34..3963bd4 100644
--- a/charts/horizon/charts/helm-toolkit/templates/scripts/db-backup-restore/_backup_main.sh.tpl
+++ b/charts/horizon/charts/helm-toolkit/templates/scripts/db-backup-restore/_backup_main.sh.tpl
@@ -214,7 +214,7 @@
   fi
 
   # load balance delay
-  DELAY=$((1 + ${RANDOM} % 300))
+  DELAY=$((1 + ${RANDOM} % 30))
   echo "Sleeping for ${DELAY} seconds to spread the load in time..."
   sleep ${DELAY}
 
@@ -231,31 +231,17 @@
     return 2
   fi
 
-  # load balance delay
-  DELAY=$((1 + ${RANDOM} % 300))
-  echo "Sleeping for ${DELAY} seconds to spread the load in time..."
-  sleep ${DELAY}
-
-  # Calculation remote file SHA256 hash
-  REMOTE_FILE=$(mktemp -p /tmp)
-  openstack object save --file ${REMOTE_FILE} $CONTAINER_NAME $FILE
-  if [[ $? -ne 0 ]]; then
-    log WARN "${DB_NAME}_backup" "Unable to save container object $FILE for SHA256 hash verification."
-    rm -rf ${REMOTE_FILE}
-    return 1
-  fi
-
   # Remote backup verification
-  SHA256_REMOTE=$(cat ${REMOTE_FILE} | sha256sum | awk '{print $1}')
-  SHA256_LOCAL=$(cat ${FILEPATH}/${FILE} | sha256sum | awk '{print $1}')
-  log INFO "${DB_NAME}_backup" "Calculated SHA256 hashes for the file $FILE in container $CONTAINER_NAME."
-  log INFO "${DB_NAME}_backup" "Local SHA256 hash is ${SHA256_LOCAL}."
-  log INFO "${DB_NAME}_backup" "Remote SHA256 hash is ${SHA256_REMOTE}."
-  if [[ "${SHA256_LOCAL}" == "${SHA256_REMOTE}" ]]; then
-      log INFO "${DB_NAME}_backup" "The local backup & remote backup SHA256 hash values are matching for file $FILE in container $CONTAINER_NAME."
+  MD5_REMOTE=$(openstack object show $CONTAINER_NAME $FILE -f json | jq -r ".etag")
+  MD5_LOCAL=$(cat ${FILEPATH}/${FILE} | md5sum | awk '{print $1}')
+  log INFO "${DB_NAME}_backup" "Obtained MD5 hash for the file $FILE in container $CONTAINER_NAME."
+  log INFO "${DB_NAME}_backup" "Local MD5 hash is ${MD5_LOCAL}."
+  log INFO "${DB_NAME}_backup" "Remote MD5 hash is ${MD5_REMOTE}."
+  if [[ "${MD5_LOCAL}" == "${MD5_REMOTE}" ]]; then
+      log INFO "${DB_NAME}_backup" "The local backup & remote backup MD5 hash values are matching for file $FILE in container $CONTAINER_NAME."
   else
-      log ERROR "${DB_NAME}_backup" "Mismatch between the local backup & remote backup sha256 hash values"
-      return 1
+      log ERROR "${DB_NAME}_backup" "Mismatch between the local backup & remote backup MD5 hash values"
+      return 2
   fi
   rm -rf ${REMOTE_FILE}
 
diff --git a/charts/horizon/requirements.lock b/charts/horizon/requirements.lock
index 1a789f6..38083eb 100644
--- a/charts/horizon/requirements.lock
+++ b/charts/horizon/requirements.lock
@@ -1,6 +1,6 @@
 dependencies:
 - name: helm-toolkit
   repository: file://../../openstack-helm-infra/helm-toolkit
-  version: 0.2.51
-digest: sha256:9fe05ff9103d825422e13cdd8ce9852c3dacfadc12751b7883affdbe483b1b3b
-generated: "2023-02-01T21:05:34.36613414Z"
+  version: 0.2.52
+digest: sha256:fa4cf6491d7d370591b9751dbc9e761b5ae4bd1fdfda954f0acc240b187e0551
+generated: "2023-03-21T03:57:16.948204255Z"
diff --git a/charts/horizon/templates/bin/_horizon.sh.tpl b/charts/horizon/templates/bin/_horizon.sh.tpl
index 1fedecd..8d2b0be 100644
--- a/charts/horizon/templates/bin/_horizon.sh.tpl
+++ b/charts/horizon/templates/bin/_horizon.sh.tpl
@@ -62,6 +62,14 @@
     done
   fi
   unset PANEL_DIR
+  PANEL_DIR="${SITE_PACKAGES_ROOT}/{{ . }}/local/enabled"
+  if [ -d ${PANEL_DIR} ];then
+    for panel in `ls -1 ${PANEL_DIR}/_[1-9]*.py`
+    do
+      ln -s ${panel} ${SITE_PACKAGES_ROOT}/openstack_dashboard/local/enabled/$(basename ${panel})
+    done
+  fi
+  unset PANEL_DIR
   {{- end }}
 
   # If the image has support for it, compile the translations
diff --git a/charts/horizon/templates/deployment.yaml b/charts/horizon/templates/deployment.yaml
index a23b56d..3339876 100644
--- a/charts/horizon/templates/deployment.yaml
+++ b/charts/horizon/templates/deployment.yaml
@@ -90,6 +90,7 @@
               port: {{ tuple "dashboard" "internal" "web" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
             initialDelaySeconds: 15
             periodSeconds: 10
+            timeoutSeconds: 5
           livenessProbe:
             httpGet:
               scheme: {{ tuple "dashboard" "internal" "web" . | include "helm-toolkit.endpoints.keystone_endpoint_scheme_lookup" | upper }}
diff --git a/charts/horizon/values.yaml b/charts/horizon/values.yaml
index d07a12e..73b0d46 100644
--- a/charts/horizon/values.yaml
+++ b/charts/horizon/values.yaml
@@ -1138,6 +1138,9 @@
       - key: node-role.kubernetes.io/master
         operator: Exists
         effect: NoSchedule
+      - key: node-role.kubernetes.io/control-plane
+        operator: Exists
+        effect: NoSchedule
   mounts:
     horizon_db_init:
       init_container: null
diff --git a/hack/sync-charts.sh b/hack/sync-charts.sh
index 1043a63..c5ed389 100755
--- a/hack/sync-charts.sh
+++ b/hack/sync-charts.sh
@@ -158,15 +158,15 @@
 curl -sL https://tarballs.opendev.org/openstack/openstack-helm/magnum-${MAGNUM_VERSION}.tgz \
   | tar -xz -C ${ATMOSPHERE}/charts
 
-HORIZON_VERSION=0.3.2
+HORIZON_VERSION=0.3.5
 curl -sL https://tarballs.opendev.org/openstack/openstack-helm/horizon-${HORIZON_VERSION}.tgz \
   | tar -xz -C ${ATMOSPHERE}/charts
-curl 'https://review.opendev.org/changes/openstack%2Fopenstack-helm~872524/revisions/1/patch?download' \
+curl 'https://review.opendev.org/changes/openstack%2Fopenstack-helm~874354/revisions/4/patch?download' \
   | base64 --decode \
   | filterdiff -p1 -x 'releasenotes/*' \
   | filterdiff -p2 -x 'Chart.yaml' \
   | patch -p2 -d ${ATMOSPHERE}/charts/horizon
-curl 'https://review.opendev.org/changes/openstack%2Fopenstack-helm~874354/revisions/1/patch?download' \
+curl 'https://review.opendev.org/changes/openstack%2Fopenstack-helm~878529/revisions/1/patch?download' \
   | base64 --decode \
   | filterdiff -p1 -x 'releasenotes/*' \
   | filterdiff -p2 -x 'Chart.yaml' \