Installing packages with dependencies using puppet

1

I am new to puppet, for the process of learning it I created Puppet Master and Puppet Slave setup and configured a mysql module to install mysql on Puppet client. Below is the manifest file.

class mysql {
    package { ["mysql-server-5.5", "libaio1", "libdbd-mysql-perl", "libdbi-perl", "libhtml-template-perl", "libmysqlclient18", "mysql-client-5.5", "mysql-common", "mysql-server-core-5.5"]:
    ensure => present,
    allowcdrom => 'true',
    }
}

The package resource contains all the dependencies of mysql-server. But I am getting the below error.

Building dependency tree...
Reading state information...
The following extra packages will be installed:
  mysql-common
The following NEW packages will be installed:
  libmysqlclient18 mysql-common
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 738 kB of archives.
After this operation, 3513 kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  mysql-common libmysqlclient18
E: There are problems and -y was used without --force-yes
Error: /Stage[main]/Mysql/Package[libmysqlclient18]/ensure: change from purged to present failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install libmysqlclient18' returned 100: Reading package lists...

I also tried adding install_options: "--force-yes" as mentioned in the error output, but still getting in to the same issue.

Any help on this will be appreciated.

Yaalie

Posted 2015-02-15T14:16:08.590

Reputation: 13

Crossposting is discouraged. http://serverfault.com/questions/667804/installing-packages-with-dependencies-using-puppet

– spuder – 2015-02-16T17:49:27.730

Answers

0

You can try below manifest. The issue is that you have to add -f and --allow-unauthenticated options for apt-get to resolve the dependencies automatically and install them. Once these flags are added it is not necessary to add each and every dependent package to the package resource.

class mysql {
    package { ["mysql-server-5.5"]:
    ensure => present,
    allowcdrom => 'true',
    install_options => ['--allow-unauthenticated', '-f'],
    }
}

Kannan Mohan

Posted 2015-02-15T14:16:08.590

Reputation: 398