From bb4ddc7aacb6e30fa97d93dcac475e073f48b767 Mon Sep 17 00:00:00 2001 From: Jakob Kartschall Date: Wed, 6 Mar 2019 22:52:56 +0100 Subject: [PATCH 1/4] Add support for bionic --- manifests/params.pp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index ff8a8db7..51c0da19 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -66,10 +66,9 @@ $package_dependencies = [] } '18.04': { - # no upstream bionic builds are provided yet. - $package_source = undef - $package_checksum_value = undef - $package_checksum_type = undef + $package_source = 'https://github.com/sysown/proxysql/releases/download/v2.0.2/proxysql_2.0.2-ubuntu18_amd64.deb' + $package_checksum_value = 'c376bd539aef4207e56535b1dd8a7bd98a490db2' + $package_checksum_type = 'sha1' $package_dependencies = [] } default: { From 94e1a98d4683fea6d3ab4a9c5f079a9d80a09f67 Mon Sep 17 00:00:00 2001 From: Alexander Fisher Date: Wed, 15 May 2019 17:27:42 +0100 Subject: [PATCH 2/4] Add Ubuntu 18.04 to metadata and beaker tests --- .sync.yml | 1 + .travis.yml | 8 ++++++++ metadata.json | 3 ++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.sync.yml b/.sync.yml index c9e56d30..fa768be6 100644 --- a/.sync.yml +++ b/.sync.yml @@ -4,6 +4,7 @@ docker_sets: - set: ubuntu1404-64 - set: ubuntu1604-64 + - set: ubuntu1804-64 - set: centos6-64 - set: centos7-64 - set: debian8-64 diff --git a/.travis.yml b/.travis.yml index 8f526587..b996a84d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,6 +39,14 @@ matrix: bundler_args: --without development release env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=ubuntu1604-64 BEAKER_HYPERVISOR=docker CHECK=beaker services: docker + - rvm: 2.5.3 + bundler_args: --without development release + env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=ubuntu1804-64 BEAKER_HYPERVISOR=docker CHECK=beaker + services: docker + - rvm: 2.5.3 + bundler_args: --without development release + env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=ubuntu1804-64 BEAKER_HYPERVISOR=docker CHECK=beaker + services: docker - rvm: 2.5.3 bundler_args: --without development release env: PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_debug=true BEAKER_setfile=centos6-64 BEAKER_HYPERVISOR=docker CHECK=beaker diff --git a/metadata.json b/metadata.json index ada6ca81..ee989210 100644 --- a/metadata.json +++ b/metadata.json @@ -63,7 +63,8 @@ "operatingsystem": "Ubuntu", "operatingsystemrelease": [ "14.04", - "16.04" + "16.04", + "18.04" ] } ], From 80594af7c258b08969ab1d7bf616806f703c6ae9 Mon Sep 17 00:00:00 2001 From: Alexander Fisher Date: Wed, 15 May 2019 18:19:52 +0100 Subject: [PATCH 3/4] Use '2.0.x' suitable defaults for ubuntu 18.04 There is no '1.4.x' upstream repo published for ubuntu 18.04 --- manifests/init.pp | 4 ++-- manifests/params.pp | 20 +++++++++++++++----- spec/classes/proxysql_spec.rb | 15 +++++++++++---- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index fcfdfd33..90006cc5 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -85,7 +85,7 @@ # Defaults to the official upstream repo for your OS. See http://repo.proxysql.com for more info. # # * `repo_version` -# Specifies the repo version of ProxySQL to be configured. Defaults to '1.4.x'. +# Specifies the repo version of ProxySQL to be configured. Defaults to '1.4.x' ('2.0.x' for Ubuntu 18.04). # # * `package_source` # location ot the proxysql package for the `package_provider`. @@ -189,7 +189,7 @@ Boolean $manage_repo = true, Hash $repo = $proxysql::params::repo14, - Enum['2.0.x','1.4.x'] $repo_version = '1.4.x', + Enum['2.0.x','1.4.x'] $repo_version = $proxysql::params::repo_version, String $package_source = $proxysql::params::package_source, String $package_checksum_value = $proxysql::params::package_checksum_value, diff --git a/manifests/params.pp b/manifests/params.pp index 51c0da19..56f81ba6 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -14,16 +14,13 @@ $listen_ip = '0.0.0.0' $listen_port = 6033 - $listen_socket = '/tmp/proxysql.sock' $admin_username = 'admin' $admin_password = Sensitive('admin') $admin_listen_ip = '127.0.0.1' $admin_listen_port = 6032 - $admin_listen_socket = '/tmp/proxysql_admin.sock' - $sys_owner = 'root' - $sys_group = 'root' + $datadir = '/var/lib/proxysql' case $facts['os']['family'] { 'Debian': { @@ -66,6 +63,14 @@ $package_dependencies = [] } '18.04': { + $_repo_version = '2.0.x' + $_sys_owner = 'proxysql' + $_sys_group = 'proxysql' + + # The 2.0.x systemd service file in ubuntu 18.04 has `ReadWritePaths=/var/lib/proxysql /var/run/proxysql`. + # This limits where we can write sockets. + $_listen_socket = "${datadir}/proxysql.sock" + $_admin_listen_socket = "${datadir}/proxysql_admin.sock" $package_source = 'https://github.com/sysown/proxysql/releases/download/v2.0.2/proxysql_2.0.2-ubuntu18_amd64.deb' $package_checksum_value = 'c376bd539aef4207e56535b1dd8a7bd98a490db2' $package_checksum_type = 'sha1' @@ -128,10 +133,15 @@ } } + $sys_owner = pick(getvar('_sys_owner'),'root') + $sys_group = pick(getvar('_sys_group'),'root') + $repo_version = pick(getvar('_repo_version'),'1.4.x') + $listen_socket = pick(getvar('_listen_socket'),'/tmp/proxysql.sock') + $admin_listen_socket = pick(getvar('_admin_listen_socket'),'/tmp/proxysql_admin.sock') + $monitor_username = 'monitor' $monitor_password = Sensitive('monitor') - $datadir = '/var/lib/proxysql' $split_config = false $config_file = '/etc/proxysql.cnf' diff --git a/spec/classes/proxysql_spec.rb b/spec/classes/proxysql_spec.rb index 9f0fb90e..b0dbaad4 100644 --- a/spec/classes/proxysql_spec.rb +++ b/spec/classes/proxysql_spec.rb @@ -34,8 +34,15 @@ install_options: []) end - let(:sys_user) { 'root' } - let(:sys_group) { 'root' } + if facts[:operatingsystemrelease] == '18.04' + sys_user = 'proxysql' + sys_group = 'proxysql' + admin_socket = '/var/lib/proxysql/proxysql_admin.sock' + else + sys_user = 'root' + sys_group = 'root' + admin_socket = '/tmp/proxysql_admin.sock' + end it do is_expected.to contain_file('proxysql-config-file').with(ensure: 'file', @@ -70,8 +77,8 @@ it do is_expected.to contain_exec('wait_for_admin_socket_to_open').with( - command: 'test -S /tmp/proxysql_admin.sock', - unless: 'test -S /tmp/proxysql_admin.sock', + command: "test -S #{admin_socket}", + unless: "test -S #{admin_socket}", tries: 3, try_sleep: 10, require: 'Service[proxysql]', From 16de58a4be004861f105e3b62c00839a238ad38f Mon Sep 17 00:00:00 2001 From: Alexander Fisher Date: Thu, 16 May 2019 12:17:26 +0100 Subject: [PATCH 4/4] Update Ubuntu 18.04 default package_source to 2.0.4 --- manifests/params.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index 56f81ba6..f8c3e76d 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -71,8 +71,8 @@ # This limits where we can write sockets. $_listen_socket = "${datadir}/proxysql.sock" $_admin_listen_socket = "${datadir}/proxysql_admin.sock" - $package_source = 'https://github.com/sysown/proxysql/releases/download/v2.0.2/proxysql_2.0.2-ubuntu18_amd64.deb' - $package_checksum_value = 'c376bd539aef4207e56535b1dd8a7bd98a490db2' + $package_source = 'https://github.com/sysown/proxysql/releases/download/v2.0.4/proxysql_2.0.4-ubuntu18_amd64.deb' + $package_checksum_value = '397e7244663d8e15134d788e918d9d75c0802b5a' $package_checksum_type = 'sha1' $package_dependencies = [] }