Fresh Linode instance of Ubuntu 12.04 LTS.
Super simple recipe ( stripped down for debugging ).
include_recipe "apt" include_recipe "ohai" include_recipe "mysql::percona_repo" include_recipe "mysql::server"
I tested installation numerous times with the same OS version with Vagrant with no problems, but when it was time to run it on Linode instance I run into problems like this:
Chef::Exceptions::Exec ---------------------- apt-get -q -y install percona-server-server=1:5.5.33-rel31.1-566.precise returned 100, expected 0 Resource Declaration: --------------------- # In /opt/chef-solo/cookbooks/mysql/recipes/server.rb 153: package package_name do 154: action :install 155: notifies :start, "service[mysql]", :immediately 156: end 157: end
After spending couple days checking and comparing Vagrant box, versions, packages, sources list – you name it, I bet I checked that as well. I was going mad with this problem and was at the point of throwing my workstation out of the window…
Anyways I was able to trace down the problem which turned out to be my.cnf problem 🙂
MySQL error.log gave me this helpful hint:
130828 23:23:29 [ERROR] Can't create IP socket: Success 130828 23:23:29 [ERROR] Aborting
(Very helpful I know)
Then I dig a little deeper to discover config problem itself – bind-address was empty:
By looking at the mysql cookbook attributes I discovered this line:
default['mysql']['bind_address'] = attribute?('cloud') ? cloud['local_ipv4'] : ipaddress
Apparently Linode instances are getting cloud attribute ( which kind of makes sense ) but missing local_ipv4 property.
Finally the FIX –
default['mysql']['bind_address'] = node['ipaddress'] in your application cookbook. ( I will probably propose a patch for mysql cookbook later )
Hopefully you will this info faster than I did!
Want faster website?
I'm Sergey Khaladzinski (@gansbrest). I regularly share tips and tricks to improve websites performance. My main focus at the moment is monitoring, servers and backend performance. If you liked this article, join my list to get updates from me in the future.