Как обновить Puppetfile до URL API v3?

#vagrant #puppet #librarian

#vagrant #кукольный #библиотекарь

Вопрос:

Я использую Vagrant с Puppet. Мой Puppetfile выглядит так:

 forge "http://forge.puppetlabs.com"
mod 'willdurand/nodejs'
# ...
 

Я использую librarian-puppet v1.1.2 для загрузки необходимых зависимостей для Puppet. Недавно инструмент начал отображать предупреждения во время подготовки:

 Replacing Puppet Forge API URL to use v3 https://forgeapi.puppetlabs.com. 
You should update your Puppetfile
 

Замена первой строки Puppetfile на forge "https://forgeapi.puppetlabs.com" не решает проблему. Как именно я должен обновить свой Puppetfile, чтобы избавиться от этих предупреждений?


После того, как я обновил forge.rb скрипт, как предложил @AndreiFecioru:

 if uri =~ %r{^http(s)?://forge.puppetlabs.com}
  puts "---------------> #{uri}"
  uri = "https://forgeapi.puppetlabs.com"
  warn { "Replacing Puppet Forge API URL to use v3 #{uri}. You should update your Puppetfile" }
end
 

вывод выглядит следующим образом:

 $sudo librarian-puppet update
---------------> http://forge.puppetlabs.com
Replacing Puppet Forge API URL to use v3 https://forgeapi.puppetlabs.com. You should update your Puppetfile
...
 

Я понятия не имею , почему URL -адрес там отличается от моего Puppetfile . Я попытался удалить Puppetfile.lock и запустить librarian-puppet install снова — предупреждения по-прежнему отображаются.

Комментарии:

1. Насколько я могу судить, это ошибка. На данный момент я игнорирую это. Хотя об этом следует сообщать в восходящем потоке…

Ответ №1:

Какую версию жемчужины библиотекаря-марионетки вы используете? Я получил то же самое предупреждающее сообщение, переключился на форму «v3» (forge «https://forgeapi.puppetlabs.com «), и это сработало нормально (больше никаких предупреждающих сообщений).

После быстрого поиска в Google я заметил, что эта проблема была исправлена в версии 1.1.0 gem (смотрите Эту тему здесь: https://github.com/rodjek/librarian-puppet/issues/210 ). Я использую версию 1.1.2 драгоценного камня librarian-puppet, и, похоже, все в порядке.

Комментарии:

1. Моя версия тоже 1.1.2, но предупреждение по-прежнему отображается во время подготовки.

2. Обычно на этом этапе я перехожу непосредственно к коду. В вашем случае вы ищете forge.rb файл. В моей системе (ubuntu 12.04 LTS) этот файл находится по адресу: /var/lib/gems/1.9.1/gems/librarian-puppet-1.1.2/lib/librarian/puppet/source/forge.rb . Перейдите к строке 55 и поместите там следующую строку: puts "---------------> #{uri}" . Запустите librarian-puppet update команду еще раз и посмотрите, каково значение входного URI на самом деле.

Ответ №2:

Вероятно, одна из ваших зависимостей использует старую forge "http://forge.puppetlabs.com" строку.

Это просто предупреждение, и его можно игнорировать.