невозможно распечатать augea для собственной конфигурации

У меня есть файл dtp.conf ниже для внутреннего требования.

/opt/dtp/etc/dtp.conf

export CHO='NON-PROD'

но когда я печатаю файл конфигурации через augtool, невозможно распечатать значение

/opt/pupet/bin/augtool
augtool> print /files/opt/dtp/etc/dtp_config
augtool>

person Puppeteer    schedule 16.10.2015    source источник


Ответы (1)


Я не помню, чтобы у Augeas был какой-то конкретный объектив для этого файла. Augeas не может угадать, какую линзу (анализатор) использовать, ему нужно знать, какую линзу с каким файлом связать.

В данном случае это похоже на файл типа Shellvar, поэтому вы можете использовать, например:

augtool -At "Shellvars.lns incl /opt/dtp/etc/dtp.conf"

чтобы отредактировать его.

В Puppet используйте тип shellvar из модуля augeasproviders_shellvar Puppet:

shellvar { 'CHO':
  ensure => exported,
  target => '/opt/dtp/etc/dtp_config',
  value  => 'NON-PROD',
}
person raphink    schedule 16.10.2015
comment
Я написал ниже манифесты shellvar { экспорт CHO: обеспечить => присутствует, цель => /opt/dtp/etc/dtp_config, значение => Не-продукт, но получаю ошибку Error 400 на СЕРВЕРЕ: Puppet::Parser::AST::Resource сбой с ошибкой ArgumentError: недопустимый тип ресурса shellvar в /etc/puppetlabs/puppet/modules/example/manifests/dtp.pp:14 на узле augtool версии 1.3.0 - person Puppeteer; 16.10.2015
comment
Да, я попробовал фрагмент кода оболочки, но получил ошибку 400 на СЕРВЕРЕ: Puppet::Parser::AST::Resource не удалось с ошибкой ArgumentError: Недопустимый тип ресурса оболочки в /etc/puppetlabs/puppet/modules/example/manifests/dtp.pp. :14 на узле. Есть ли проблемы с моей кукольной версией. Я использую кукольную версию 3.8. - person Puppeteer; 18.10.2015
comment
Вы установили augeasproviders_shellvar и зависимости (augeasproviders_core)? - person raphink; 19.10.2015
comment
да. Я установил aueasproviders_shellvar и augeasproviders_core. Но теперь я получаю сообщение об ошибке: /Stage[main]/Example::Cho/Shellvar[CHO]: Не удалось оценить: Augeas не загрузил /opt/dtp/etc/dtp_config с Shellvars.lns: Синтаксическая ошибка - person Puppeteer; 21.10.2015
comment
Когда вы запускаете марионетку в режиме отладки, она сообщит вам, какая строка не может быть проанализирована. Вы можете вставить эту строку? Кроме того, какую версию Augeas вы используете? - person raphink; 22.10.2015
comment
Я запускал в режиме отладки puppet apply -t --debug dtp.pp, но не показывал номер строки Отладка: состояние загрузки через 0,11 секунды Информация: применение версии конфигурации «1445573638» Ошибка: /Stage[main]/Example::Dtp/Shellvar [DTP]: не удалось оценить: Augeas не загрузил /opt/dtp/etc/dtp_config с Shellvars.lns: синтаксическая ошибка и версия augeas — augeasversion => 1.3.0 - person Puppeteer; 23.10.2015
comment
Вы можете попробовать запустить файл через augtool, чтобы проверить, понимает ли его augeas: augtool -At "Shellvars.lns incl /opt/dtp/etc/dtp_config" print /augeas//error - person raphink; 24.10.2015
comment
Я получаю следующую ошибку: root@puppet ~]#/opt/puppet/bin/augtool -At Shellvars.lns incl /opt/dtp/etc/dtp_config print /augeas//error /augeas/files/opt/dtp/etc/ dtp_config/error = parse_failed /augeas/files/opt/dtp/etc/dtp_config/error/pos = 0 /augeas/files/opt/dtp/etc/dtp_config/error/line = 1 /augeas/files/opt/dtp/ etc/dtp_config/error/char = 0 /augeas/files/opt/dtp/etc/dtp_config/error/lens = /opt/puppet/share/augeas/lenses/dist/shellvars.aug:191.12-.56:/augeas /files/opt/dtp/etc/dtp_config/error/message = Синтаксическая ошибка - person Puppeteer; 26.10.2015
comment
Что такое строка 1 вашего файла? - person raphink; 26.10.2015
comment
Спасибо Рафкин за помощь. Строка комментария файла была раскомментирована по ошибке. Я снова комментирую это, и манифесты работают. Но у меня есть еще одно сомнение, когда я запускаю манифест в первый раз, получаю DTP=NON-PROD вместо export DTP=NON-PROD, когда я запускаю второй раз, получая Notice : /Stage[main]/Example::Dtp/Shellvar[DTP]/ensure: убедитесь, что значение «присутствует» изменено на «экспортировано», а параметр o/p равен export DTP=NON-PROD почему при первом запуске отсутствует слово экспорт. - person Puppeteer; 27.10.2015
comment
Можете ли вы сообщить об ошибке по этому поводу? Кажется, я помню, что видел это раньше, но я не уверен... - person raphink; 27.10.2015
comment
я должен поднять какой-либо билет для этого в кукольном блоге? если это так, пожалуйста, пришлите мне подробности. - person Puppeteer; 27.10.2015
comment
Пожалуйста, сообщите об этом в проект github для augeasproviders_shellvar. - person raphink; 28.10.2015
comment
создал отчет об ошибке github.com/hercules-team/augeasproviders_shellvar/issues/20 - person Puppeteer; 12.11.2015
comment
скачал версию провайдера augeas 2.2.1 и все заработало. Спасибо :) - person Puppeteer; 13.11.2015