|
puppet错误解决--change from absent to file failed: Could not set 'file on ensure: No such file or directory
故障现象:
[iyunv@linux57poc ~]# puppet agent -t
info: Retrieving plugin
info: Loading facts in /var/lib/puppet/lib/facter/fact_apply.rb
info: Caching catalog for puppet_linux57poc.gov.shanghaigm.com
info: Applying configuration version '1385822663'
err: /Stage[main]/Puppet_linux57poc::Test/File[/tmp/puppet/test.txt]/ensure: change from absent to file failed: Could not set 'file on ensure: No such file or directory - /tmp/puppet/test.txt.puppettmp_3104 at /etc/puppet/environments/production/agents/modules/puppet_linux57poc/manifests/init.pp:25
notice: /Stage[main]/Mcollective::Facter/File[/etc/mcollective/facts.yaml]/content:
--- /etc/mcollective/facts.yaml 2013-11-30 22:44:13.000000000 +0800
+++ /tmp/puppet-file20131130-6401-2x5wpt-0 2013-11-30 22:44:24.000000000 +0800
@@ -1,89 +1,89 @@
---
- blockdevice_sda_size: "42949672960"
+ mtu_eth0: "1500"
+ physicalprocessorcount: "1"
+ caller_module_name: mcollective
+ is_virtual: "true"
+ rubyversion: "1.8.7"
+ environment: production
解决方法:
错误很明显,没有/tmp/puppet这个目录,需要先创建 文件目录列表:
[iyunv@linuxmaster1poc modules]# tree puppet_linux57poc/
puppet_linux57poc/
├── files
│ └── etc
│ └── test.txt
├── manifests
│ └── init.pp
└── templates
├── facts.txt.erb
└── motd.erb
4 directories, 4 files
pp文件内容:
class puppet_linux57poc{
include puppet_linux57poc::motd,puppet_linux57poc::facts,puppet_linux57poc::test
}
class puppet_linux57poc::motd{
package{ setup:
ensure => present,
}
file{ "/etc/motd":
owner => "root",
group => "root",
mode => 0400,
content => template("puppet_linux57poc/motd.erb"),
backup => 'main',
require => Package["setup"],
}
}
class puppet_linux57poc::test{
file{ "/tmp/puppet/test.txt":
owner => "root",
group => "root",
mode => 0400,
source => "puppet:///modules/puppet_linux57poc/etc/test.txt",
backup => 'main',
}
}
class puppet_linux57poc::facts{
file{ "/etc/mcollective/facts.txt":
owner => "root",
group => "root",
mode => 0400,
content => template("puppet_linux57poc/facts.txt.erb"),
backup => 'main',
}
}
测试:
[iyunv@linux57poc ~]# mkdir /tmp/puppet -p #创建目录
[iyunv@linux57poc ~]# puppet agent -t
info: Retrieving plugin
info: Loading facts in /var/lib/puppet/lib/facter/fact_apply.rb
info: Caching catalog for puppet_linux57poc.gov.shanghaigm.com
info: Applying configuration version '1385823719'
notice: /Stage[main]/Puppet_linux57poc::Test/File[/tmp/puppet/test.txt]/ensure: defined content as '{md5}18dc28902480f14de4c115d5e5601de8'
notice: /Stage[main]/Mcollective::Facter/File[/etc/mcollective/facts.yaml]/content:
--- /etc/mcollective/facts.yaml 2013-11-30 23:02:00.000000000 +0800
+++ /tmp/puppet-file20131130-7137-t61r1f-0 2013-11-30 23:02:16.000000000 +0800
@@ -14,8 +14,8 @@
processorcount: "1"
caller_module_name: mcollective
netmask_eth0: "255.255.255.0"
|
|