3939 Commits

Author SHA1 Message Date
Vasyl Saienko
10e8b39a91 [mariadb] Add probes for exporter
Implement readiness/liveness probes for exporter

Change-Id: I7e73872dd35b8e6adf67d585e7d4d9250eca70c3
2024-11-19 14:28:01 +00:00
Vasyl Saienko
cae49d7455 Allow to use default storage class
When name of storage class is specified as default, do not add
storageClassName option to let kubernetes pick a default

Change-Id: I25c60e49ba770ce10ea2ec68c3555ffea49848fe
2024-11-19 07:49:37 +00:00
Vasyl Saienko
bb236e0a98 [mariadb] Add terminationGracePeriodSeconds
Allow to set terminationGracePeriodSeconds for server instace to let
more time to shutdown all clients gracefully.
Increase timeout to 600 seconds by default.

Change-Id: I1f4ba7d5ca50d1282cedfacffbe818af7ccc60f2
2024-11-19 07:49:33 +00:00
Vasyl Saienko
c2269d70a2 [mariadb] Use service IP to discover endpoints
It was observed that under certain circumstances
galera instances can use old IP address of the node
after pod restart. This patch changes the value of
wsrep_cluster_address variable - instead of listing
all dns names of the cluster nodes the discovery service
IP address is used. In this case cluster_node_address is set to IP
address instead of DNS name - otherwise SST method will fail.

Co-Authored-By: Oleksii Grudev <ogrudev@mirantis.com>

Change-Id: I8059f28943150785abd48316514c0ffde56dfde5
2024-11-19 07:49:29 +00:00
Vasyl Saienko
65ec71b939 [mariadb] Implement mariadb upgrade on start
Call mysql_upgrade during start to check and upgrade if needed

Change-Id: I9c4ac1a5ea5f492282bb6bb1ee9923b036faa998
2024-11-19 06:17:24 +00:00
Vasyl Saienko
f0ad9daa5a [mariadb] Avoid using deprecated isAlive
The method was deprecated and later dropped, switch to is_alive()

Co-Authored-By: dbiletskiy <dbiletskiy@mirantis.com>

Change-Id: Ie259d0e59c68c9884e85025b1e44bcd347f45eff
2024-11-18 07:41:35 +00:00
Vasyl Saienko
174f6f5bd5 [mariadb] Refactor liveness/readiness probes
* Move all probes into single script to reduce code duplication
* Check free disk percent, fail when we consume 99% to avoid
  data corruption
* Do not restart container when SST is in progress

Change-Id: I6efc7596753dc988aa9edd7ade4d57107db98bdd
2024-11-13 18:37:52 +00:00
Vasyl Saienko
842f0f11dc [mariadb] Give more time on resolving configmap update conflicts
Make 'data too old' timeout dependent on state report interval. Increase
timeout to 5 times of report interval.

Change-Id: I0c350f9e64b65546965002d0d6a1082fd91f6f58
2024-11-13 18:37:48 +00:00
Oleksii Grudev
cb3afe6f85 Prevent TypeError in get_active_endpoint function
Sometimes "endpoints_dict" var can be evaluated to None
resulting in "TypeError: 'NoneType' object is not iterable"
error. This patch catches the exception while getting
list of endpoints and checks the value of
endpoints_dict.  Also the amount of active endpoints is being logged
for debug purposes.

Change-Id: I79f6b0b5ced8129b9a28c120b61e3ee050af4336
2024-11-13 18:37:44 +00:00
Vasyl Saienko
13a683b9c2 [mariadb] Remove useless retries on conflics during cm update
The retries were originally added at [0] but they were never working.
We pass fixed revision that we would like to see during patch to avoid
race condition, into the safe_update_configmap. We can't organize retries
inside function as it will require change of the original revision which
may happen only at upper layer. Revert patch partially.

[0] https://review.opendev.org/c/openstack/openstack-helm-infra/+/788886

Change-Id: I81850d5e534a3cfb3c4993275757c244caec8be9
2024-11-13 18:37:39 +00:00
Vasyl Saienko
ef707fa3f3 [mariadb] Stop running threads on sigkill
Stop monitor cluster and leader election threads on sigkill.
This allows to terminate all threads from start.py and actually
exit earlier than terminationGracePeriod in statefulset.
Drop preStop hook which is redundant with stop_mysqld() function call.

Change-Id: Ibc4b7604f00b1c5b3a398370dafed4d19929fd7d
2024-11-13 18:36:49 +00:00
Vasyl Saienko
6d7fba0c43 [mariadb] Improve python3 compatibility
Decode byte sequence into string before printing log.

