Skip to content

Commit 802a291

Browse files
Merge pull request #1314 from fe80/feature/package_provider
add package provider and source
2 parents 16b1c8c + 62e9e36 commit 802a291

File tree

6 files changed

+53
-6
lines changed

6 files changed

+53
-6
lines changed

manifests/client.pp

+11-5
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,21 @@
1616
# Whether the MySQL package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'.
1717
# @param package_manage
1818
# Whether to manage the MySQL client package. Defaults to `true`.
19+
# @param service_name
20+
# The name of the MySQL server service. Defaults are OS dependent, defined in 'params.pp'.
21+
# @param service_provider
22+
# The provider to use to manage the service. For Ubuntu, defaults to 'upstart'; otherwise, default is undefined.
1923
# @param package_name
2024
# The name of the MySQL client package to install.
2125
#
2226
class mysql::client (
23-
$bindings_enable = $mysql::params::bindings_enable,
24-
$install_options = undef,
25-
$package_ensure = $mysql::params::client_package_ensure,
26-
$package_manage = $mysql::params::client_package_manage,
27-
$package_name = $mysql::params::client_package_name,
27+
$bindings_enable = $mysql::params::bindings_enable,
28+
$install_options = undef,
29+
$package_ensure = $mysql::params::client_package_ensure,
30+
$package_manage = $mysql::params::client_package_manage,
31+
$package_name = $mysql::params::client_package_name,
32+
$package_provider = undef,
33+
$package_source = undef,
2834
) inherits mysql::params {
2935

3036
include '::mysql::client::install'

manifests/client/install.pp

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
ensure => $mysql::client::package_ensure,
1212
install_options => $mysql::client::install_options,
1313
name => $mysql::client::package_name,
14+
provider => $mysql::client::package_provider,
15+
source => $mysql::client::package_source,
1416
}
1517

1618
}

manifests/server.pp

+6
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@
3131
# Whether to manage the MySQL server package. Defaults to `true`.
3232
# @param package_name
3333
# The name of the MySQL server package to install.
34+
# @param package_provider
35+
# Define a specific provider for package install.
36+
# @param package_source
37+
# The location of the package source (require for some package provider)
3438
# @param purge_conf_dir
3539
# Whether the `includedir` directory should be purged. Valid values are `true`, `false`. Defaults to `false`.
3640
# @param remove_default_accounts
@@ -84,6 +88,8 @@
8488
$package_ensure = $mysql::params::server_package_ensure,
8589
$package_manage = $mysql::params::server_package_manage,
8690
$package_name = $mysql::params::server_package_name,
91+
$package_provider = undef,
92+
$package_source = undef,
8793
$purge_conf_dir = $mysql::params::purge_conf_dir,
8894
$remove_default_accounts = false,
8995
$restart = $mysql::params::restart,

manifests/server/install.pp

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# @summary
1+
# @summary
22
# Private class for managing MySQL package.
33
#
44
# @api private
@@ -11,6 +11,8 @@
1111
ensure => $mysql::server::package_ensure,
1212
install_options => $mysql::server::install_options,
1313
name => $mysql::server::package_name,
14+
provider => $mysql::server::package_provider,
15+
source => $mysql::server::package_source,
1416
}
1517
}
1618

spec/classes/mysql_client_spec.rb

+16
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,22 @@
3030

3131
it { is_expected.not_to contain_package('mysql_client') }
3232
end
33+
34+
context 'with package provider' do
35+
let(:params) do
36+
{
37+
package_provider: 'dpkg',
38+
package_source: '/somewhere',
39+
}
40+
end
41+
42+
it do
43+
is_expected.to contain_package('mysql_client').with(
44+
provider: 'dpkg',
45+
source: '/somewhere',
46+
)
47+
end
48+
end
3349
end
3450
end
3551
end

spec/classes/mysql_server_spec.rb

+15
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,21 @@
7878

7979
it { is_expected.to contain_mysql_datadir('/tmp') }
8080
end
81+
context 'with package provider' do
82+
let(:params) do
83+
{
84+
package_provider: 'dpkg',
85+
package_source: '/somewhere',
86+
}
87+
end
88+
89+
it do
90+
is_expected.to contain_package('mysql-server').with(
91+
provider: 'dpkg',
92+
source: '/somewhere',
93+
)
94+
end
95+
end
8196
end
8297

8398
context 'mysql::server::service' do

0 commit comments

Comments
 (0)