Puppet: Обновление Integer для содержимого файла - Munging не удалось получить значение 0 в содержимом класса - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь обновить содержимое с помощью целого числа 0. Файловый ресурс ниже,

file { ['/sys/block/sda/queue/read_ahead_kb']: 
    content => 0,

}

Error : Failed to apply catalog: Parameter content failed on File[/sys/block/sda/queue/read_ahead_kb]: Munging failed for value 0 in class content: no implicit conversion of Fixnum into String at /test/puppet/environments/mytest/modules/test/manifests/testdb/settings.pp:4

Все, что мне нужно, это просто иметь 0 там? Я пытался иметь ноль между кавычками в виде строки, но он не обновляет файл и выдает ниже ошибки.

Ошибка 1:

Error: Could not back up /sys/block/sda/queue/read_ahead_kb: Got passed new contents for sum {md5}102e7bda3ff4572145809d25da2bbe11

Я удалил / var / lib / puppet / clientbucket и снова запустил куклу.

Ошибка 2:

Error:/Stage[main]/testdb::Settings/File[/sys/block/sda/queue/read_ahead_kb]/content: change from {md5}102e7bda3ff4572145809d25da2bbe11 to {md5}cfcd208495d565ef66e7dff9f98764da failed: Operation not permitted @ dir_s_mkdir - /sys/block/sda/queue/read_ahead_kb20200315-47213-5b01k6.lock

Может ли кто-нибудь помочь с этим?

Спасибо

1 Ответ

1 голос
/ 16 марта 2020

Я сильно подозреваю, что вы не можете использовать ресурс file для управления специальными файлами в /sys. /sys может выглядеть как каталог файлов, но на самом деле это не так.

Для управления настройками /sys доступны модули Puppet. Например, https://forge.puppet.com/danfoster/sysfs, что позволит вам использовать что-то вроде

include sysfs

sysfs::setting { 'class/block/sda/queue/read_ahead_kb':
  value => 0
}
...