Puppet - 'unpack_tomcat'的语法错误;预期 '}'
问题描述:
我试图Tomcat的部署到节点1剂Puppet - 'unpack_tomcat'的语法错误;预期 '}'
node default {
include lamp
}
node "node1.puppet" {
include tomcat
}
site.pp
├── auth.conf
├── fileserver.conf
├── manifests
│ └── site.pp
├── modules
│ ├── ftp
│ │ ├── files
│ │ │ └── vsftpd.conf
│ │ ├── lib
│ │ └── manifests
│ │ └── init.pp
│ ├── lamp
│ │ ├── lib
│ │ └── manifests
│ │ └── init.pp
│ ├── tomcat
│ │ ├── files
│ │ │ ├── apache-tomcat-8.0.17.zip
│ │ │ ├── script.sh
│ │ │ └── wgetrc
│ │ ├── lib
│ │ └── manifests
│ │ └── init.pp
│ └── unzip
│ └── manifests
│ └── init.pp
└── puppet.conf
我的文件结构..
和/模块/ Tomcat的的内容/manifests/init.pp
class tomcat {
exec { "open_ports":
command => "/bin/firewall-cmd --zone=public --add-port=8080/tcp --permanent",
}
exec { "reload_firewall":
command => "/bin/firewall-cmd --reload",
require => Exec["open_ports"],
}
if $operatingsystem == "centos" {
file { "/etc/wgetrc":
owner => root,
group => root,
mode => 640,
source => "puppet:///modules/tomcat/wgetrc",
}
}
file { "/opt/apache-tomcat-8.0.17.zip":
owner => root,
group => root,
mode => 640,
source => "puppet:///modules/tomcat/apache-tomcat-8.0.17.zip,
}
exec { "unpack_tomcat":
command => "/usr/bin/unzip apache-tomcat-8.0.17,
cwd => "/opt",
require => File["/opt/apache-tomcat-8.0.17"],}
exec { "create_directorys":
command => "/bin/mkdir -p /opt/apache-tomcat-8.0.17/instances/original/{lib,work,temp,logs,webapps,bin},
require => Exec["create_directorys"],
}
}
我试过一切,我不能鳍d一个错误..我做错了什么?
错误消息,从主机拉低目录以后。
[[email protected] puppet]# puppet agent --test
Info: Retrieving pluginfacts
Info: Retrieving plugin
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Syntax error at 'unpack_tomcat'; expected '}' at /etc/puppet/modules/tomcat/manifests/init.pp:23 on node node1.puppet
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
提前感谢! :)
更新:
知道了!错误在init.pp文件中!
这里是新的:
class tomcat {
exec { "open_ports":
command => "/bin/firewall-cmd --zone=public --add-port=8080/tcp --permanent",
}
exec { "reload_firewall":
command => "/bin/firewall-cmd --reload",
require => Exec["open_ports"],
}
if $operatingsystem == "centos" {
file { "/etc/wgetrc":
owner => root,
group => root,
mode => 640,
source => "puppet:///modules/tomcat/wgetrc",
}
}
file { "copy_tomcat":
owner => root,
group => root,
mode => 640,
path => "/opt/apache-tomcat-8.0.17.zip",
source => "puppet:///modules/tomcat/apache-tomcat-8.0.17.zip",
}
exec { "unpack_tomcat":
command => "/usr/bin/unzip apache-tomcat-8.0.17.zip",
cwd => "/opt",
require => File["copy_tomcat"],
}
exec { "create_directorys":
command => "/bin/mkdir -p /opt/apache-tomcat-8.0.17/instances/original/{lib,work,temp,logs,webapps,bin}",
require => Exec["unpack_tomcat"],
}
}
答
有这行
source => "puppet:///modules/tomcat/apache-tomcat-8.0.17.zip,
和同样的问题,在这些线路
command => "/usr/bin/unzip apache-tomcat-8.0.17,
command => "/bin/mkdir -p /opt/apache-tomcat-8.0.17/instances/original/{lib,work,temp,logs,webapps,bin},
谢谢你错过了
"
..有还有一些其他的拼写错误,但你的帖子告诉我正确的方向:) – 2015-01-21 08:31:07所以如果这是有帮助的,你需要vo如果它解决了你的问题,你需要接受它。 – BMW 2015-01-21 08:32:32