Using a slightly modified version of the code from “Pro Puppet” I am getting the following error:
Jun 13 01:36:33 media puppet-agent[18196]: (/Stage[main]/Mysql::Config/File[mysql_data_dir]) Failed to generate additional resources using 'eval_generate': Cannot manage files of type socket
The file resource in mysql/manifests/config.pp is as follows:
file { "mysql_data_dir" :
path => $mysql::params::data_directory,
group => "mysql",
owner => "mysql",
recurse => true,
require => File["my.cnf"],
}
And for this particular $operatingsystem (Fedora) the value for $data_directory in mysql/manifests/params.pp is :
$data_directory = "/var/lib/mysql"
By default mysql on a Fedora system places its mysql.sock file in the data directory but it appears when a you try and change the permissions recursively, puppet doesn’t know what to do with the socket file.
I can place the socket file elsewhere as a work around but I believe that puppet needs to ignore socket files when changing permissions.
[root@media modules]# puppet —version 2.6.8 [root@media modules]# puppet master —version 2.6.8
You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account
Using a slightly modified version of the code from “Pro Puppet” I am getting the following error:
Jun 13 01:36:33 media puppet-agent[18196]: (/Stage[main]/Mysql::Config/File[mysql_data_dir]) Failed to generate additional resources using 'eval_generate': Cannot manage files of type socket
The file resource in mysql/manifests/config.pp is as follows:
file { "mysql_data_dir" :
path => $mysql::params::data_directory,
group => "mysql",
owner => "mysql",
recurse => true,
require => File["my.cnf"],
}
And for this particular $operatingsystem (Fedora) the value for $data_directory in mysql/manifests/params.pp is :
$data_directory = "/var/lib/mysql"
By default mysql on a Fedora system places its mysql.sock file in the data directory but it appears when a you try and change the permissions recursively, puppet doesn’t know what to do with the socket file.
I can place the socket file elsewhere as a work around but I believe that puppet needs to ignore socket files when changing permissions.
[root@media modules]# puppet --version
2.6.8
[root@media modules]# puppet master --version
2.6.8
I don’t think I’m the one to authoritatively make this decision, but I’ll throw in my 2 cents and reassign to Nigel.
I don’t think you should recursively manage directories that contain socket files. I realize the MySQL default directory structure and configuration makes this inconvenient when using puppet, but the configuration should be easy enough to change if you’re already going to the trouble to manage ownership differently from what the package installation does.
Using a slightly modified version of the code from “Pro Puppet” I am getting the following error:
Jun 13 01:36:33 media puppet-agent[18196]: (/Stage[main]/Mysql::Config/File[mysql_data_dir]) Failed to generate additional resources using 'eval_generate': Cannot manage files of type socket
The file resource in mysql/manifests/config.pp is as follows:
file { "mysql_data_dir" :
path => $mysql::params::data_directory,
group => "mysql",
owner => "mysql",
recurse => true,
require => File["my.cnf"],
}
And for this particular $operatingsystem (Fedora) the value for $data_directory in mysql/manifests/params.pp is :
$data_directory = "/var/lib/mysql"
By default mysql on a Fedora system places its mysql.sock file in the data directory but it appears when a you try and change the permissions recursively, puppet doesn’t know what to do with the socket file.
I can place the socket file elsewhere as a work around but I believe that puppet needs to ignore socket files when changing permissions.
[root@media modules]# puppet --version
2.6.8
[root@media modules]# puppet master --version
2.6.8
Meanwhile, a workaround is to ignore the socket. Something like this:
file { '/var/lib/mysql':
owner => 'mysql',
group => 'mysql',
recurse => true,
require => File['/etc/my.cnf'],
ignore => 'mysql.sock',
}
Using a slightly modified version of the code from “Pro Puppet” I am getting the following error:
Jun 13 01:36:33 media puppet-agent[18196]: (/Stage[main]/Mysql::Config/File[mysql_data_dir]) Failed to generate additional resources using 'eval_generate': Cannot manage files of type socket
The file resource in mysql/manifests/config.pp is as follows:
file { "mysql_data_dir" :
path => $mysql::params::data_directory,
group => "mysql",
owner => "mysql",
recurse => true,
require => File["my.cnf"],
}
And for this particular $operatingsystem (Fedora) the value for $data_directory in mysql/manifests/params.pp is :
$data_directory = "/var/lib/mysql"
By default mysql on a Fedora system places its mysql.sock file in the data directory but it appears when a you try and change the permissions recursively, puppet doesn’t know what to do with the socket file.
I can place the socket file elsewhere as a work around but I believe that puppet needs to ignore socket files when changing permissions.
[root@media modules]# puppet --version
2.6.8
[root@media modules]# puppet master --version
2.6.8
Using a slightly modified version of the code from “Pro Puppet” I am getting the following error:
Jun 13 01:36:33 media puppet-agent[18196]: (/Stage[main]/Mysql::Config/File[mysql_data_dir]) Failed to generate additional resources using 'eval_generate': Cannot manage files of type socket
The file resource in mysql/manifests/config.pp is as follows:
file { "mysql_data_dir" :
path => $mysql::params::data_directory,
group => "mysql",
owner => "mysql",
recurse => true,
require => File["my.cnf"],
}
And for this particular $operatingsystem (Fedora) the value for $data_directory in mysql/manifests/params.pp is :
$data_directory = "/var/lib/mysql"
By default mysql on a Fedora system places its mysql.sock file in the data directory but it appears when a you try and change the permissions recursively, puppet doesn’t know what to do with the socket file.
I can place the socket file elsewhere as a work around but I believe that puppet needs to ignore socket files when changing permissions.
[root@media modules]# puppet --version
2.6.8
[root@media modules]# puppet master --version
2.6.8
This error message is quite annoying and a simple File test should avoid it — we should simply skip sockets and named pipes since they (by definition) aren’t going to work off the source system.
Using a slightly modified version of the code from “Pro Puppet” I am getting the following error:
Jun 13 01:36:33 media puppet-agent[18196]: (/Stage[main]/Mysql::Config/File[mysql_data_dir]) Failed to generate additional resources using 'eval_generate': Cannot manage files of type socket
The file resource in mysql/manifests/config.pp is as follows:
file { "mysql_data_dir" :
path => $mysql::params::data_directory,
group => "mysql",
owner => "mysql",
recurse => true,
require => File["my.cnf"],
}
And for this particular $operatingsystem (Fedora) the value for $data_directory in mysql/manifests/params.pp is :
$data_directory = "/var/lib/mysql"
By default mysql on a Fedora system places its mysql.sock file in the data directory but it appears when a you try and change the permissions recursively, puppet doesn’t know what to do with the socket file.
I can place the socket file elsewhere as a work around but I believe that puppet needs to ignore socket files when changing permissions.
[root@media modules]# puppet --version
2.6.8
[root@media modules]# puppet master --version
2.6.8
I take that back, #15976 has a valid use-case for actually managing non-regular files. It’d be worth making this work.
Using a slightly modified version of the code from “Pro Puppet” I am getting the following error:
Jun 13 01:36:33 media puppet-agent[18196]: (/Stage[main]/Mysql::Config/File[mysql_data_dir]) Failed to generate additional resources using 'eval_generate': Cannot manage files of type socket
The file resource in mysql/manifests/config.pp is as follows:
file { "mysql_data_dir" :
path => $mysql::params::data_directory,
group => "mysql",
owner => "mysql",
recurse => true,
require => File["my.cnf"],
}
And for this particular $operatingsystem (Fedora) the value for $data_directory in mysql/manifests/params.pp is :
$data_directory = "/var/lib/mysql"
By default mysql on a Fedora system places its mysql.sock file in the data directory but it appears when a you try and change the permissions recursively, puppet doesn’t know what to do with the socket file.
I can place the socket file elsewhere as a work around but I believe that puppet needs to ignore socket files when changing permissions.
[root@media modules]# puppet --version
2.6.8
[root@media modules]# puppet master --version
2.6.8