Назад | Перейти на главную страницу

Наиболее подходящее место для пользовательских фактов о марионетках - RHEL

Я не очень разбираюсь в Ruby, но нашел, как указать путь загрузки Ruby. Вот как это выглядит для меня

$ ruby -e 'puts $:'
/usr/lib/ruby/site_ruby/1.8
/usr/lib64/ruby/site_ruby/1.8
/usr/lib64/ruby/site_ruby/1.8/x86_64-linux
/usr/lib/ruby/site_ruby
/usr/lib64/ruby/site_ruby
/usr/lib64/site_ruby/1.8
/usr/lib64/site_ruby/1.8/x86_64-linux
/usr/lib64/site_ruby
/usr/lib/ruby/1.8
/usr/lib64/ruby/1.8
/usr/lib64/ruby/1.8/x86_64-linux

Некоторые из этих каталогов даже не существуют, и, честно говоря, я бы подумал, что пользовательский факт .rb файлы лучше всего разместить в месте, похожем на марионетку, например / и т.д. / марионетка / факты или похожие.

Следует ли мне использовать одно из существующих местоположений пути загрузки или создать новое для целей Puppet?

Лучше всего размещать любые факты и другие плагины в модулях на марионеточном сервере. Затем используйте функцию pluginsync на клиенте. Это позволяет марионеточному клиенту размещать вещи в нужном месте.

http://docs.puppetlabs.com/guides/plugins_in_modules.html

{modulepath}
└── {module}
    └── lib
        |── augeas
        │   └── lenses
        ├── facter
        └── puppet
            ├── parser
            │   └── functions
            ├── provider
            |   ├── exec
            |   ├── package
            |   └── etc... (any resource type)
            └── type

Таким образом, новый факт может войти в modules/examplemod/lib/facter/myfact.rb.

поскольку facter-1.7 есть также возможность иметь внешние факты, который можно развернуть в /etc/facter/facts.d и может быть написан на любом языке.