Skip to content

Commit 8152dc6

Browse files
committed
Add parameters 'master_failure_mode' and 'master_reconnection' for readwritesplit router
Signed-off-by: Ramón Cahenzli <ramon.cahenzli@vshn.ch>
1 parent cc12e54 commit 8152dc6

5 files changed

Lines changed: 25 additions & 23 deletions

File tree

class/defaults.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ parameters:
1515
monitor_user: maxscale
1616
service_pwd: ?{vaultkv:${cluster:tenant}/${cluster:name}/${_instance}/service_pwd}
1717
monitor_pwd: ?{vaultkv:${cluster:tenant}/${cluster:name}/${_instance}/monitor_pwd}
18+
master_failure_mode: fail_instantly
19+
master_reconnection: false
1820
replicas: 2
1921
affinity: {}
2022
images:

component/main.jsonnet

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ local deployment = kube.Deployment('maxscale') {
7777
SERVICE_PWD: kube.SecretKeyRef(secret, 'service_pwd'),
7878
MONITOR_USER: params.monitor_user,
7979
MONITOR_PWD: kube.SecretKeyRef(secret, 'monitor_pwd'),
80+
MASTER_FAILURE_MODE: params.master_failure_mode,
81+
MASTER_RECONNECTION: params.master_reconnection,
8082
}),
8183
ports_+: {
8284
masteronly: { containerPort: 3306 },

configs/maxscale.cnf

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ router=readwritesplit
1111
servers=db1,db2,db3
1212
type=service
1313
user=$SERVICE_USER
14+
master_failure_mode=$MASTER_FAILURE_MODE
15+
master_reconnection=$MASTER_RECONNECTION
1416

1517
[ReadWriteSplit-Listener]
1618
address=$READ_WRITE_LISTEN_ADDRESS
@@ -63,26 +65,3 @@ address=$DB3_ADDRESS
6365
port=$DB3_PORT
6466
protocol=MariaDBBackend
6567
priority=3
66-
67-
#[MaxInfo]
68-
#type=service
69-
#router=maxinfo
70-
#user=monitor
71-
#password=$SERVICE_PWD
72-
#
73-
#[MaxInfo-JSON-Listener]
74-
#type=listener
75-
#service=MaxInfo
76-
#protocol=HTTPD
77-
#port=8003
78-
#
79-
#[CLI]
80-
#type=service
81-
#router=cli
82-
#
83-
#[CLI-Listener]
84-
#type=listener
85-
#service=CLI
86-
#protocol=maxscaled
87-
#socket=default
88-

docs/modules/ROOT/pages/references/parameters.adoc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,23 @@ default:: `?{vaultkv:${cluster:tenant}/${cluster:name}/maxscale/service_pwd}`
9090
type:: string
9191
default:: `?{vaultkv:${cluster:tenant}/${cluster:name}/maxscale/monitor_pwd}`
9292

93+
== `master_failure_mode`
94+
95+
Controls behavior of the readwritesplit router module on master failure, see [upstream documentation](https://mariadb.com/kb/en/mariadb-maxscale-6-readwritesplit/#master_failure_mode).
96+
97+
[horizontal]
98+
type:: string
99+
default:: `fail_instantly`
100+
101+
== `master_reconnection`
102+
103+
Whether the readwritesplit router module allows the master server to change mid-session, see [upstream documentation](https://mariadb.com/kb/en/mariadb-maxscale-6-readwritesplit/#master_reconnection).
104+
105+
[horizontal]
106+
type:: boolean
107+
default:: `false`
108+
109+
93110
= Pod Affinity Parameters
94111

95112
By default, `affinity` is set to `{}` so the pods get no specific affinity. You can override this freely to [choose any pod affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).

tests/defaults.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ parameters:
2020
monitor_user: maxscale-testmonitor
2121
service_pwd: ?{vaultkv:${cluster:tenant}/${cluster:name}/${_instance}/service_pwd}
2222
monitor_pwd: ?{vaultkv:${cluster:tenant}/${cluster:name}/${_instance}/monitor_pwd}
23+
master_failure_mode: fail_instantly
24+
master_reconnection: false
2325
resources:
2426
limits:
2527
memory: 512Mi

0 commit comments

Comments
 (0)