Change-Id: Icd61a1373f5c62afda0558dfadc2add9138cff6d
2024-11-11 11:37:26 +00:00
Vasyl Saienko
4aaa5fc778 [mariadb] Improve leader election on cold start
During cold start we pick leader node by seqno. When node is running
of finished non gracefully seqno may stay as -1 unless periodic task
update its based on local grastate.dat or will detect latest seqno via
wsrep_recover. This patch adds an unfinite waiter to leader election
function to wait unless all nodes report seqno different that -1 to make
sure we detect leader based on correct data.

Change-Id: Id042f6f4c915b21b905bde4d57d40e159d924772
2024-11-11 11:37:19 +00:00
Vasyl Saienko
4ee7ebda43 [mysql] Use constant for mysqld binary name
Change-Id: I996141242dac9978283e5d2086579c75d120ed8b
2024-11-11 09:45:03 +00:00
Zuul
f706586123 Merge "Mariadb chart updates" 2024-11-02 08:09:57 +00:00
Zuul
cf4611ffb5 Merge "Update grafana helm test" 2024-11-02 01:42:58 +00:00
Zuul
f10f516d2b Merge "ovn: make gateway label configurable" 2024-11-02 01:18:53 +00:00
Sergiy Markin
f630c152e8 Mariadb chart updates
This PS is for improvements for wait_for_cluster mariadb job.

Change-Id: I46de32243e3aaa98b7e3e8c132a84d7b65d657cc
2024-11-01 22:34:58 +00:00
SPEARS, DUSTIN (ds443n)
4da1347ee6 Update grafana helm test
Adds setting XDG_CONFIG_HOME and XDG_CACHE_HOME to
a writable path.

Change-Id: Ieb2a6ca587ecefe24d04392970c415409c8f5e1b
2024-11-01 09:38:17 -04:00
SPEARS, DUSTIN (ds443n)
42940f326a Update helm test for Elasticsearch
Removing the use of python during helm test script as it
is no longer in the image.

Change-Id: Id8feff1bee8c3f2dd277307d176f6a535c5f7ba6
2024-10-24 15:38:43 -04:00
okozachenko1203
5aed17d744 ovn: make gateway label configurable
Change-Id: I88ab77e61e9766e12eb3aff899e0d6dd24a8d3c0
2024-10-25 02:55:01 +11:00
Zuul
aad6fc07d7 Merge "Add 2024.2 overrides" 2024-10-16 20:16:32 +00:00
Zuul
25cbdf250c Merge "[helm-toolkit] Fix db-init and db-drop scripts" 2024-10-13 04:34:20 +00:00
Vladimir Kozhukalov
81da0879c3 [memcached] Fix statefulset spec format
Recently we switched from Deployment to Statefulset
to make it possible to work with memcached instances
directly w/o load balancer. The strategy field is not
valid for statefulsets, so here we remove it.

Change-Id: I52db7dd4563639a55c12850147cf256cec8b1ee4
2024-10-10 12:58:52 -05:00
Vladimir Kozhukalov
489b87a975 Add 2024.2 overrides
Change-Id: Ic43f14e212f4de6616b4255bdd5ce562c5bcf9b0
2024-10-10 13:52:24 +00:00
Vladimir Kozhukalov
ab2cfc1d64 [helm-toolkit] Fix db-init and db-drop scripts
Wrap queries into sqlalchemy.text before executing them.

Change-Id: I783bd05bdd529c73825311515e1390f3cc077c4f
2024-10-10 08:49:08 -05:00
Zuul
5d81f0f5a4 Merge "Add app.kubernetes.io/name label to openstack pods" 2024-10-07 18:20:24 +00:00
Zuul
42b3ccc564 Merge "[mariadb] Add cluster wait job" 2024-10-03 21:31:06 +00:00
jchialun
f9458d51b8 Add app.kubernetes.io/name label to openstack pods
This commit adds recommended kubernetes name label to pods definition.

This label is used by FluxCD operators to correctly look for the
status of every pod.

Change-Id: I866f1dfdb3ca8379682e090aca4c889d81579e5a
Signed-off-by: Johnny Chia <johnny.chialung@windriver.com>
2024-10-03 11:40:58 -05:00
Zuul
45dad274e5 Merge "Allow share OVN DB NB/SB socket" 2024-10-02 16:39:09 +00:00
Zuul
11d962b766 Merge "Revert "[rabbitmq] Use short rabbitmq node name"" 2024-10-02 13:45:27 +00:00
ricolin
6373f70dbf Allow share OVN DB NB/SB socket
This will help other services to access to OVN DB.
So services like Octavia can use OVN Octavia provider agent.

