Puppet - не удалось найти пакет oracle-java8-installer

Я устанавливаю Java 8 на компьютер Vagrant hashicorp/precise32, используя Puppet spantree/java8 модуль. При установке я получаю следующее исключение:

==> default: Notice: /Stage[main]/Java8/File[/tmp/java.preseed]/ensure: defined content as '{md5}1b89c67b59fa03a9210a7b22a6b51b92'
==> default: Notice: /Stage[main]/Apache/Package[apache2]/ensure: ensure changed 'purged' to 'present'
==> default: Notice: /Stage[main]/Java8/Apt::Ppa[ppa:webupd8team/java]/Exec[add-apt-repository-ppa:webupd8team/java]/returns: executed successfully
==> default: Notice: /Stage[main]/Java8/File[/etc/profile.d/set_java_home.sh]: Dependency Package[oracle-java8-installer] has failures: true
==> default: Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install oracle-java8-installer' returned 100: Reading package lists...
==> default: Building dependency tree...
==> default: Reading state information...
==> default: E: Unable to locate package oracle-java8-installer
==> default: Error: /Stage[main]/Java8/Package[oracle-java8-installer]/ensure: change from purged to present failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install oracle-java8-installer' returned 100: Reading package lists...
==> default: Building dependency tree...
==> default: Reading state information...
==> default: E: Unable to locate package oracle-java8-installer
==> default: Warning: /Stage[main]/Java8/File[/etc/profile.d/set_java_home.sh]: Skipping because of failed dependencies

Я предполагаю, что что-то не так в строке №. - 48 в файле init.pp :

  ubuntu: {
      include apt

      apt::ppa { 'ppa:webupd8team/java': }

      package { 'oracle-java8-installer':
        responsefile => '/tmp/java.preseed',
        require      => [
          Apt::Ppa['ppa:webupd8team/java'],
          File['/tmp/java.preseed']
        ],
      }

Любая идея, как я могу это исправить?

P.S. Я использую librarian-puppet для загрузки модуля spantree/java8 из кукольная кузница.


person Arpit Aggarwal    schedule 14.09.2015    source источник
comment
Похоже, ваш модуль не установлен и puppet не может его найти. Это может показаться тривиальным, но пробовали ли вы установить его с помощью puppet module install spantree-java8 ?   -  person Guillaume Fache    schedule 14.09.2015
comment
Я вижу /Stage[main]/Java8/Apt::Ppa[ppa:webupd8team/java]/Exec[add-apt-repository-ppa:webupd8team/java]/returns: executed successfully во время Vagrant up   -  person Arpit Aggarwal    schedule 14.09.2015
comment
Это пакет oracle-java8-installer, который не найден и, возможно, не установлен. Это в папке с модулями?   -  person Guillaume Fache    schedule 14.09.2015
comment
Разве это не то же самое, что и с вашей другой установкой? Вы установили зависимости модуля?   -  person Frederic Henri    schedule 14.09.2015
comment
@FredericHenri: да, его зависимости устанавливаются марионеткой-библиотекарем.   -  person Arpit Aggarwal    schedule 14.09.2015
comment
@GuillaumeFache: я знаю, что oracle-java8-installer не установлен, и то же самое я могу установить с помощью sudo apt-get install oracle-java8-installer, но я хочу использовать здесь модуль Puppet.   -  person Arpit Aggarwal    schedule 14.09.2015
comment
@Arpit, мне кажется, что репозиторий добавлен неправильно, загрузите виртуальную машину и проверьте /etc/apt/sources.list.d, что она была правильно добавлена, если нет, попробуйте запустить команду и убедитесь, что вам не нужно добавлять ключ gpg до этого   -  person Frederic Henri    schedule 14.09.2015
comment
Другое дело, кажется, что для модуля требуется puppet выше 3.2, но на hashicorp/precise32 версия puppet 2.7.x, поэтому убедитесь, что вы обновили puppet перед запуском установки модуля.   -  person Frederic Henri    schedule 14.09.2015
comment
@FredericHenri: Версия Puppet: 3.8.2, но я не могу найти sources.list.d внутри каталога /etc/apt/ на своей гостевой машине.   -  person Arpit Aggarwal    schedule 17.09.2015


Ответы (1)


Наконец-то удалось пройти через ошибку, убедившись, что apt-get update запускается после добавления нового ppa - это было мое изменение в java8/manifests/init.pp :

ubuntu: {
  include apt

  apt::ppa { 'ppa:webupd8team/java': }

  exec { 'apt-update':
      command => "/usr/bin/apt-get update",
      require      => [
        Apt::Ppa['ppa:webupd8team/java']
      ],
  }

  package { 'oracle-java8-installer':
    responsefile => '/tmp/java.preseed',
    require      => [
      Exec['apt-update'],
      File['/tmp/java.preseed']
    ],
  }
}
person Frederic Henri    schedule 17.09.2015