diff --git a/CHANGELOG.md b/CHANGELOG.md index d1b9dbe..3fba7ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # mongodb3 Cookbook CHANGELOG +## Next (5.3.0) + +* Adding support for ubuntu 15.04 and 16.04. Marcin Skurski([@mskurski](https://github.com/mskurski)) +* Changing service provider to `Chef::Provider::Service::Systemd` for ubuntu >= 15.04 + ## 5.2.0 * PR #35 : bypass dpkg errors about pre-existing init or conf file. Damien Raude-Morvan([@drazzib](https://github.com/drazzib)) diff --git a/README.md b/README.md index f218cc3..abb3e58 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ The following platforms have been tested with Test Kitchen -* Ubuntu 12.04, 14.04 +* Ubuntu 12.04, 14.04, 15.04, 16.04 * Debian 7.8 * CentOS 6.6, 7.2 * Oralce 6.6 diff --git a/metadata.rb b/metadata.rb index 3c979c1..845ad0c 100644 --- a/metadata.rb +++ b/metadata.rb @@ -4,9 +4,9 @@ license 'Apache 2.0' description 'Installs/Configures mongodb3' long_description 'Installs/Configures mongodb3' -version '5.2.0' +version '5.3.0' -supports 'ubuntu', '= 12.04' +supports 'ubuntu', '= 16.04' supports 'debian', '= 7.8' supports 'redhat', '= 6.6' supports 'centos', '= 6.6' diff --git a/recipes/default.rb b/recipes/default.rb index 4ffd258..87d5fb4 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -82,11 +82,24 @@ helpers Mongodb3Helper end +# Create the mongod.service file +case node['platform'] +when 'ubuntu' + if node['platform_version'].to_f >= 16.04 + template '/lib/systemd/system/mongod.service' do + source 'mongod.service.erb' + mode 0644 + end + end +end + # Start the mongod service service 'mongod' do case node['platform'] when 'ubuntu' - if node['platform_version'].to_f >= 14.04 + if node['platform_version'].to_f >= 15.04 + provider Chef::Provider::Service::Systemd + elsif node['platform_version'].to_f >= 14.04 provider Chef::Provider::Service::Upstart end end diff --git a/recipes/package_repo.rb b/recipes/package_repo.rb index ed6705c..7c0e44c 100644 --- a/recipes/package_repo.rb +++ b/recipes/package_repo.rb @@ -97,7 +97,11 @@ when 'debian' apt_repository "mongodb-org-#{pkg_major_version}" do uri node['mongodb3']['package']['repo']['url'] - distribution "#{node['lsb']['codename']}/mongodb-org/#{node['mongodb3']['package']['repo']['apt']['name']}" + if node['platform'] == 'ubuntu' and node['platform_version'].to_f >= 15.04 + distribution "trusty/mongodb-org/#{node['mongodb3']['package']['repo']['apt']['name']}" + else + distribution "#{node['lsb']['codename']}/mongodb-org/#{node['mongodb3']['package']['repo']['apt']['name']}" + end components node['mongodb3']['package']['repo']['apt']['components'] keyserver node['mongodb3']['package']['repo']['apt']['keyserver'] key node['mongodb3']['package']['repo']['apt']['key'] diff --git a/templates/default/mongod.service.erb b/templates/default/mongod.service.erb new file mode 100755 index 0000000..cdb2205 --- /dev/null +++ b/templates/default/mongod.service.erb @@ -0,0 +1,17 @@ +[Unit] +Description=High-performance, schema-free document-oriented database +Documentation=man:mongod(1) +After=network.target + +[Service] +Type=forking +User=mongodb +Group=mongodb +RuntimeDirectory=mongod +PIDFile=/var/run/mongod/mongod.pid +ExecStart=/usr/bin/mongod -f /etc/mongod.conf --pidfilepath /var/run/mongod/mongod.pid --fork +TimeoutStopSec=5 +KillMode=mixed + +[Install] +WantedBy=multi-user.target \ No newline at end of file