Change-Id: Iddaa6214ece63a5f1e692fe019bcba1b41fdb18f
2024-10-02 14:23:43 +08:00
Zuul
167dd26541 Merge "[mariadb] Remove ingress deployment" 2024-10-01 20:10:49 +00:00
Zuul
cac86d1809 Merge "Allow to package charts in specified directory" 2024-10-01 15:35:21 +00:00
Zuul
0bd5f0687b Merge "Allow to pass custom helm charts version" 2024-10-01 04:28:04 +00:00
Vasyl Saienko
bd8ae094a8 Allow to package charts in specified directory
Use make PACKAGE_DIR=/foo/bar/

Change-Id: I37db3f507c9375c64081adcf994ede3829dbb34b
2024-09-27 17:59:42 +00:00
Vasyl Saienko
8807cd8189 Allow to pass custom helm charts version
* Allow to pass custom helm chart version during build like
    make all version=1.2.3+custom123
* add get-version target that allows to get version based on
  number of git commits in format <git-tag>+<commits number>

Change-Id: I1f04aeaa8dd49dfa2ed1d76aabd54a0d5bf8f573
2024-09-27 17:59:35 +00:00
jasvinder singh kwatra
f361feb69a [helm-toolkit] Update toolkit to support fqdn alias
This change add the ability to add fqdn alias to namespace and cluster ingress resources. This change is specifically required for keystone so HA of backup solution can be implemented.This change allows user to specify alias_fqdn in the endpoints section, and user can have alias configued. This change is backward compatible, so without specifying this option in charts gives one fqdn ingress rule without cname alias as default behaviour.

Change-Id: Ib1c60524e2f247bb057318b1143bfbc3bde5b73a
2024-09-26 15:27:23 -05:00
Vasyl Saienko
9e2b9d9780 Revert "[rabbitmq] Use short rabbitmq node name"
Rabbitmqcluster does not work with short node names, as
there is unresolvable dependency in dns resolution, it is
not possible to resolve only pod name svc must be added.

This reverts commit bb7580944a5268a1e5f7fcd195b156f53dc668c5.

Change-Id: I42b25ba4f569bae94bbc2939a1022bd14e66e527
2024-09-26 06:12:47 +00:00
Vladimir Kozhukalov
7086815c74 [libvirt] Add 2023.1 overrides
Recently we fixed the libvirt.sh script
and removed the conditionals cgroup commands
which were introduced for smooth transition
to Jammy and cgroups v2

https://review.opendev.org/c/openstack/openstack-helm-infra/+/929401

But because we didn't have overrides for 2023.1
we used to run 2023.1 with the default libvirt image
openstackhelm/libvirt:latest-ubuntu_focal
which does not work with cgroups v2 on the host
system with this recent fix (see above).

So the 2023.1 Ubuntu Jammy compute-kit test jobs fails.
This PR fixes this job by means of introducing
explicit image overrides for 2023.1.

Change-Id: Ie81f8fb412362388274ea92ad7fa5d3d176c0441
2024-09-24 21:49:34 -05:00
Zuul
0b1ae682e0 Merge "Add local volume provisioner chart" 2024-09-23 03:49:57 +00:00
Zuul
455ae46dfa Merge "[libvirt] Implement daemonset overrides for libvirt" 2024-09-19 21:54:15 +00:00
Zuul
ce7e79b745 Merge "[libvirt] Make readiness probe more tiny" 2024-09-19 19:22:24 +00:00
Zuul
100dc96533 Merge "[libvirt] Allow to generate dynamic config options" 2024-09-19 19:22:22 +00:00
Zuul
883e8b7d80 Merge "[memcached] Change deployment type to statefulset" 2024-09-19 16:02:38 +00:00
Vasyl Saienko
46cc2c070f [libvirt] Implement daemonset overrides for libvirt
The patch implements libvirt daemonset to use overrides daemonset_overrides_root

  .Values:
    overrides:
      libvirt_libvirt:
        labels:
          label::value:
            values:
              override_root_option: override_root_value
              conf:
                dynamic_options:
                  libvirt:
                    listen_interface: null

Change-Id: If4c61f248d752316c54955ebf9712bb3235c06fd
2024-09-19 12:47:54 +00:00
Zuul
a7e8754a02 Merge "[mariadb] Switch to controller deployment" 2024-09-19 00:46:03 +00:00
Zuul
1b244caeaf Merge "[mariadb] Deploy exporter as sidecar" 2024-09-18 22:09:17 +00:00
Zuul
e56f63985b Merge "[mariadb] Avoid using cluster endpoints" 2024-09-18 22:09:15 +00:00
Zuul
c72c6f1294 Merge "[helm-toolkit] Add daemonset_overrides_root util" 2024-09-18 19:07:26 +00:00