diff options
Diffstat (limited to 'bigtop-deploy/puppet/modules/ambari/manifests/init.pp')
-rw-r--r-- | bigtop-deploy/puppet/modules/ambari/manifests/init.pp | 68 |
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, + } + } +} |