Repository: ambari Updated Branches: refs/heads/trunk 8d6756eb8 -> 74f3f85a6
AMBARI-5624. Usability: Check for JDK is installed on hosts as part of host checks.(vbrodetskyi) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/74f3f85a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/74f3f85a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/74f3f85a Branch: refs/heads/trunk Commit: 74f3f85a66c031daeff562d24fa819188f959a5f Parents: 8d6756e Author: Vitaly Brodetskyi <vbrodets...@hortonworks.com> Authored: Wed Apr 30 16:14:42 2014 +0300 Committer: Vitaly Brodetskyi <vbrodets...@hortonworks.com> Committed: Wed Apr 30 16:14:42 2014 +0300 ---------------------------------------------------------------------- .../AmbariManagementControllerImpl.java | 1 - .../system_action_definitions.xml | 10 +++++ .../main/resources/custom_actions/check_host.py | 46 ++++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/74f3f85a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java index de3db69..292b3bd 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java @@ -1313,7 +1313,6 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle for (ServiceOsSpecific osSpecific : foundedOSSpecifics) { hostOs.addPackages(osSpecific.getPackages()); } - serviceInfo.getOsSpecifics().get(osFamily); // Choose repo that is relevant for host ServiceOsSpecific.Repo serviceRepo = hostOs.getRepo(); if (serviceRepo != null) { http://git-wip-us.apache.org/repos/asf/ambari/blob/74f3f85a/ambari-server/src/main/resources/custom_action_definitions/system_action_definitions.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/custom_action_definitions/system_action_definitions.xml b/ambari-server/src/main/resources/custom_action_definitions/system_action_definitions.xml index 7ac344a..e8d66e7 100644 --- a/ambari-server/src/main/resources/custom_action_definitions/system_action_definitions.xml +++ b/ambari-server/src/main/resources/custom_action_definitions/system_action_definitions.xml @@ -49,4 +49,14 @@ <description>Check umask</description> <targetType>ANY</targetType> </actionDefinition> + <actionDefinition> + <actionName>check_host</actionName> + <actionType>SYSTEM</actionType> + <inputs>threshold</inputs> + <targetService></targetService> + <targetComponent></targetComponent> + <defaultTimeout>60</defaultTimeout> + <description>General check for host</description> + <targetType>ANY</targetType> + </actionDefinition> </actionDefinitions> http://git-wip-us.apache.org/repos/asf/ambari/blob/74f3f85a/ambari-server/src/main/resources/custom_actions/check_host.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/custom_actions/check_host.py b/ambari-server/src/main/resources/custom_actions/check_host.py new file mode 100644 index 0000000..19628e2 --- /dev/null +++ b/ambari-server/src/main/resources/custom_actions/check_host.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. 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. + +Ambari Agent + +""" + +import os, sys +from resource_management import * + + +class CheckHost(Script): + def actionexecute(self, env): + config = Script.get_config() + + java_home = config['hostLevelParams']['java_home'] + + if not os.path.isfile(os.path.join(java_home, "bin", "java")): + print "Java home not exists" + sys.exit(1) + + print "Java home exists" + structured_output_example = { + 'result': 'Host check completed.' + } + + self.put_structured_out(structured_output_example) + + +if __name__ == "__main__": + CheckHost().execute()