aboutsummaryrefslogtreecommitdiff
path: root/bigtop-deploy/puppet/modules/ambari/manifests/init.pp
diff options
context:
space:
mode:
Diffstat (limited to 'bigtop-deploy/puppet/modules/ambari/manifests/init.pp')
-rw-r--r--bigtop-deploy/puppet/modules/ambari/manifests/init.pp68
1 files changed, 68 insertions, 0 deletions
diff --git a/bigtop-deploy/puppet/modules/ambari/manifests/init.pp b/bigtop-deploy/puppet/modules/ambari/manifests/init.pp
new file mode 100644
index 00000000..839f73c7
--- /dev/null
+++ b/bigtop-deploy/puppet/modules/ambari/manifests/init.pp
@@ -0,0 +1,68 @@
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+class ambari {
+
+ class deploy ($roles) {
+ if ("ambari-server" in $roles) {
+ include ambari::server
+ }
+
+ if ("ambari-agent" in $roles) {
+ include ambari::agent
+ }
+ }
+
+ class server {
+ package { "ambari-server":
+ ensure => latest,
+ }
+
+ exec {
+ "server setup":
+ command => "/usr/sbin/ambari-server setup -s",
+ require => [ Package["ambari-server"] ]
+ }
+
+ # FIXME: this is currently a workaround for 2.5
+ file { ["/var/lib/ambari-server/resources/stacks/Bigtop", "/var/lib/ambari-server/resources/stacks/Bigtop/1.2.0"]:
+ ensure => 'directory',
+ require => [ Package["ambari-server"] ]
+ }
+
+ service { "ambari-server":
+ ensure => running,
+ require => [ Package["ambari-server"], Exec["server setup"], File["/var/lib/ambari-server/resources/stacks/Bigtop/1.2.0"] ],
+ hasrestart => true,
+ hasstatus => true,
+ }
+ }
+
+ class agent($server_host = "localhost") {
+ package { "ambari-agent":
+ ensure => latest,
+ }
+
+ file {
+ "/etc/ambari-agent/conf/ambari-agent.ini":
+ content => template('ambari/ambari-agent.ini'),
+ require => [Package["ambari-agent"]],
+ }
+
+ service { "ambari-agent":
+ ensure => running,
+ require => [ Package["ambari-agent"], File["/etc/ambari-agent/conf/ambari-agent.ini"] ],
+ hasrestart => true,
+ hasstatus => true,
+ }
+ }
+}