From 2aa5ead9d1917f2d5235b5b3ed8e7bb9a697f7df Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Sun, 12 May 2024 15:21:34 +1000 Subject: [PATCH] feat: prepare syd1 mariadb cluster - update role to wait for enc_role - move hiera data to country/region/role specific location --- hieradata/country/au/region/syd1/infra/sql/galera.yaml | 4 ++++ hieradata/roles/infra/sql/galera.yaml | 3 --- site/profiles/manifests/sql/galera_member.pp | 3 ++- site/roles/manifests/infra/sql/galera.pp | 5 ++++- 4 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 hieradata/country/au/region/syd1/infra/sql/galera.yaml diff --git a/hieradata/country/au/region/syd1/infra/sql/galera.yaml b/hieradata/country/au/region/syd1/infra/sql/galera.yaml new file mode 100644 index 0000000..9c4119c --- /dev/null +++ b/hieradata/country/au/region/syd1/infra/sql/galera.yaml @@ -0,0 +1,4 @@ +--- +profiles::sql::galera_member::cluster_name: au-syd1 +profiles::sql::galera_member::galera_master: ausyd1nxvm1027.main.unkin.net +profiles::sql::galera_member::innodb_buffer_pool_size: 256M diff --git a/hieradata/roles/infra/sql/galera.yaml b/hieradata/roles/infra/sql/galera.yaml index f6965e6..28f9034 100644 --- a/hieradata/roles/infra/sql/galera.yaml +++ b/hieradata/roles/infra/sql/galera.yaml @@ -1,11 +1,8 @@ --- -profiles::sql::galera_member::cluster_name: galera01 -profiles::sql::galera_member::galera_master: prodinf01n29.main.unkin.net profiles::sql::galera_member::configure_firewall: false profiles::sql::galera_member::wsrep_sst_method: rsync profiles::sql::galera_member::galera_members_lookup: true profiles::sql::galera_member::galera_members_role: roles::infra::sql::galera profiles::sql::galera_member::datadir: /data/mariadb -profiles::sql::galera_member::innodb_buffer_pool_size: 256M profiles::sql::galera_member::innodb_file_per_table: 1 profiles::sql::galera_member::package_name: mariadb-galera-server diff --git a/site/profiles/manifests/sql/galera_member.pp b/site/profiles/manifests/sql/galera_member.pp index 66f189c..a55d5fd 100644 --- a/site/profiles/manifests/sql/galera_member.pp +++ b/site/profiles/manifests/sql/galera_member.pp @@ -47,7 +47,7 @@ class profiles::sql::galera_member ( } # if it is, find hosts, sort them so they dont cause changes every run - $servers_array = sort(query_nodes("enc_role='${galera_members_role}'", 'networking.fqdn')) + $servers_array = sort(query_nodes("enc_role='${galera_members_role}' and region='${facts['region']}'", 'networking.fqdn')) # else use provided array from params }else{ @@ -211,4 +211,5 @@ class profiles::sql::galera_member ( }else{ notice("${title} requires the servers_array to have 3 or more, currently it is ${length($servers_array)}.") } + } diff --git a/site/roles/manifests/infra/sql/galera.pp b/site/roles/manifests/infra/sql/galera.pp index a116c8c..207aed6 100644 --- a/site/roles/manifests/infra/sql/galera.pp +++ b/site/roles/manifests/infra/sql/galera.pp @@ -3,5 +3,8 @@ class roles::infra::sql::galera { include profiles::defaults include profiles::base include profiles::base::datavol - include profiles::sql::galera_member + + if $facts['enc_role'] == 'roles::infra::sql::galera' { + include profiles::sql::galera_member + } }