We created a definition in our "apt" module called preseed_package and then we call
apt::preseed_package { <package_name>: ensure => present, } You can then create a preseed file for that package and have puppet put it on the host. >From our "apt" module: define preseed_package ( $ensure ) { file { "/var/local/preseed": ensure => directory, } file { "/var/local/preseed/$name.preseed": source => "puppet:///apt/preseed/$name.preseed", mode => 600, backup => false, } package { "$name": ensure => $ensure, responsefile => "/var/local/preseed/$name.preseed", require => File["/var/local/preseed/$name.preseed"], } } Paul On Aug 10, 5:20 am, Craig Box <craig....@gmail.com> wrote: > I have been trying to use Puppet to install the Zabbix server, which uses > dbconfig-common to set up its database. > > If you don't do anything more than package { "zabbix-server-mysql": ensure > => installed }, then you end up with errors that look much like this > (snipped for brevity) : > > err: //zabbix::server/Package[zabbix-server-mysql]/ensure: change from > purged to present failed: Execution of '/usr/bin/apt-get -q -y -o > DPkg::Options::=--force-confold install zabbix-server-mysql' returned 100: > Reading package lists... > Building dependency tree... > Reading state information... > > Preconfiguring packages ... > .: 3: Can't open /usr/share/dbconfig-common/dpkg/config.mysql > zabbix-server-mysql failed to preconfigure, with exit status 2 > Fetched 5659kB in 0s (9017kB/s) > > Setting up zabbix-server-mysql (1:1.8.1-1ubuntu1) ... > dbconfig-common: writing config to > /etc/dbconfig-common/zabbix-server-mysql.conf > > Creating config file /etc/dbconfig-common/zabbix-server-mysql.conf with new > version > > Creating config file /etc/zabbix/zabbix_server.conf with new version > ERROR 2002 (HY000): Can't connect to local MySQL server through socket > '/var/run/mysqld/mysqld.sock' (2). > unable to connect to mysql server. > error encountered creating user: > ERROR 2002 (HY000): Can't connect to local MySQL server through socket > '/var/run/mysqld/mysqld.sock' (2) > dbconfig-common: zabbix-server-mysql configure: aborted. > dbconfig-common: flushing administrative password > dpkg: error processing zabbix-server-mysql (--configure): > subprocess installed post-installation script returned error exit status 1 > Errors were encountered while processing: > zabbix-server-mysql > E: Sub-process /usr/bin/dpkg returned an error code (1) > > In short, it's expecting that you have answered questions about its MySQL > root password. > > If you install the package manually, the first question you are asked is > whether or not you want to use dbconfig-common, and a warning that if you > already have a database set up, you don't want to use it. It seem to > influence the value for the dbconfig-install key. Therefore, it stands to > reason that if I preseed this key: > > zabbix-server-mysql zabbix-server-mysql/dbconfig-install boolean false > > then I should get what I want. However, I don't - still prompted, still > fails to install silently, etc. > > As this question probably comes up a lot for people installing software > through Puppet, has anyone come up with a satisfactory solution to tell > debconf/dbconfig-common to just get out of the way entirely? > > Craig -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.