Я новичок в puppet
, для процесса изучения я создал Puppet Master
и Puppet Slave
установил и настроил mysql
модуль для установки mysql на Puppet client
. Ниже представлен файл манифеста.
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',
}
}
В package
ресурс содержит все зависимости mysql-server. Но я получаю ошибку ниже.
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...
Я также пробовал добавить install_options: "--force-yes"
как указано в сообщении об ошибке, но по-прежнему сталкивается с той же проблемой.
Любая помощь по этому поводу будет оценена.
Насколько я понимаю, вы используете Ubuntu и, следовательно, менеджер пакетов Apt. Возникшая ошибка связана с тем, что при установке пакета не удается найти открытый ключ для пакета.
Это может быть потому, что:
apt-get update
для обновления ваших источников перед установкой.У вас есть два возможных решения:
Или используйте следующее в Puppet, чтобы настроить Apt на игнорирование отсутствующих ключей.
class {'::apt': disable_keys: true}
Вышеуказанное требует PppetLabs Apt
модуль.
Я бы проверил первые варианты перед отключением ключей. Вы не приводите достаточно подробностей, чтобы иметь точную причину / решение, но приведенное выше должно направить вас в правильном направлении.
Вы можете попробовать манифест ниже. Проблема в том, что вам нужно добавить -f
и --allow-unauthenticated
варианты для apt-get
для автоматического разрешения зависимостей и их установки. После добавления этих флагов нет необходимости добавлять каждый зависимый пакет в package
ресурс.
class mysql {
package { ["mysql-server-5.5"]:
ensure => present,
allowcdrom => 'true',
install_options => ['--allow-unauthenticated', '-f'],
}
}