add puppet manifests and conf files for rubbos tomcat module
[bottlenecks.git] / testsuites / rubbos / puppet_manifests / modules / rubbos_tomcat / manifests / rubbos_tomcat_on.pp
1 #############################################################################
2 # Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
3 #
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 ##############################################################################
9
10
11 class rubbos_tomcat::rubbos_tomcat_on {
12
13   include params::rubbos_params
14   require rubbos_common::rubbos_common_on
15
16   # Declare some variables
17   $rubbos_app_tools     = $params::rubbos_params::rubbos_app_tools
18   $rubbos_home          = $params::rubbos_params::rubbos_home
19
20   # Prepare packages
21   file {'${rubbos_app_tools}/apache-tomcat-5.5.17.tar.gz':
22         ensure  => file,
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",
25         backup  => false,
26   }
27
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'],
33   }
34
35   file {'${rubbos_app_tools}/j2sdkee1.3.1.jar.gz':
36         ensure  => file,
37         path    => "${rubbos_app_tools}/j2sdkee1.3.1.jar.gz",
38         source  => "puppet:///modules/rubbos_common/j2sdkee1.3.1.jar.gz",
39         backup  => false,
40   }
41
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'],
47   }
48
49   file {'${rubbos_app_tools}/apache-ant-1.6.5.tar.gz':
50         ensure  => file,
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",
53         backup  => false,
54   }
55
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'],
61   }
62
63   # Override a config file: servier.xml
64   file {'${rubbos_app_tools}/apache-tomcat-5.5.17/conf/server.xml':
65         ensure          => file,
66         path            => "${rubbos_app_tools}/apache-tomcat-5.5.17/conf/server.xml",
67         source          => "puppet:///modules/rubbos_tomcat/server.xml",
68         show_diff       => false,
69         backup          => false,
70         require         => Exec['tar xzvf ${rubbos_app_tools}/apache-tomcat-5.5.17.tar.gz'],
71   }
72
73   # Config tomcal_sl
74   file {'${rubbos_home}/build.properties':
75         ensure  => file,
76         path    => "${rubbos_home}/build.properties",
77         source  => "puppet:///modules/rubbos_tomcat/tomcat_sl/build.properties",
78         backup  => false,
79   }
80
81   # Makefile
82   file {'${rubbos_home}/Makefile':
83         ensure  => file,
84         path    => "${rubbos_home}/Makefile",
85         source  => "puppet:///modules/rubbos_tomcat/tomcat_sl/rubbos_files/Makefile",
86         backup  => false,
87   }
88
89   # config.mk
90   file {'${rubbos_home}/config.mk':
91         ensure  => file,
92         path    => "${rubbos_home}/config.mk",
93         source  => "puppet:///modules/rubbos_tomcat/tomcat_sl/rubbos_files/config.mk",
94         backup  => false,
95   }
96
97   # servlets codes
98   file {'${rubbos_home}/Servlets':
99         ensure          => directory,
100         path            => "${rubbos_home}/Servlets",
101         recurse         => true,
102         source          => "puppet:///modules/rubbos_tomcat/tomcat_sl/rubbos_files/Servlets",
103         show_diff       => false,
104         backup          => false,
105   }
106
107   # mysql.properties etc.
108   file {'${rubbos_home}/Servlets/mysql.properties':
109         ensure  => file,
110         path    => "${rubbos_home}/Servlets/mysql.properties",
111         source  => "puppet:///modules/rubbos_tomcat/tomcat_sl/mysql.properties",
112         backup  => false,
113   }
114
115   file {'${rubbos_home}/Servlets/build.xml':
116         ensure          => file,
117         path            => "${rubbos_home}/Servlets/build.xml",
118         source          => "puppet:///modules/rubbos_tomcat/tomcat_sl/build.xml",
119         backup          => false,
120         show_diff       => false,
121         require         => File['${rubbos_home}/Servlets'],
122   }
123
124   file {'${rubbos_home}/Servlets/edu/rice/rubbos/servlets/Config.java':
125         ensure  => file,
126         path    => "${rubbos_home}/Servlets/edu/rice/rubbos/servlets/Config.java",
127         source  => "puppet:///modules/rubbos_tomcat/tomcat_sl/Config.java",
128         backup  => false,
129         require => File['${rubbos_home}/Servlets'],
130   }
131
132   # mkdir for web.xml
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"],
137   }
138   file {'${rubbos_home}/Servlet_HTML/WEB-INF/web.xml':
139         ensure  => file,
140         path    => "${rubbos_home}/Servlet_HTML/WEB-INF/web.xml",
141         source  => "puppet:///modules/rubbos_tomcat/tomcat_sl/web.xml",
142         backup  => false,
143         require => Exec['mkdir -p ${rubbos_home}/Servlet_HTML/WEB-INF'],
144   }
145
146   ## build rubbos.war
147   exec {'ant clean':
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"],
151         path            => [
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"],
156         require         => [
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']],
166   }
167
168   exec {'ant dist':
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"],
172         path            => [
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
179
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"],
185         require => [
186                 Exec['ant dist'],
187                 Exec['tar xzvf ${rubbos_app_tools}/apache-tomcat-5.5.17.tar.gz']],
188   }
189
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",
196         require         => [
197                         File['${rubbos_app_tools}/apache-tomcat-5.5.17/conf/server.xml'],
198                         Exec['deploy rubbos.war']],
199   }
200
201 }