Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Łukasz Nowak
slapos
Commits
43c34306
Commit
43c34306
authored
Jun 18, 2020
by
Alain Takoudjou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
repman: use list for some paramters which require multiple values separated by spaces
parent
f01838ee
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
87 additions
and
31 deletions
+87
-31
software/repman/buildout.hash.cfg
software/repman/buildout.hash.cfg
+3
-3
software/repman/instance-repman-input-schema.json
software/repman/instance-repman-input-schema.json
+73
-18
software/repman/instance-repman.cfg.jinja2.in
software/repman/instance-repman.cfg.jinja2.in
+9
-8
software/repman/templates/cluster-config.toml.in
software/repman/templates/cluster-config.toml.in
+1
-0
software/repman/templates/config.toml.in
software/repman/templates/config.toml.in
+1
-2
No files found.
software/repman/buildout.hash.cfg
View file @
43c34306
...
@@ -18,15 +18,15 @@ md5sum = b41f521b5f7980c64260ed0e5c494450
...
@@ -18,15 +18,15 @@ md5sum = b41f521b5f7980c64260ed0e5c494450
[instance-repman.cfg]
[instance-repman.cfg]
_update_hash_filename_ = instance-repman.cfg.jinja2.in
_update_hash_filename_ = instance-repman.cfg.jinja2.in
md5sum =
7dbaace0d7db0e26d582ad17f36ac9cd
md5sum =
657ecdb1dfbbcf53e4e7932b3b5708c4
[config-toml.in]
[config-toml.in]
_update_hash_filename_ = templates/config.toml.in
_update_hash_filename_ = templates/config.toml.in
md5sum =
5cfa75ca5a0048a050c0041dfe541f3d
md5sum =
19fe38a342a5c9857e29f78eedb3c46e
[config-cluster-toml.in]
[config-cluster-toml.in]
_update_hash_filename_ = templates/cluster-config.toml.in
_update_hash_filename_ = templates/cluster-config.toml.in
md5sum =
d2e79a9435082d9420281b4f59a5d464
md5sum =
079599a2841b5a0d5178bb12c4a30ae8
[nginx.conf.in]
[nginx.conf.in]
_update_hash_filename_ = templates/nginx.conf.in
_update_hash_filename_ = templates/nginx.conf.in
...
...
software/repman/instance-repman-input-schema.json
View file @
43c34306
...
@@ -61,9 +61,15 @@
...
@@ -61,9 +61,15 @@
},
},
"mail-smtp-addr"
:
{
"mail-smtp-addr"
:
{
"title"
:
"Mail SMTP address"
,
"title"
:
"Mail SMTP address"
,
"description"
:
"Mail SMTP address. Default: localhost
:25
"
,
"description"
:
"Mail SMTP address. Default: localhost"
,
"type"
:
"string"
,
"type"
:
"string"
,
"default"
:
"localhost:25"
"default"
:
"localhost"
},
"mail-smtp-port"
:
{
"title"
:
"Mail SMTP port"
,
"description"
:
"Mail SMTP port. Default: 25"
,
"type"
:
"integer"
,
"default"
:
"25"
},
},
"mail-smtp-password"
:
{
"mail-smtp-password"
:
{
"title"
:
"Mail SMTP password"
,
"title"
:
"Mail SMTP password"
,
...
@@ -84,10 +90,31 @@
...
@@ -84,10 +90,31 @@
"default"
:
""
"default"
:
""
},
},
"tags"
:
{
"tags"
:
{
"title"
:
"Provisioning db tags"
,
"title"
:
"Provisioning db tag list"
,
"description"
:
"Provisioning db tags"
,
"description"
:
"Provisioning db tags. Set one tag per line."
,
"type"
:
"string"
,
"type"
:
"array"
,
"default"
:
"gtidstrict,bind,pkg,innodb,noquerycache,slow,pfs,linux,readonly,diskmonitor,sqlerror,compressbinlog,bm4ci,mroonga,utctime,readcommitted,nohandshake"
"items"
:
{
"type"
:
"string"
},
"default"
:
[
"gtidstrict"
,
"bind"
,
"pkg"
,
"innodb"
,
"noquerycache"
,
"slow"
,
"pfs"
,
"linux"
,
"readonly"
,
"diskmonitor"
,
"sqlerror"
,
"compressbinlog"
,
"bm4ci"
,
"mroonga"
,
"utctime"
,
"readcommitted"
,
"nohandshake"
]
},
},
"http-session-lifetime"
:
{
"http-session-lifetime"
:
{
"title"
:
"Web Session life time in s"
,
"title"
:
"Web Session life time in s"
,
...
@@ -169,10 +196,18 @@
...
@@ -169,10 +196,18 @@
"default"
:
"external"
"default"
:
"external"
},
},
"proxy-tags"
:
{
"proxy-tags"
:
{
"title"
:
"Proxy tags"
,
"title"
:
"Proxy tag list"
,
"description"
:
"playbook configuration tags. Default: pkg,masterslave,linux,noreadwritesplit"
,
"description"
:
"playbook configuration tags. Default: [
\"
pkg
\"
,
\"
masterslave
\"
,
\"
linux
\"
,
\"
noreadwritesplit
\"
]"
,
"type"
:
"string"
,
"type"
:
"array"
,
"default"
:
"pkg,masterslave,linux,noreadwritesplit"
"items"
:
{
"type"
:
"string"
},
"default"
:
[
"pkg"
,
"masterslave"
,
"linux"
,
"noreadwritesplit"
]
},
},
"logical-backup-cron"
:
{
"logical-backup-cron"
:
{
"title"
:
"Mysqldump backup cron definition."
,
"title"
:
"Mysqldump backup cron definition."
,
...
@@ -222,16 +257,36 @@
...
@@ -222,16 +257,36 @@
"multipleOf"
:
256
"multipleOf"
:
256
},
},
"db-memory-shared-pct"
:
{
"db-memory-shared-pct"
:
{
"title"
:
"Percent memory shared per buffer"
,
"title"
:
"Percent memory list shared per buffer"
,
"description"
:
"Percent memory shared per buffer (default
\"
threads:16,innodb:60,myisam:10,aria:10,rocksdb:1,tokudb:1,s3:1,archive:1,querycache:0
\"
)"
,
"description"
:
"Percent memory shared per buffer. Default: [
\"
threads:16
\"
,
\"
innodb:60
\"
,
\"
myisam:10
\"
,
\"
aria:10
\"
,
\"
rocksdb:1
\"
,
\"
tokudb:1
\"
,
\"
s3:1
\"
,
\"
archive:1
\"
,
\"
querycache:0
\"
]"
,
"type"
:
"string"
,
"type"
:
"array"
,
"default"
:
"threads:16,innodb:60,myisam:10,aria:10,rocksdb:1,tokudb:1,s3:1,archive:1,querycache:0"
"items"
:
{
"type"
:
"string"
},
"default"
:
[
"threads:16"
,
"innodb:60"
,
"myisam:10"
,
"aria:10"
,
"rocksdb:1"
,
"tokudb:1"
,
"s3:1"
,
"archive:1"
,
"querycache:0"
]
},
},
"db-memory-threaded-pct"
:
{
"db-memory-threaded-pct"
:
{
"title"
:
"Percent memory allocted per threads"
,
"title"
:
"Percent memory allocted per threads"
,
"description"
:
"Percent memory allocted per threads. (default
\"
tmp:70,join:20,sort:10
\"
)"
,
"description"
:
"Percent memory allocted per threads. Default: [
\"
tmp:70
\"
,
\"
join:20
\"
,
\"
sort:10
\"
]"
,
"type"
:
"string"
,
"type"
:
"array"
,
"default"
:
"tmp:70,join:20,sort:10"
"items"
:
{
"type"
:
"string"
},
"default"
:
[
"tmp:70"
,
"join:20"
,
"sort:10"
]
},
},
"innodb-file-per-table"
:
{
"innodb-file-per-table"
:
{
"title"
:
"enable Innodb file per table"
,
"title"
:
"enable Innodb file per table"
,
...
@@ -342,4 +397,4 @@
...
@@ -342,4 +397,4 @@
"type"
:
"object"
"type"
:
"object"
}
}
}
}
}
}
\ No newline at end of file
software/repman/instance-repman.cfg.jinja2.in
View file @
43c34306
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
{% set ip = (ipv6_set | list)[0] -%}
{% set ip = (ipv6_set | list)[0] -%}
{% set ipv4 = (ipv4_set | list)[0] -%}
{% set ipv4 = (ipv4_set | list)[0] -%}
{% set cluster_list = [] -%}
{% set cluster_list = [] -%}
{% set tag
s = "gtidstrict,bind,pkg,innodb,noquerycache,slow,pfs,linux,readonly,diskmonitor,sqlerror,compressbinlog,bm4ci,mroonga,utctime,readcommitted,nohandshake"
-%}
{% set tag
_list = ["gtidstrict", "bind", "pkg", "innodb", "noquerycache", "slow", "pfs", "linux", "readonly", "diskmonitor", "sqlerror", "compressbinlog", "bm4ci", "mroonga", "utctime", "readcommitted", "nohandshake"]
-%}
{% set frontend_parameter_dict = slapparameter_dict.get('slave-frontend', {}) -%}
{% set frontend_parameter_dict = slapparameter_dict.get('slave-frontend', {}) -%}
[directory]
[directory]
...
@@ -60,7 +60,7 @@ mode = 755
...
@@ -60,7 +60,7 @@ mode = 755
{% do mariadb_dict.__setitem__('computer-memory-percent-threshold', 80) -%}
{% do mariadb_dict.__setitem__('computer-memory-percent-threshold', 80) -%}
{% set default_parameter_dict = {"cluster1": {"name": "cluster1", "db-prefered-master": "",
{% set default_parameter_dict = {"cluster1": {"name": "cluster1", "db-prefered-master": "",
"database-amount": 2, "proxysql-user": "external",
"proxy-tags": "pkg,masterslave,linux,noreadwritesplit",
"database-amount": 2, "proxysql-user": "external",
"logical-backup-cron": "0 21 * * *", "physical-backup-cron": "0 1 * * *"}} -%}
"logical-backup-cron": "0 21 * * *", "physical-backup-cron": "0 1 * * *"}} -%}
{% for name, parameter_dict in slapparameter_dict.get('repman-cluster-dict', default_parameter_dict).items() -%}
{% for name, parameter_dict in slapparameter_dict.get('repman-cluster-dict', default_parameter_dict).items() -%}
...
@@ -150,7 +150,8 @@ proxysql-servers-ipv6 = [{{ ip }}]
...
@@ -150,7 +150,8 @@ proxysql-servers-ipv6 = [{{ ip }}]
password = ${repman-parameter:password}
password = ${repman-parameter:password}
proxysql-partition = ${buildout:directory}
proxysql-partition = ${buildout:directory}
receiver-port-list = {{ receiver_port_list | join(',') }}
receiver-port-list = {{ receiver_port_list | join(',') }}
proxy-tags = {{ parameter_dict.get("proxy-tags", "pkg,masterslave,linux,noreadwritesplit") }}
enabled-tags = {{ slapparameter_dict.get("tag-list", tag_list) | join(',') }}
proxy-tags = {{ parameter_dict.get("proxy-tags", ["pkg", "masterslave", "linux", "noreadwritesplit"]) | join(',') }}
logical-backup-cron = {{ parameter_dict.get("logical-backup-cron", "0 22 * * *") }}
logical-backup-cron = {{ parameter_dict.get("logical-backup-cron", "0 22 * * *") }}
physical-backup-cron = {{ parameter_dict.get("physical-backup-cron", "0 0 * * *") }}
physical-backup-cron = {{ parameter_dict.get("physical-backup-cron", "0 0 * * *") }}
proxy-cpu-cores = {{ parameter_dict.get("proxy-cpu-cores", 2) }}
proxy-cpu-cores = {{ parameter_dict.get("proxy-cpu-cores", 2) }}
...
@@ -158,8 +159,8 @@ proxy-memory = {{ parameter_dict.get("proxy-memory", 1) }}
...
@@ -158,8 +159,8 @@ proxy-memory = {{ parameter_dict.get("proxy-memory", 1) }}
db-cpu-cores = {{ parameter_dict.get("db-cpu-cores", 2) }}
db-cpu-cores = {{ parameter_dict.get("db-cpu-cores", 2) }}
db-disk-iops = {{ parameter_dict.get("db-disk-iops", 300) }}
db-disk-iops = {{ parameter_dict.get("db-disk-iops", 300) }}
db-memory = {{ parameter_dict.get("db-memory", 256) }}
db-memory = {{ parameter_dict.get("db-memory", 256) }}
db-memory-shared-pct = {{ parameter_dict.get("db-memory-shared-pct",
"threads:16,innodb:60,myisam:10,aria:10,rocksdb:1,tokudb:1,s3:1,archive:1,querycache:0"
) }}
db-memory-shared-pct = {{ parameter_dict.get("db-memory-shared-pct",
["threads:16", "innodb:60", "myisam:10", "aria:10", "rocksdb:1", "tokudb:1", "s3:1", "archive:1", "querycache:0"]) | join(','
) }}
db-memory-threaded-pct = {{ parameter_dict.get("db-memory-threaded-pct",
"tmp:70,join:20,sort:10"
) }}
db-memory-threaded-pct = {{ parameter_dict.get("db-memory-threaded-pct",
["tmp:70", "join:20", "sort:10"]) | join(','
) }}
# failover
# failover
failover-mode = {{ parameter_dict.get('failover-mode', 'manual') }}
failover-mode = {{ parameter_dict.get('failover-mode', 'manual') }}
failover-limit = {{ parameter_dict.get('failover-limit', 5) }}
failover-limit = {{ parameter_dict.get('failover-limit', 5) }}
...
@@ -336,11 +337,11 @@ sysbench-bin = {{ sysbench_location }}/bin/sysbench
...
@@ -336,11 +337,11 @@ sysbench-bin = {{ sysbench_location }}/bin/sysbench
restic-bin = {{ restic_bin_location }}
restic-bin = {{ restic_bin_location }}
mail-from = {{ slapparameter_dict.get("mail-from", "mrm@localhost") }}
mail-from = {{ slapparameter_dict.get("mail-from", "mrm@localhost") }}
mail-smtp-addr = {{ slapparameter_dict.get("mail-smtp-addr", "localhost:25") }}
mail-smtp-addr = {{ slapparameter_dict.get("mail-smtp-addr", "localhost") }}
mail-smtp-port = {{ slapparameter_dict.get("mail-smtp-port", "25") }}
mail-smtp-password = {{ slapparameter_dict.get("mail-smtp-password", "") }}
mail-smtp-password = {{ slapparameter_dict.get("mail-smtp-password", "") }}
mail-smtp-user = {{ slapparameter_dict.get("mail-smtp-user", "") }}
mail-smtp-user = {{ slapparameter_dict.get("mail-smtp-user", "") }}
mail-to = {{ slapparameter_dict.get("mail-to", "") }}
mail-to = {{ slapparameter_dict.get("mail-to", "") }}
enabled-tags = {{ slapparameter_dict.get("tags", tags) }}
http-session-lifetime = {{ slapparameter_dict.get("http-session-lifetime", 86400) }}
http-session-lifetime = {{ slapparameter_dict.get("http-session-lifetime", 86400) }}
http-refresh-interval = {{ slapparameter_dict.get("http-refresh-interval", 4) }}
http-refresh-interval = {{ slapparameter_dict.get("http-refresh-interval", 4) }}
...
@@ -354,7 +355,7 @@ command =
...
@@ -354,7 +355,7 @@ command =
{{ rsync_location }}/bin/rsync -av dashboard ${repman:root-dir}/
{{ rsync_location }}/bin/rsync -av dashboard ${repman:root-dir}/
update-command = ${:command}
update-command = ${:command}
[replication-manager-reload]
[replication-manager-reload]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template:jinja2
template = {{ template_repman_manager_sh }}
template = {{ template_repman_manager_sh }}
...
...
software/repman/templates/cluster-config.toml.in
View file @
43c34306
...
@@ -22,6 +22,7 @@ proxysql-bootstrap = true
...
@@ -22,6 +22,7 @@ proxysql-bootstrap = true
proxysql-admin-port = {{ parameter_dict['proxy-admin-port'] }}
proxysql-admin-port = {{ parameter_dict['proxy-admin-port'] }}
proxysql-password = "{{ parameter_dict['password'] }}"
proxysql-password = "{{ parameter_dict['password'] }}"
prov-db-tags = "{{ parameter_dict['enabled-tags'] }}"
prov-proxy-tags = "{{ parameter_dict['proxy-tags'] }}"
prov-proxy-tags = "{{ parameter_dict['proxy-tags'] }}"
monitoring-scheduler = true
monitoring-scheduler = true
...
...
software/repman/templates/config.toml.in
View file @
43c34306
...
@@ -53,14 +53,13 @@ backup-mysqldump-path = "{{ parameter_dict['mysqldump-path'] }}"
...
@@ -53,14 +53,13 @@ backup-mysqldump-path = "{{ parameter_dict['mysqldump-path'] }}"
# Alert email sender (default "mrm@localhost")
# Alert email sender (default "mrm@localhost")
mail-from = "{{ parameter_dict['mail-from'] }}"
mail-from = "{{ parameter_dict['mail-from'] }}"
# Alert email SMTP server address, in host:[port] format (default "localhost:25")
# Alert email SMTP server address, in host:[port] format (default "localhost:25")
mail-smtp-addr = "{{ parameter_dict['mail-smtp-addr'] }}"
mail-smtp-addr = "{{ parameter_dict['mail-smtp-addr'] }}
:{{ parameter_dict['mail-smtp-port'] }}
"
mail-smtp-password = "{{ parameter_dict['mail-smtp-password'] }}"
mail-smtp-password = "{{ parameter_dict['mail-smtp-password'] }}"
mail-smtp-user = "{{ parameter_dict['mail-smtp-user'] }}"
mail-smtp-user = "{{ parameter_dict['mail-smtp-user'] }}"
# Alert email recipients, separated by commas
# Alert email recipients, separated by commas
mail-to = "{{ parameter_dict['mail-to'] }}"
mail-to = "{{ parameter_dict['mail-to'] }}"
prov-orchestrator = "slapos"
prov-orchestrator = "slapos"
prov-db-tags = "{{ parameter_dict['enabled-tags'] }}"
sysbench-binary-path = "{{ parameter_dict['sysbench-bin'] }}"
sysbench-binary-path = "{{ parameter_dict['sysbench-bin'] }}"
# Number of threads to run benchmark (default 4)
# Number of threads to run benchmark (default 4)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment