1 #############################################################################
2 # Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
11 class rubbos_tomcat::rubbos_tomcat_on {
13 include params::rubbos_params
14 require rubbos_common::rubbos_common_on
16 # Declare some variables
17 $rubbos_app_tools = $params::rubbos_params::rubbos_app_tools
18 $rubbos_home = $params::rubbos_params::rubbos_home
21 file {'${rubbos_app_tools}/apache-tomcat-5.5.17.tar.gz':
23 path => "${rubbos_app_tools}/apache-tomcat-5.5.17.tar.gz",
24 source => "puppet:///modules/rubbos_tomcat/apache-tomcat-5.5.17.tar.gz",
28 exec {'tar xzvf ${rubbos_app_tools}/apache-tomcat-5.5.17.tar.gz':
29 cwd => "${rubbos_app_tools}",
30 command => "tar xzvf ${rubbos_app_tools}/apache-tomcat-5.5.17.tar.gz",
31 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
32 require => File['${rubbos_app_tools}/apache-tomcat-5.5.17.tar.gz'],
35 file {'${rubbos_app_tools}/j2sdkee1.3.1.jar.gz':
37 path => "${rubbos_app_tools}/j2sdkee1.3.1.jar.gz",
38 source => "puppet:///modules/rubbos_common/j2sdkee1.3.1.jar.gz",
42 exec {'tar xzvf ${rubbos_app_tools}/j2sdkee1.3.1.jar.gz':
43 cwd => "${rubbos_app_tools}",
44 command => "tar xzvf ${rubbos_app_tools}/j2sdkee1.3.1.jar.gz",
45 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
46 require => File['${rubbos_app_tools}/j2sdkee1.3.1.jar.gz'],
49 file {'${rubbos_app_tools}/apache-ant-1.6.5.tar.gz':
51 path => "${rubbos_app_tools}/apache-ant-1.6.5.tar.gz",
52 source => "puppet:///modules/rubbos_common/apache-ant-1.6.5.tar.gz",
56 exec {'tar xzvf ${rubbos_app_tools}/apache-ant-1.6.5.tar.gz':
57 cwd => "${rubbos_app_tools}",
58 command => "tar xzvf ${rubbos_app_tools}/apache-ant-1.6.5.tar.gz",
59 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
60 require => File['${rubbos_app_tools}/apache-ant-1.6.5.tar.gz'],
63 # Override a config file: servier.xml
64 file {'${rubbos_app_tools}/apache-tomcat-5.5.17/conf/server.xml':
66 path => "${rubbos_app_tools}/apache-tomcat-5.5.17/conf/server.xml",
67 source => "puppet:///modules/rubbos_tomcat/server.xml",
70 require => Exec['tar xzvf ${rubbos_app_tools}/apache-tomcat-5.5.17.tar.gz'],
74 file {'${rubbos_home}/build.properties':
76 path => "${rubbos_home}/build.properties",
77 source => "puppet:///modules/rubbos_tomcat/tomcat_sl/build.properties",
82 file {'${rubbos_home}/Makefile':
84 path => "${rubbos_home}/Makefile",
85 source => "puppet:///modules/rubbos_tomcat/tomcat_sl/rubbos_files/Makefile",
90 file {'${rubbos_home}/config.mk':
92 path => "${rubbos_home}/config.mk",
93 source => "puppet:///modules/rubbos_tomcat/tomcat_sl/rubbos_files/config.mk",
98 file {'${rubbos_home}/Servlets':
100 path => "${rubbos_home}/Servlets",
102 source => "puppet:///modules/rubbos_tomcat/tomcat_sl/rubbos_files/Servlets",
107 # mysql.properties etc.
108 file {'${rubbos_home}/Servlets/mysql.properties':
110 path => "${rubbos_home}/Servlets/mysql.properties",
111 source => "puppet:///modules/rubbos_tomcat/tomcat_sl/mysql.properties",
115 file {'${rubbos_home}/Servlets/build.xml':
117 path => "${rubbos_home}/Servlets/build.xml",
118 source => "puppet:///modules/rubbos_tomcat/tomcat_sl/build.xml",
121 require => File['${rubbos_home}/Servlets'],
124 file {'${rubbos_home}/Servlets/edu/rice/rubbos/servlets/Config.java':
126 path => "${rubbos_home}/Servlets/edu/rice/rubbos/servlets/Config.java",
127 source => "puppet:///modules/rubbos_tomcat/tomcat_sl/Config.java",
129 require => File['${rubbos_home}/Servlets'],
133 exec {'mkdir -p ${rubbos_home}/Servlet_HTML/WEB-INF':
134 command => "mkdir -p ${rubbos_home}/Servlet_HTML/WEB-INF",
135 creates => "${rubbos_home}/Servlet_HTML/WEB-INF",
136 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
138 file {'${rubbos_home}/Servlet_HTML/WEB-INF/web.xml':
140 path => "${rubbos_home}/Servlet_HTML/WEB-INF/web.xml",
141 source => "puppet:///modules/rubbos_tomcat/tomcat_sl/web.xml",
143 require => Exec['mkdir -p ${rubbos_home}/Servlet_HTML/WEB-INF'],
148 cwd => "${rubbos_home}/Servlets",
149 command => "${rubbos_app_tools}/apache-ant-1.6.5/bin/ant clean",
150 environment => ["JAVA_HOME=${rubbos_app_tools}/jdk1.6.0_27","ANT_HOME=${rubbos_app_tools}/apache-ant-1.6.5"],
152 "/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin",
153 "${rubbos_app_tools}/jdk1.6.0_27/bin",
154 "${rubbos_app_tools}/jdk1.6.0_27/jre/bin",
155 "${rubbos_app_tools}/apache-ant-1.6.5/bin"],
157 Exec['tar xzvf ${rubbos_app_tools}/j2sdkee1.3.1.jar.gz'],
158 Exec['tar xzvf ${rubbos_app_tools}/apache-ant-1.6.5.tar.gz'],
159 File['${rubbos_home}/build.properties'],
160 File['${rubbos_home}/Makefile'],
161 File['${rubbos_home}/config.mk'],
162 File['${rubbos_home}/Servlets/mysql.properties'],
163 File['${rubbos_home}/Servlets/build.xml'],
164 File['${rubbos_home}/Servlets/edu/rice/rubbos/servlets/Config.java'],
165 File['${rubbos_home}/Servlet_HTML/WEB-INF/web.xml']],
169 cwd => "${rubbos_home}/Servlets",
170 command => "${rubbos_app_tools}/apache-ant-1.6.5/bin/ant dist",
171 environment => ["JAVA_HOME=${rubbos_app_tools}/jdk1.6.0_27","ANT_HOME=${rubbos_app_tools}/apache-ant-1.6.5"],
173 "/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin",
174 "${rubbos_app_tools}/jdk1.6.0_27/bin",
175 "${rubbos_app_tools}/jdk1.6.0_27/jre/bin",
176 "${rubbos_app_tools}/apache-ant-1.6.5/bin"],
177 subscribe => Exec['ant clean'],
178 } ## ant dist will generate: servlets.jar and rubbos.war
180 exec {'deploy rubbos.war':
181 cwd => "${rubbos_app_tools}/apache-tomcat-5.5.17",
182 command => "cp ${rubbos_home}/Servlets/rubbos.war ${rubbos_app_tools}/apache-tomcat-5.5.17/webapps/",
183 onlyif => "test -f ${rubbos_home}/Servlets/rubbos.war",
184 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
187 Exec['tar xzvf ${rubbos_app_tools}/apache-tomcat-5.5.17.tar.gz']],
190 # Finally, start tomcat server
191 exec {'${rubbos_app_tools}/apache-tomcat-5.5.17/bin/startup.sh':
192 cwd => "${rubbos_app_tools}/apache-tomcat-5.5.17",
193 command => "${rubbos_app_tools}/apache-tomcat-5.5.17/bin/startup.sh",
194 path => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
195 environment => "JAVA_HOME=${rubbos_app_tools}/jdk1.6.0_27",
197 File['${rubbos_app_tools}/apache-tomcat-5.5.17/conf/server.xml'],
198 Exec['deploy rubbos.war']],