У меня есть модуль Puppet, который я использую для монтирования общего ресурса CIFS. И кукловод, и агенты используют SLES 11.
Монтирование работает вручную с помощью этой команды:
mount.cifs //servername/path/to/share /opt/some/dir -o auto,credentials=/root/.smbcred
Но когда марионетка пытается его смонтировать, у нее ничего не получается:
hostname:~ # puppet agent --test --verbose
notice: /Stage[main]/module_name/Mount[/opt/some/dir]/ensure: defined 'ensure' as 'mounted'
err: /Stage[main]/module_name/Mount[/opt/some/dir]: Could not evaluate: Field 'device' is required
Вот соответствующий раздел init.pp для модуля:
file { "/opt/some/dir":
ensure => directory,
}
file { "/root/.smbcred":
owner => root,
group => root,
mode => 0644,
ensure => present,
content => "user=username\npass=password\ndomain=$domain\n",
}
mount {"/opt/some/dir":
device => "//servername/path/to/share",
name => "/opt/some/dir",
atboot => "true",
ensure => "mounted",
fstype => "cifs",
options => "auto,credentials=/root/.smbcred",
require => [ File["/root/.smbcred"], File["/opt/some/dir"] ],
}
Записывается файл учетных данных и создается каталог. Но монтировать просто не получается. Любые идеи?
поле имени является избыточным
Работает ли монтирование после записи файла учетных данных и создания каталога?
запустите его с помощью --debug
есть ли ошибки в / etc / fstab?