vagrant works
This commit is contained in:
69
ops/cookbooks/vendor/mysql/libraries/helpers.rb
vendored
69
ops/cookbooks/vendor/mysql/libraries/helpers.rb
vendored
@ -12,8 +12,13 @@ module MysqlCookbook
|
||||
false
|
||||
end
|
||||
|
||||
def wheezy?
|
||||
return true if node['platform'] == 'debian' && node['platform_version'].to_i == 7
|
||||
def fedora?
|
||||
return true if node['platform_family'] == 'fedora'
|
||||
false
|
||||
end
|
||||
|
||||
def suse?
|
||||
return true if node['platform_family'] == 'suse'
|
||||
false
|
||||
end
|
||||
|
||||
@ -38,6 +43,11 @@ module MysqlCookbook
|
||||
false
|
||||
end
|
||||
|
||||
def bionic?
|
||||
return true if node['platform'] == 'ubuntu' && node['platform_version'] == '18.04'
|
||||
false
|
||||
end
|
||||
|
||||
def defaults_file
|
||||
"#{etc_dir}/my.cnf"
|
||||
end
|
||||
@ -58,22 +68,22 @@ module MysqlCookbook
|
||||
|
||||
def default_major_version
|
||||
# rhelish
|
||||
return '5.1' if el6?
|
||||
return '5.6' if el6?
|
||||
return '5.6' if el7?
|
||||
return '5.6' if node['platform'] == 'amazon'
|
||||
|
||||
# debian
|
||||
return '5.5' if wheezy?
|
||||
return '5.5' if jessie?
|
||||
|
||||
# ubuntu
|
||||
return '5.5' if trusty?
|
||||
return '5.7' if xenial?
|
||||
return '5.7' if bionic?
|
||||
|
||||
# misc
|
||||
return '5.6' if node['platform'] == 'freebsd'
|
||||
return '5.6' if node['platform'] == 'fedora'
|
||||
return '5.6' if node['platform_family'] == 'suse'
|
||||
return '5.7' if fedora?
|
||||
return '5.6' if suse?
|
||||
end
|
||||
|
||||
def major_from_full(v)
|
||||
@ -81,7 +91,11 @@ module MysqlCookbook
|
||||
end
|
||||
|
||||
def mysql_name
|
||||
"mysql-#{instance}"
|
||||
if instance == 'default'
|
||||
'mysql'
|
||||
else
|
||||
"mysql-#{instance}"
|
||||
end
|
||||
end
|
||||
|
||||
def default_socket_file
|
||||
@ -89,20 +103,23 @@ module MysqlCookbook
|
||||
end
|
||||
|
||||
def default_client_package_name
|
||||
return ['mysql', 'mysql-devel'] if major_version == '5.1' && el6?
|
||||
return %w(mysql mysql-devel) if major_version == '5.1' && el6?
|
||||
return %w(mysql mysql-devel) if el7?
|
||||
return ['mysql55', 'mysql55-devel.x86_64'] if major_version == '5.5' && node['platform'] == 'amazon'
|
||||
return ['mysql56', 'mysql56-devel.x86_64'] if major_version == '5.6' && node['platform'] == 'amazon'
|
||||
return ['mysql57', 'mysql57-devel.x86_64'] if major_version == '5.7' && node['platform'] == 'amazon'
|
||||
return ['mysql-client-5.5', 'libmysqlclient-dev'] if major_version == '5.5' && node['platform_family'] == 'debian'
|
||||
return ['mysql-client-5.6', 'libmysqlclient-dev'] if major_version == '5.6' && node['platform_family'] == 'debian'
|
||||
return ['mysql-client-5.7', 'libmysqlclient-dev'] if major_version == '5.7' && node['platform_family'] == 'debian'
|
||||
return 'mysql-community-server-client' if major_version == '5.6' && node['platform_family'] == 'suse'
|
||||
['mysql-community-client', 'mysql-community-devel']
|
||||
%w(mysql-community-client mysql-community-devel)
|
||||
end
|
||||
|
||||
def default_server_package_name
|
||||
return 'mysql-server' if major_version == '5.1' && el6?
|
||||
return 'mysql55-server' if major_version == '5.5' && node['platform'] == 'amazon'
|
||||
return 'mysql56-server' if major_version == '5.6' && node['platform'] == 'amazon'
|
||||
return 'mysql57-server' if major_version == '5.7' && node['platform'] == 'amazon'
|
||||
return 'mysql-server-5.5' if major_version == '5.5' && node['platform_family'] == 'debian'
|
||||
return 'mysql-server-5.6' if major_version == '5.6' && node['platform_family'] == 'debian'
|
||||
return 'mysql-server-5.7' if major_version == '5.7' && node['platform_family'] == 'debian'
|
||||
@ -189,7 +206,6 @@ module MysqlCookbook
|
||||
set -e
|
||||
rm -rf /tmp/#{mysql_name}
|
||||
mkdir /tmp/#{mysql_name}
|
||||
|
||||
cat > /tmp/#{mysql_name}/my.sql <<-'EOSQL'
|
||||
UPDATE mysql.user SET #{password_column_name}=PASSWORD('#{sql_escaped_password}')#{password_expired} WHERE user = 'root';
|
||||
DELETE FROM mysql.user WHERE USER LIKE '';
|
||||
@ -198,15 +214,24 @@ FLUSH PRIVILEGES;
|
||||
DELETE FROM mysql.db WHERE db LIKE 'test%';
|
||||
DROP DATABASE IF EXISTS test ;
|
||||
EOSQL
|
||||
|
||||
#{db_init}
|
||||
#{record_init}
|
||||
|
||||
while [ ! -f #{pid_file} ] ; do sleep 1 ; done
|
||||
kill `cat #{pid_file}`
|
||||
while [ -f #{pid_file} ] ; do sleep 1 ; done
|
||||
rm -rf /tmp/#{mysql_name}
|
||||
EOS
|
||||
EOS
|
||||
end
|
||||
|
||||
def wait_for_init
|
||||
cmd = <<-EOS
|
||||
while [ ! -f #{pid_file} ] ; do sleep 1 ; done
|
||||
kill `cat #{pid_file}`
|
||||
while [ -f #{pid_file} ] ; do sleep 1 ; done
|
||||
rm -rf /tmp/#{mysql_name}
|
||||
EOS
|
||||
cmd = '' if v57plus
|
||||
cmd
|
||||
end
|
||||
|
||||
def password_column_name
|
||||
@ -256,12 +281,26 @@ EOSQL
|
||||
def mysqld_bin
|
||||
return "#{prefix_dir}/libexec/mysqld" if node['platform_family'] == 'smartos'
|
||||
return "#{base_dir}/bin/mysqld" if node['platform_family'] == 'omnios'
|
||||
return '/usr/sbin/mysqld' if node['platform_family'] == 'fedora' && v56plus
|
||||
return '/usr/libexec/mysqld' if node['platform_family'] == 'fedora'
|
||||
return '/usr/sbin/mysqld' if fedora? && v56plus
|
||||
return '/usr/libexec/mysqld' if fedora?
|
||||
return 'mysqld' if scl_package?
|
||||
"#{prefix_dir}/usr/sbin/mysqld"
|
||||
end
|
||||
|
||||
def mysql_systemd_start_pre
|
||||
return '/usr/bin/mysqld_pre_systemd' if v57plus && (el7? || fedora?)
|
||||
return '/usr/bin/mysql-systemd-start pre' if node['platform_family'] == 'rhel'
|
||||
return '/usr/lib/mysql/mysql-systemd-helper install' if suse?
|
||||
'/usr/share/mysql/mysql-systemd-start pre'
|
||||
end
|
||||
|
||||
def mysql_systemd
|
||||
return "/usr/libexec/#{mysql_name}-wait-ready $MAINPID" if v57plus && (el7? || fedora?)
|
||||
return '/usr/bin/mysql-systemd-start' if node['platform_family'] == 'rhel'
|
||||
return '/usr/share/mysql/mysql-systemd-start' if v57plus
|
||||
"/usr/libexec/#{mysql_name}-wait-ready $MAINPID"
|
||||
end
|
||||
|
||||
def mysqld_initialize_cmd
|
||||
cmd = mysqld_bin
|
||||
cmd << " --defaults-file=#{etc_dir}/my.cnf"
|
||||
|
71
ops/cookbooks/vendor/mysql/libraries/matchers.rb
vendored
71
ops/cookbooks/vendor/mysql/libraries/matchers.rb
vendored
@ -1,71 +0,0 @@
|
||||
if defined?(ChefSpec)
|
||||
ChefSpec.define_matcher :mysql_config
|
||||
ChefSpec.define_matcher :mysql_service
|
||||
ChefSpec.define_matcher :mysql_client
|
||||
|
||||
# mysql_client_client_installation_package
|
||||
def install_mysql_client_installation_package(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_client_installation_package, :create, resource_name)
|
||||
end
|
||||
|
||||
def remove_mysql_client_installation_package(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_client_installation_package, :remove, resource_name)
|
||||
end
|
||||
|
||||
# mysql_server_server_installation_package
|
||||
def install_mysql_server_installation_package(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_server_installation_package, :install, resource_name)
|
||||
end
|
||||
|
||||
def remove_mysql_server_installation_package(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_server_installation_package, :remove, resource_name)
|
||||
end
|
||||
|
||||
#####
|
||||
# old
|
||||
#####
|
||||
|
||||
# client
|
||||
def create_mysql_client(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_client, :create, resource_name)
|
||||
end
|
||||
|
||||
def delete_mysql_client(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_client, :delete, resource_name)
|
||||
end
|
||||
|
||||
# mysql_config
|
||||
def create_mysql_config(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_config, :create, resource_name)
|
||||
end
|
||||
|
||||
def delete_mysql_config(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_config, :delete, resource_name)
|
||||
end
|
||||
|
||||
# service
|
||||
def create_mysql_service(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_service, :create, resource_name)
|
||||
end
|
||||
|
||||
def delete_mysql_service(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_service, :delete, resource_name)
|
||||
end
|
||||
|
||||
def start_mysql_service(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_service, :start, resource_name)
|
||||
end
|
||||
|
||||
def stop_mysql_service(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_service, :stop, resource_name)
|
||||
end
|
||||
|
||||
def restart_mysql_service(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_service, :restart, resource_name)
|
||||
end
|
||||
|
||||
def reload_mysql_service(resource_name)
|
||||
ChefSpec::Matchers::ResourceMatcher.new(:mysql_service, :reload, resource_name)
|
||||
end
|
||||
|
||||
end
|
@ -3,9 +3,6 @@ module MysqlCookbook
|
||||
require_relative 'helpers'
|
||||
|
||||
# All resources are composites
|
||||
def whyrun_supported?
|
||||
true
|
||||
end
|
||||
|
||||
################
|
||||
# Type Constants
|
||||
|
@ -4,7 +4,7 @@ module MysqlCookbook
|
||||
require_relative 'helpers'
|
||||
include MysqlCookbook::HelpersBase
|
||||
|
||||
# Resource properties
|
||||
# Resource:: properties
|
||||
resource_name :mysql_client_installation_package
|
||||
provides :mysql_client_installation, os: 'linux'
|
||||
provides :mysql_client, os: 'linux'
|
||||
|
@ -1,6 +1,6 @@
|
||||
module MysqlCookbook
|
||||
class MysqlServerInstallationPackage < MysqlBase
|
||||
# Resource properties
|
||||
# Resource:: properties
|
||||
resource_name :mysql_server_installation_package
|
||||
provides :mysql_server_installation, os: 'linux'
|
||||
|
||||
|
@ -41,6 +41,7 @@ module MysqlCookbook
|
||||
# setting up multiple services.
|
||||
file "#{prefix_dir}/etc/mysql/my.cnf" do
|
||||
action :delete
|
||||
not_if { node['init_package'] == 'systemd' }
|
||||
end
|
||||
|
||||
file "#{prefix_dir}/etc/my.cnf" do
|
||||
@ -55,20 +56,14 @@ module MysqlCookbook
|
||||
end
|
||||
|
||||
# Support directories
|
||||
directory etc_dir do
|
||||
owner new_resource.run_user
|
||||
group new_resource.run_group
|
||||
mode '0750'
|
||||
recursive true
|
||||
action :create
|
||||
end
|
||||
|
||||
directory new_resource.include_dir do
|
||||
owner new_resource.run_user
|
||||
group new_resource.run_group
|
||||
mode '0750'
|
||||
recursive true
|
||||
action :create
|
||||
[etc_dir, new_resource.include_dir, log_dir, new_resource.data_dir].each do |dir|
|
||||
directory dir do
|
||||
owner new_resource.run_user
|
||||
group new_resource.run_group
|
||||
mode '0750'
|
||||
recursive true
|
||||
action :create
|
||||
end
|
||||
end
|
||||
|
||||
directory run_dir do
|
||||
@ -79,22 +74,6 @@ module MysqlCookbook
|
||||
action :create
|
||||
end
|
||||
|
||||
directory log_dir do
|
||||
owner new_resource.run_user
|
||||
group new_resource.run_group
|
||||
mode '0750'
|
||||
recursive true
|
||||
action :create
|
||||
end
|
||||
|
||||
directory new_resource.data_dir do
|
||||
owner new_resource.run_user
|
||||
group new_resource.run_group
|
||||
mode '0750'
|
||||
recursive true
|
||||
action :create
|
||||
end
|
||||
|
||||
# Main configuration file
|
||||
template "#{etc_dir}/my.cnf" do
|
||||
source 'my.cnf.erb'
|
||||
@ -171,7 +150,7 @@ module MysqlCookbook
|
||||
|
||||
template '/etc/apparmor.d/usr.sbin.mysqld' do
|
||||
cookbook 'mysql'
|
||||
source 'apparmor/usr.sbin.mysqld.erb'
|
||||
source "apparmor/#{node['platform']}-#{node['platform_version']}/usr.sbin.mysqld.erb"
|
||||
owner 'root'
|
||||
group 'root'
|
||||
mode '0644'
|
||||
|
@ -48,7 +48,9 @@ module MysqlCookbook
|
||||
config: new_resource,
|
||||
etc_dir: etc_dir,
|
||||
base_dir: base_dir,
|
||||
mysqld_bin: mysqld_bin
|
||||
mysqld_bin: mysqld_bin,
|
||||
mysql_systemd_start_pre: mysql_systemd_start_pre,
|
||||
mysql_systemd: mysql_systemd
|
||||
)
|
||||
cookbook 'mysql'
|
||||
notifies :run, "execute[#{new_resource.instance} systemctl daemon-reload]", :immediately
|
||||
|
Reference in New Issue
Block a user