ambari git commit: AMBARI-12539 Windows TP: Agent fails to start the Zookeeper

2015-07-27 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 892ef8477 - 71d34fe28


AMBARI-12539 Windows TP: Agent fails to start the Zookeeper

Fixed the rolling_restart parameter which Python requires in the member 
method's prototype.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/71d34fe2
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/71d34fe2
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/71d34fe2

Branch: refs/heads/trunk
Commit: 71d34fe28e0305a912d041ce86119b15fb8baa8d
Parents: 892ef84
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Jul 27 09:45:50 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Jul 27 09:45:50 2015 -0700

--
 .../ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_service.py   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/71d34fe2/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_service.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_service.py
 
b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_service.py
index b983983..685eb6d 100644
--- 
a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_service.py
+++ 
b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_service.py
@@ -61,7 +61,7 @@ def zookeeper_service(action='start', rolling_restart=False):
 Execute(rm_pid)
 
 @OsFamilyFuncImpl(os_family=OSConst.WINSRV_FAMILY)
-def zookeeper_service(action='start'):
+def zookeeper_service(action='start', rolling_restart=False):
   import params
   if action == 'start':
 Service(params.zookeeper_win_service_name, action=start)



[2/3] ambari git commit: AMBARI-12211 Windows unit tests: Server unit tests: adapt the existing unit tests to Windows

2015-07-24 Thread fbarca
http://git-wip-us.apache.org/repos/asf/ambari/blob/03a927dd/ambari-server/src/test/python/TestAmbariServer.py
--
diff --git a/ambari-server/src/test/python/TestAmbariServer.py 
b/ambari-server/src/test/python/TestAmbariServer.py
index 0981a49..905f952 100644
--- a/ambari-server/src/test/python/TestAmbariServer.py
+++ b/ambari-server/src/test/python/TestAmbariServer.py
@@ -48,6 +48,7 @@ with patch(platform.linux_distribution, return_value = 
os_distro_value):
 
 from ambari_commons.firewall import Firewall
 from ambari_commons.os_check import OSCheck, OSConst
+from ambari_commons.os_family_impl import OsFamilyImpl, 
OsFamilyFuncImpl
 from ambari_commons.exceptions import FatalException, NonFatalException
 from ambari_commons.logging_utils import get_verbose, set_verbose, 
get_silent, set_silent, get_debug_mode, \
   print_info_msg, print_warning_msg, print_error_msg
@@ -73,7 +74,7 @@ with patch(platform.linux_distribution, return_value = 
os_distro_value):
   SSL_TRUSTSTORE_PASSWORD_PROPERTY, SECURITY_IS_ENCRYPTION_ENABLED, 
SSL_TRUSTSTORE_PASSWORD_ALIAS, \
   SECURITY_MASTER_KEY_LOCATION, SECURITY_KEYS_DIR, 
LDAP_PRIMARY_URL_PROPERTY, store_password_file, \
   get_pass_file_path, GET_FQDN_SERVICE_URL, 
JDBC_USE_INTEGRATED_AUTH_PROPERTY, SECURITY_KEY_ENV_VAR_NAME, \
-  JAVA_HOME_PROPERTY
+  JAVA_HOME_PROPERTY, JDK_NAME_PROPERTY, JCE_NAME_PROPERTY
 from ambari_server.serverUtils import is_server_runing, 
refresh_stack_hash
 from ambari_server.serverSetup import check_selinux, 
check_ambari_user, proceedJDBCProperties, SE_STATUS_DISABLED, 
SE_MODE_ENFORCING, configure_os_settings, \
   download_and_install_jdk, prompt_db_properties, setup, \
@@ -446,57 +447,108 @@ class TestAmbariServer(TestCase):
 self.assertFalse(False, get_silent())
 pass
 
+  @not_for_platform(PLATFORM_WINDOWS)
   @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch.object(_ambari_server_, setup)
   @patch.object(_ambari_server_, start)
   @patch.object(_ambari_server_, stop)
   @patch.object(_ambari_server_, reset)
-  @patch(optparse.OptionParser)
-  def test_main_test_start_debug_short(self, optionParserMock, reset_method, 
stop_method,
+  def test_main_test_start_debug_short(self, reset_method, stop_method,
start_method, setup_method):
-opm = optionParserMock.return_value
-options = MagicMock()
-args = [start, -g]
-opm.parse_args.return_value = (options, args)
+temp_args = sys.argv
 
-options.dbms = None
-options.sid_or_sname = sid
+try:
+  sys.argv = [ambari-server, start, -g]
 
-_ambari_server_.mainBody()
+  _ambari_server_.mainBody()
 
-self.assertFalse(setup_method.called)
-self.assertTrue(start_method.called)
-self.assertFalse(stop_method.called)
-self.assertFalse(reset_method.called)
+  self.assertFalse(setup_method.called)
+  self.assertTrue(start_method.called)
+  self.assertFalse(stop_method.called)
+  self.assertFalse(reset_method.called)
 
-self.assertTrue(get_debug_mode())
+  self.assertTrue(get_debug_mode())
+finally:
+  sys.argv = temp_args
 pass
 
+  @only_for_platform(PLATFORM_WINDOWS)
   @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch.object(_ambari_server_, setup)
   @patch.object(_ambari_server_, start)
   @patch.object(_ambari_server_, stop)
   @patch.object(_ambari_server_, reset)
-  @patch(optparse.OptionParser)
-  def test_main_test_start_debug_long(self, optionParserMock, reset_method, 
stop_method,
+  def test_main_test_start_debug_short(self, reset_method, stop_method,
+   start_method, setup_method):
+temp_args = sys.argv
+
+try:
+  sys.argv = [ambari-server, pstart, -g]
+
+  _ambari_server_.mainBody()
+
+  self.assertFalse(setup_method.called)
+  self.assertTrue(start_method.called)
+  self.assertFalse(stop_method.called)
+  self.assertFalse(reset_method.called)
+
+  self.assertTrue(get_debug_mode())
+finally:
+  sys.argv = temp_args
+pass
+
+  @not_for_platform(PLATFORM_WINDOWS)
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
+  @patch.object(_ambari_server_, setup)
+  @patch.object(_ambari_server_, start)
+  @patch.object(_ambari_server_, stop)
+  @patch.object(_ambari_server_, reset)
+  def test_main_test_start_debug_long(self, reset_method, stop_method,
   start_method, setup_method):
-opm = optionParserMock.return_value
-options = MagicMock()
-args = [start, --debug]
-opm.parse_args.return_value = (options, args)
-options.dbms = None
-options.sid_or_sname = sid
+temp_args = sys.argv
 
-

[1/3] ambari git commit: AMBARI-12211 Windows unit tests: Server unit tests: adapt the existing unit tests to Windows

2015-07-24 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 17ac0d69d - 03a927ddb


http://git-wip-us.apache.org/repos/asf/ambari/blob/03a927dd/ambari-server/src/test/python/TestOSCheck.py
--
diff --git a/ambari-server/src/test/python/TestOSCheck.py 
b/ambari-server/src/test/python/TestOSCheck.py
index ebef706..cf114a1 100644
--- a/ambari-server/src/test/python/TestOSCheck.py
+++ b/ambari-server/src/test/python/TestOSCheck.py
@@ -28,13 +28,15 @@ from unittest import TestCase
 from mock.mock import patch
 from mock.mock import MagicMock
 
+from only_for_platform import os_distro_value, os_distro_value_linux
+
 from ambari_commons import OSCheck
 import os_check_type
 
 utils = __import__('ambari_server.utils').utils
 # We have to use this import HACK because the filename contains a dash
-with patch(platform.linux_distribution, return_value = 
('Suse','11','Final')):
-  with patch.object(OSCheck, os_distribution, return_value = 
('Suse','11','Final')):
+with patch(platform.linux_distribution, return_value = 
os_distro_value_linux):
+  with patch.object(OSCheck, os_distribution, return_value = 
os_distro_value):
 with patch.object(utils, get_postgre_hba_dir):
   ambari_server = __import__('ambari-server')
 
@@ -207,15 +209,21 @@ class TestOSCheck(TestCase):
 configDefaults.AMBARI_PROPERTIES_BACKUP_FILE = fn1
 serverConfiguration.AMBARI_PROPERTIES_FILE = fn2
 
-with open(configDefaults.AMBARI_PROPERTIES_BACKUP_FILE, 'w') as f:
+f = open(configDefaults.AMBARI_PROPERTIES_BACKUP_FILE, 'w')
+try:
   for line in properties:
 f.write(line)
+finally:
+  f.close()
 
 #Call tested method
 update_ambari_properties()
 
-with open(serverConfiguration.AMBARI_PROPERTIES_FILE, 'r') as f:
+f = open(serverConfiguration.AMBARI_PROPERTIES_FILE, 'r')
+try:
   ambari_properties_content = f.readlines()
+finally:
+  f.close()
 
 count = 0
 for line in ambari_properties_content:
@@ -230,6 +238,7 @@ class TestOSCheck(TestCase):
 # Command should not fail if *.rpmsave file is missing
 result = update_ambari_properties()
 self.assertEquals(result, 0)
+pass
 
   @patch.object(OSCheck, os_distribution)
   def test_os_type_check(self, mock_linux_distribution):

http://git-wip-us.apache.org/repos/asf/ambari/blob/03a927dd/ambari-server/src/test/python/TestResourceFilesKeeper.py
--
diff --git a/ambari-server/src/test/python/TestResourceFilesKeeper.py 
b/ambari-server/src/test/python/TestResourceFilesKeeper.py
index dff7ccb..6856124 100644
--- a/ambari-server/src/test/python/TestResourceFilesKeeper.py
+++ b/ambari-server/src/test/python/TestResourceFilesKeeper.py
@@ -29,45 +29,74 @@ from subprocess import Popen
 from mock.mock import MagicMock, call
 from mock.mock import patch
 from mock.mock import create_autospec
+from only_for_platform import get_platform, not_for_platform, 
only_for_platform, os_distro_value, PLATFORM_WINDOWS
+
 from ambari_server.resourceFilesKeeper import ResourceFilesKeeper, 
KeeperException
 
 
 class TestResourceFilesKeeper(TestCase):
 
-  TEST_RESOURCES_DIR = ../resources
-  TEST_STACKS_DIR=../resources/stacks
+  TEST_RESOURCES_DIR = .. + os.sep + resources
+  TEST_STACKS_DIR = .. + os.sep + resources + os.sep + stacks
 
   # Stack that is not expected to change
-  DUMMY_UNCHANGEABLE_STACK=../resources/TestAmbaryServer.samples/ \
-   dummy_stack/HIVE/
+  DUMMY_UNCHANGEABLE_STACK = .. + os.sep + resources + os.sep + 
TestAmbaryServer.samples + os.sep + \
+   dummy_stack + os.sep + HIVE
 
-  DUMMY_ACTIVE_STACK=../resources/TestAmbaryServer.samples/ \
-   active_stack/
+  DUMMY_ACTIVE_STACK = .. + os.sep + resources + os.sep + 
TestAmbaryServer.samples + os.sep + \
+   active_stack
 
-  DUMMY_INACTIVE_STACK=../resources/TestAmbaryServer.samples/ \
- inactive_stack/
+  DUMMY_INACTIVE_STACK = .. + os.sep + resources + os.sep + 
TestAmbaryServer.samples + os.sep + \
+ inactive_stack
 
   DUMMY_UNCHANGEABLE_PACKAGE=os.path.join(DUMMY_UNCHANGEABLE_STACK,
 ResourceFilesKeeper.PACKAGE_DIR)
 
-  DUMMY_UNCHANGEABLE_PACKAGE_HASH=33a5f7d3bb6e7b4545431fc07ae87fa2d59a09c4
+  if get_platform() != PLATFORM_WINDOWS:
+DUMMY_UNCHANGEABLE_PACKAGE_HASH=33a5f7d3bb6e7b4545431fc07ae87fa2d59a09c4
+  else:
+DUMMY_UNCHANGEABLE_PACKAGE_HASH=2e438f4f9862420ed8930a56b8809b8aca359e87
   DUMMY_HASH=dummy_hash
   YA_HASH=yet_another_hash
   SOME_PATH=some-path
 
-  DUMMY_UNCHANGEABLE_COMMON_SERVICES=../resources/TestAmbaryServer.samples/ \
- 
dummy_common_services/HIVE/0.11.0.2.0.5.0
+  DUMMY_UNCHANGEABLE_COMMON_SERVICES=.. + os.sep + resources + os.sep + 
TestAmbaryServer.samples + os.sep + \
+

[3/3] ambari git commit: AMBARI-12211 Windows unit tests: Server unit tests: adapt the existing unit tests to Windows

2015-07-24 Thread fbarca
AMBARI-12211 Windows unit tests: Server unit tests: adapt the existing unit 
tests to Windows

Fixed the platform-specific Python and Java tests. Fixed file handle leaks in 
serverConfiguration.py.
Added profile to help suppress Python tests execution.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/03a927dd
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/03a927dd
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/03a927dd

Branch: refs/heads/trunk
Commit: 03a927ddb2fca9c2984e554361ff98cd0fc1f8b0
Parents: 17ac0d6
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Jul 23 11:25:00 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri Jul 24 11:03:38 2015 -0700

--
 .../main/python/ambari_commons/os_windows.py|4 +-
 .../src/test/python/only_for_platform.py|7 +-
 ambari-server/pom.xml   |   16 +-
 ambari-server/src/main/python/ambari-server.py  |   29 +-
 .../python/ambari_server/dbConfiguration.py |3 +
 .../python/ambari_server/serverConfiguration.py |   49 +-
 .../main/python/ambari_server/setupSecurity.py  |2 +-
 ambari-server/src/main/python/setupAgent.py |2 +-
 .../ambari/server/bootstrap/BootStrapTest.java  |   22 +-
 .../ClientConfigResourceProviderTest.java   |   26 +-
 .../CreateKeytabFilesServerActionTest.java  |5 +
 .../src/test/python/TestAmbariServer.py | 1797 +++---
 ambari-server/src/test/python/TestOSCheck.py|   17 +-
 .../src/test/python/TestResourceFilesKeeper.py  |   66 +-
 ambari-server/src/test/python/TestSetupAgent.py |   91 +-
 ambari-server/src/test/python/TestUtils.py  |5 +-
 .../src/test/python/TestValidateConfigs.py  |1 +
 .../test/python/custom_actions/TestCheckHost.py |   66 +-
 .../custom_actions/TestInstallPackages.py   |1 +
 .../custom_actions/test_ru_execute_tasks.py |   41 +-
 ambari-server/src/test/python/unitTests.py  |6 +-
 21 files changed, 1857 insertions(+), 399 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/03a927dd/ambari-common/src/main/python/ambari_commons/os_windows.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/os_windows.py 
b/ambari-common/src/main/python/ambari_commons/os_windows.py
index a826eef..058dbfd 100644
--- a/ambari-common/src/main/python/ambari_commons/os_windows.py
+++ b/ambari-common/src/main/python/ambari_commons/os_windows.py
@@ -532,8 +532,8 @@ class WinServiceController:
 win32serviceutil.StopServiceWithDeps(serviceName, waitSecs=waitSecs)
   else:
 win32serviceutil.StopService(serviceName)
-if waitSecs:
-  win32serviceutil.WaitForServiceStatus(serviceName, 
win32service.SERVICE_STOPPED, waitSecs)
+  if waitSecs:
+win32serviceutil.WaitForServiceStatus(serviceName, 
win32service.SERVICE_STOPPED, waitSecs)
 except win32service.error, exc:
   if exc.winerror != 1062:
 msg = Error stopping service: %s (%d) % (exc.strerror, exc.winerror)

http://git-wip-us.apache.org/repos/asf/ambari/blob/03a927dd/ambari-common/src/test/python/only_for_platform.py
--
diff --git a/ambari-common/src/test/python/only_for_platform.py 
b/ambari-common/src/test/python/only_for_platform.py
index fba2771..cc2d13e 100644
--- a/ambari-common/src/test/python/only_for_platform.py
+++ b/ambari-common/src/test/python/only_for_platform.py
@@ -46,7 +46,10 @@ def for_specific_platforms(systems):
   return obj
   return decorator
 
+os_distro_value_linux = ('Suse','11','Final')
+os_distro_value_windows = ('win2012serverr2','6.3','WindowsServer')
+
 if get_platform() != PLATFORM_WINDOWS:
-  os_distro_value = ('Suse','11','Final')
+  os_distro_value = os_distro_value_linux
 else:
-  os_distro_value = ('win2012serverr2','6.3','WindowsServer')
+  os_distro_value = os_distro_value_windows

http://git-wip-us.apache.org/repos/asf/ambari/blob/03a927dd/ambari-server/pom.xml
--
diff --git a/ambari-server/pom.xml b/ambari-server/pom.xml
index 7d5575a..717d331 100644
--- a/ambari-server/pom.xml
+++ b/ambari-server/pom.xml
@@ -41,6 +41,7 @@
 ambari-admin-dir${basedir}/../ambari-admin/ambari-admin-dir
 contrib-views-dir${basedir}/../contrib/views/contrib-views-dir
 powermock.version1.5/powermock.version
+skipPythonTestsfalse/skipPythonTests
   /properties
   build
 plugins
@@ -1217,7 +1218,7 @@
   environmentVariables
   
PYTHONPATH${path.python.1}${pathsep}$PYTHONPATH/PYTHONPATH
   /environmentVariables
-  skip${skipTests}/skip
+  

ambari git commit: AMBARI-12204 Windows unit tests: Agent unit tests: adapt the existing unit tests to Windows

2015-07-22 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk b5c303ac5 - e39eca7e0


AMBARI-12204 Windows unit tests: Agent unit tests: adapt the existing unit 
tests to Windows


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e39eca7e
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e39eca7e
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e39eca7e

Branch: refs/heads/trunk
Commit: e39eca7e06d8c8b06df86e7c18dbdccead207e19
Parents: b5c303a
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jul 21 12:59:57 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Jul 22 13:35:54 2015 -0700

--
 .../test/python/ambari_agent/TestActionQueue.py | 27 ++--
 .../TestClusterConfigurationCache.py| 11 +---
 .../src/test/python/ambari_agent/TestMain.py| 17 ++--
 ambari-agent/src/test/python/unitTests.py   | 15 ---
 4 files changed, 53 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/e39eca7e/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
--
diff --git a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py 
b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
index 5a22843..6e22bf8 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
@@ -40,6 +40,8 @@ from ambari_agent.FileCache import FileCache
 from ambari_commons import OSCheck
 from only_for_platform import not_for_platform, os_distro_value, 
PLATFORM_WINDOWS
 
+import logging
+
 class TestActionQueue(TestCase):
   def setUp(self):
 # save original open() method for later use
@@ -49,6 +51,8 @@ class TestActionQueue(TestCase):
   def tearDown(self):
 sys.stdout = sys.__stdout__
 
+  logger = logging.getLogger()
+
   datanode_install_command = {
 'commandType': 'EXECUTION_COMMAND',
 'role': u'DATANODE',
@@ -253,7 +257,7 @@ class TestActionQueue(TestCase):
 actionQueue.stop()
 actionQueue.join()
 self.assertEqual(actionQueue.stopped(), True, 'Action queue is not 
stopped.')
-self.assertTrue(process_command_mock.call_count  1)
+self.assertGreater(process_command_mock.call_count, 1)
 
 
   @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
@@ -372,9 +376,12 @@ class TestActionQueue(TestCase):
 # Continue command execution
 unfreeze_flag.set()
 # wait until ready
-while actionQueue.tasks_in_progress_or_pending():
-  time.sleep(0.1)
+check_queue = True
+while check_queue:
   report = actionQueue.result()
+  if not actionQueue.tasks_in_progress_or_pending():
+break
+  time.sleep(0.1)
 
 self.assertEqual(len(report['reports']), 0)
 
@@ -388,10 +395,11 @@ class TestActionQueue(TestCase):
 unfreeze_flag.set()
 #  check in progress report
 # wait until ready
-report = actionQueue.result()
-while actionQueue.tasks_in_progress_or_pending():
-  time.sleep(0.1)
+while check_queue:
   report = actionQueue.result()
+  if not actionQueue.tasks_in_progress_or_pending():
+break
+  time.sleep(0.1)
 
 self.assertEqual(len(report['reports']), 0)
 
@@ -839,7 +847,11 @@ class TestActionQueue(TestCase):
   'structuredOut': '',
   'status': 'FAILED'
 }
-time_mock.side_effect = [4, 8, 10, 14, 18, 22]
+
+times_arr = [8, 10, 14, 18, 22]
+if self.logger.isEnabledFor(logging.INFO):
+  times_arr.insert(0, 4)
+time_mock.side_effect = times_arr
 
 def side_effect(command, tmpoutfile, tmperrfile, 
override_output_files=True, retry=False):
   return python_execution_result_dict
@@ -954,7 +966,6 @@ class TestActionQueue(TestCase):
 report = actionQueue.result()
 self.assertEqual(len(report['reports']),1)
 
-  @not_for_platform(PLATFORM_WINDOWS)
   @patch.object(CustomServiceOrchestrator, get_py_executor)
   @patch.object(CustomServiceOrchestrator, resolve_script_path)
   @patch.object(StackVersionsFileHandler, read_stack_version)

http://git-wip-us.apache.org/repos/asf/ambari/blob/e39eca7e/ambari-agent/src/test/python/ambari_agent/TestClusterConfigurationCache.py
--
diff --git 
a/ambari-agent/src/test/python/ambari_agent/TestClusterConfigurationCache.py 
b/ambari-agent/src/test/python/ambari_agent/TestClusterConfigurationCache.py
index bd754b2..e82fca2 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestClusterConfigurationCache.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestClusterConfigurationCache.py
@@ -18,6 +18,7 @@ See the License for the specific language governing 

ambari git commit: AMBARI-12036 Windows unit tests: Agent unit tests: fix the imports failing patches

2015-07-21 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 99cac719d - 4e2b2d848


AMBARI-12036 Windows unit tests: Agent unit tests: fix the imports  failing 
patches

Excluded the inapplicable tests for now. Coalesced the OS mock.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4e2b2d84
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4e2b2d84
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4e2b2d84

Branch: refs/heads/trunk
Commit: 4e2b2d8481260f1d2c06c2251b97a4105e987be7
Parents: 99cac71
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jul 21 09:35:04 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jul 21 09:40:52 2015 -0700

--
 .../test/python/ambari_agent/TestActionQueue.py | 24 +++---
 .../ambari_agent/TestActualConfigHandler.py |  7 +-
 .../python/ambari_agent/TestCertGeneration.py   | 12 +--
 .../test/python/ambari_agent/TestController.py  |  6 +-
 .../TestCustomServiceOrchestrator.py| 25 +++---
 .../test/python/ambari_agent/TestDataCleaner.py |  9 +--
 .../test/python/ambari_agent/TestFileCache.py   |  4 +-
 .../test/python/ambari_agent/TestHostInfo.py|  4 +-
 .../test/python/ambari_agent/TestHostname.py| 11 +--
 .../test/python/ambari_agent/TestLiveStatus.py  |  7 +-
 .../src/test/python/ambari_agent/TestMain.py| 55 ++---
 .../src/test/python/ambari_agent/TestNetUtil.py |  9 +--
 .../python/ambari_agent/TestPythonExecutor.py   | 11 +--
 .../test/python/ambari_agent/TestSecurity.py|  7 +-
 .../test/python/ambari_agent/TestStatusCheck.py |  7 +-
 .../resource_management/TestContentSources.py   |  5 +-
 .../TestDirectoryResource.py| 65 
 .../resource_management/TestExecuteResource.py  | 13 ++--
 .../resource_management/TestFileResource.py | 81 ++--
 .../resource_management/TestGroupResource.py| 20 +++--
 .../resource_management/TestLinkResource.py | 36 -
 .../TestPropertiesFileResource.py   | 36 +
 .../TestRepositoryResource.py   | 10 ++-
 .../resource_management/TestUserResource.py | 32 
 .../TestXmlConfigResource.py| 32 
 .../src/test/python/only_for_platform.py|  5 ++
 26 files changed, 256 insertions(+), 277 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/4e2b2d84/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
--
diff --git a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py 
b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
index 4e130f9..5a22843 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
@@ -36,14 +36,9 @@ from ambari_agent.PythonExecutor import PythonExecutor
 from ambari_agent.CommandStatusDict import CommandStatusDict
 from ambari_agent.ActualConfigHandler import ActualConfigHandler
 from ambari_agent.RecoveryManager import RecoveryManager
-from FileCache import FileCache
+from ambari_agent.FileCache import FileCache
 from ambari_commons import OSCheck
-from only_for_platform import only_for_platform, get_platform, 
not_for_platform, PLATFORM_LINUX, PLATFORM_WINDOWS
-
-if get_platform() != PLATFORM_WINDOWS:
-  os_distro_value = ('Suse','11','Final')
-else:
-  os_distro_value = ('win2012serverr2','6.3','WindowsServer')
+from only_for_platform import not_for_platform, os_distro_value, 
PLATFORM_WINDOWS
 
 class TestActionQueue(TestCase):
   def setUp(self):
@@ -818,9 +813,12 @@ class TestActionQueue(TestCase):
 self.assertEqual(2, sleep_mock.call_count)
 sleep_mock.assert_has_calls([call(2), call(3)], False)
 runCommand_mock.assert_has_calls([
-  call(command, '/tmp/ambari-agent/output-19.txt', 
'/tmp/ambari-agent/errors-19.txt', override_output_files=True, retry=False),
-  call(command, '/tmp/ambari-agent/output-19.txt', 
'/tmp/ambari-agent/errors-19.txt', override_output_files=False, retry=True),
-  call(command, '/tmp/ambari-agent/output-19.txt', 
'/tmp/ambari-agent/errors-19.txt', override_output_files=False, retry=True)])
+  call(command, os.sep + 'tmp' + os.sep + 'ambari-agent' + os.sep + 
'output-19.txt',
+   os.sep + 'tmp' + os.sep + 'ambari-agent' + os.sep + 
'errors-19.txt', override_output_files=True, retry=False),
+  call(command, os.sep + 'tmp' + os.sep + 'ambari-agent' + os.sep + 
'output-19.txt',
+   os.sep + 'tmp' + os.sep + 'ambari-agent' + os.sep + 
'errors-19.txt', override_output_files=False, retry=True),
+  call(command, os.sep + 'tmp' + os.sep + 'ambari-agent' + os.sep + 
'output-19.txt',
+   os.sep + 'tmp' + os.sep + 'ambari-agent' + 

ambari git commit: AMBARI-12027 ambari-server unit tests: HDP stack test suite freezes on test error/failure

2015-07-21 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 4e2b2d848 - 53969a530


AMBARI-12027 ambari-server unit tests: HDP stack test suite freezes on test 
error/failure

Avoided waiting on the results queue


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/53969a53
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/53969a53
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/53969a53

Branch: refs/heads/trunk
Commit: 53969a5304fdba6ceb809fb90aff02b0243a1689
Parents: 4e2b2d8
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jul 21 09:35:48 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jul 21 09:42:36 2015 -0700

--
 ambari-server/src/test/python/unitTests.py | 19 ++-
 1 file changed, 14 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/53969a53/ambari-server/src/test/python/unitTests.py
--
diff --git a/ambari-server/src/test/python/unitTests.py 
b/ambari-server/src/test/python/unitTests.py
index 7ad3add..f16c280 100644
--- a/ambari-server/src/test/python/unitTests.py
+++ b/ambari-server/src/test/python/unitTests.py
@@ -20,6 +20,7 @@ import unittest
 import multiprocessing
 import os
 import sys
+from Queue import Empty
 from random import shuffle
 import fnmatch
 import tempfile
@@ -187,11 +188,19 @@ def main():
 executor_result)
   )
 process.start()
-process.join()
-#for pretty output
-sys.stdout.flush()
-sys.stderr.flush()
-variant_result = executor_result.get()
+while process.is_alive():
+  process.join(10)
+
+  #for pretty output
+  sys.stdout.flush()
+  sys.stderr.flush()
+
+  try:
+variant_result = executor_result.get_nowait()
+break
+  except Empty as ex:
+pass
+
 test_runs += variant_result['tests_run']
 test_errors.extend(variant_result['errors'])
 test_failures.extend(variant_result['failures'])



ambari git commit: AMBARI-12038 Windows unit tests: Server unit tests: fix the imports failing patches

2015-07-21 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 53969a530 - fe55b9c95


AMBARI-12038 Windows unit tests: Server unit tests: fix the imports  failing 
patches

Fixed the imports. Coalesced the OS mock. Excluded the obviously inapplicable 
Windows tests (Atlas, Ganglia, Kerberos, Mahout, NFSGateway, Phoenix, Ranger, 
Spark).


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fe55b9c9
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fe55b9c9
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fe55b9c9

Branch: refs/heads/trunk
Commit: fe55b9c9555f21c224c00af3ec58f1511cb084d2
Parents: 53969a5
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jul 21 09:36:33 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jul 21 09:42:36 2015 -0700

--
 .../0.1.0/package/scripts/params_windows.py| 13 ++---
 ambari-server/src/test/python/TestAmbariServer.py  | 11 ++-
 ambari-server/src/test/python/TestBootstrap.py |  4 ++--
 ambari-server/src/test/python/TestValidateConfigs.py   |  5 -
 .../src/test/python/custom_actions/TestCheckHost.py|  5 +
 .../test/python/custom_actions/TestInstallPackages.py  |  8 ++--
 .../src/test/python/host_scripts/TestAlertDiskSpace.py |  6 +-
 .../stacks/2.0.6/GANGLIA/test_ganglia_monitor.py   |  2 ++
 .../python/stacks/2.0.6/GANGLIA/test_ganglia_server.py |  3 +++
 .../stacks/2.0.6/HBASE/test_phoenix_queryserver.py |  5 +++--
 .../test/python/stacks/2.0.6/HDFS/test_nfsgateway.py   |  3 +++
 .../test/python/stacks/2.0.6/HIVE/test_mysql_server.py |  3 +++
 .../python/stacks/2.2/ACCUMULO/test_accumulo_client.py |  2 ++
 .../test/python/stacks/2.2/KAFKA/test_kafka_broker.py  |  3 +++
 .../python/stacks/2.2/KERBEROS/test_kerberos_client.py |  2 ++
 .../python/stacks/2.2/KERBEROS/test_kerberos_server.py |  3 +++
 .../test/python/stacks/2.2/RANGER/test_ranger_admin.py |  3 +++
 .../python/stacks/2.2/RANGER/test_ranger_usersync.py   |  3 +++
 .../python/stacks/2.2/SPARK/test_job_history_server.py |  3 +++
 .../test/python/stacks/2.2/SPARK/test_spark_client.py  |  3 +++
 .../stacks/2.2/SPARK/test_spark_service_check.py   |  3 +++
 .../python/stacks/2.3/ATLAS/test_metadata_server.py|  2 ++
 .../python/stacks/2.3/MAHOUT/test_mahout_client.py |  3 +++
 .../stacks/2.3/MAHOUT/test_mahout_service_check.py |  5 -
 24 files changed, 78 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/fe55b9c9/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params_windows.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params_windows.py
 
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params_windows.py
index acb5bba..8eaee70 100644
--- 
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params_windows.py
+++ 
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params_windows.py
@@ -46,8 +46,15 @@ except:
   ams_monitor_conf_dir = None
   ams_monitor_home_dir = None
 
-hadoop_native_lib = os.path.join(os.environ[HADOOP_HOME], bin)
-hadoop_bin_dir = os.path.join(os.environ[HADOOP_HOME], bin)
-hadoop_conf_dir = os.path.join(os.environ[HADOOP_HOME], conf)
+hadoop_native_lib = None
+hadoop_bin_dir = None
+hadoop_conf_dir = None
+
+try:
+  hadoop_native_lib = os.path.join(os.environ[HADOOP_HOME], bin)
+  hadoop_bin_dir = os.path.join(os.environ[HADOOP_HOME], bin)
+  hadoop_conf_dir = os.path.join(os.environ[HADOOP_HOME], conf)
+except:
+  pass
 
 from service_mapping import *

http://git-wip-us.apache.org/repos/asf/ambari/blob/fe55b9c9/ambari-server/src/test/python/TestAmbariServer.py
--
diff --git a/ambari-server/src/test/python/TestAmbariServer.py 
b/ambari-server/src/test/python/TestAmbariServer.py
index 795ea0a..0981a49 100644
--- a/ambari-server/src/test/python/TestAmbariServer.py
+++ b/ambari-server/src/test/python/TestAmbariServer.py
@@ -34,14 +34,10 @@ import StringIO
 import tempfile
 from unittest import TestCase
 
-from only_for_platform import get_platform, not_for_platform, 
only_for_platform, PLATFORM_LINUX, PLATFORM_WINDOWS
+from only_for_platform import get_platform, not_for_platform, 
only_for_platform, os_distro_value, PLATFORM_LINUX, PLATFORM_WINDOWS
 
 if get_platform() != PLATFORM_WINDOWS:
-  os_distro_value = ('Suse','11','Final')
   from pwd import getpwnam
-else:
-  #No Windows tests for now, but start getting prepared
-  os_distro_value = ('win2012serverr2','6.3','WindowsServer')
 
 # We have 

ambari git commit: AMBARI-12177 Windows unit tests: Metrics unit tests: fix the imports failing patches

2015-07-21 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 1157dac6d - 81b4febe6


AMBARI-12177 Windows unit tests: Metrics unit tests: fix the imports  failing 
patches

Fixed the imports. Coalesced the OS mock.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/81b4febe
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/81b4febe
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/81b4febe

Branch: refs/heads/trunk
Commit: 81b4febe63f0f2e826664567e871a8fbebe0b9b7
Parents: 1157dac
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jul 21 11:33:43 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jul 21 11:35:31 2015 -0700

--
 .../src/test/python/core/TestEmitter.py| 17 +++--
 .../src/test/python/core/TestMetricCollector.py| 10 +-
 .../src/test/python/unitTests.py   |  8 +---
 3 files changed, 17 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/81b4febe/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/core/TestEmitter.py
--
diff --git 
a/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/core/TestEmitter.py
 
b/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/core/TestEmitter.py
index a9357fb..8f5236a 100644
--- 
a/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/core/TestEmitter.py
+++ 
b/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/core/TestEmitter.py
@@ -23,21 +23,18 @@ import urllib2
 
 import logging
 from unittest import TestCase
-from only_for_platform import get_platform, PLATFORM_WINDOWS
+from only_for_platform import get_platform, os_distro_value, PLATFORM_WINDOWS
 
-from mock.mock import patch, MagicMock
+from ambari_commons.os_check import OSCheck
 
-if get_platform() != PLATFORM_WINDOWS:
-  os_distro_value = ('Suse','11','Final')
-else:
-  os_distro_value = ('win2012serverr2','6.3','WindowsServer')
+from mock.mock import patch, MagicMock
 
 with patch(platform.linux_distribution, return_value = os_distro_value):
   from ambari_commons import OSCheck
-  from application_metric_map import ApplicationMetricMap
-  from config_reader import Configuration
-  from emitter import Emitter
-  from stop_handler import bind_signal_handlers
+  from core.application_metric_map import ApplicationMetricMap
+  from core.config_reader import Configuration
+  from core.emitter import Emitter
+  from core.stop_handler import bind_signal_handlers
 
 logger = logging.getLogger()
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/81b4febe/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/core/TestMetricCollector.py
--
diff --git 
a/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/core/TestMetricCollector.py
 
b/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/core/TestMetricCollector.py
index 30cc023..11a85eb 100644
--- 
a/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/core/TestMetricCollector.py
+++ 
b/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/core/TestMetricCollector.py
@@ -19,12 +19,12 @@ limitations under the License.
 '''
 import logging
 from unittest import TestCase
-
-from application_metric_map import ApplicationMetricMap
-from metric_collector import MetricsCollector
-from event_definition import HostMetricCollectEvent
 from mock.mock import patch
-from host_info import HostInfo
+
+from core.application_metric_map import ApplicationMetricMap
+from core.metric_collector import MetricsCollector
+from core.event_definition import HostMetricCollectEvent
+from core.host_info import HostInfo
 
 logger = logging.getLogger()
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/81b4febe/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/unitTests.py
--
diff --git 
a/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/unitTests.py 
b/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/unitTests.py
index 3469de1..4ffaec8 100644
--- a/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/unitTests.py
+++ b/ambari-metrics/ambari-metrics-host-monitoring/src/test/python/unitTests.py
@@ -53,16 +53,18 @@ def get_test_files(path, mask = None, recursive=True):
   
   current = []
   directory_items = os.listdir(path)
+  directory_items.sort()
 
   for item in directory_items:
 add_to_pythonpath = False
-if os.path.isfile(path + / + item):
+item_path = os.path.join(path, item)
+if os.path.isfile(item_path):
   if fnmatch.fnmatch(item, mask):
 add_to_pythonpath = True
 

ambari git commit: AMBARI-12171 Windows unit tests: Common unit tests: fix the imports failing patches

2015-07-21 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk a6c86eec9 - 114220647


AMBARI-12171 Windows unit tests: Common unit tests: fix the imports  failing 
patches

Fixed the imports. Coalesced the OS mock.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/11422064
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/11422064
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/11422064

Branch: refs/heads/trunk
Commit: 1142206476aff1fdebe4ddb72b488ad40e87472e
Parents: a6c86ee
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jul 21 11:34:23 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jul 21 13:00:34 2015 -0700

--
 .../python/resource_management/TestContentSources.py |  6 --
 .../python/resource_management/TestDirectoryResource.py  |  9 ++---
 .../resource_management/TestExecuteHadoopResource.py |  8 ++--
 .../python/resource_management/TestExecuteResource.py|  6 --
 .../test/python/resource_management/TestFileResource.py  |  9 +++--
 .../test/python/resource_management/TestGroupResource.py |  8 +---
 .../test/python/resource_management/TestLinkResource.py  |  8 
 .../resource_management/TestPropertiesFileResource.py|  6 --
 .../python/resource_management/TestRepositoryResource.py |  3 ++-
 .../python/resource_management/TestServiceResource.py| 11 +--
 .../resource_management/TestTemplateConfigResource.py|  9 +++--
 .../test/python/resource_management/TestUserResource.py  |  7 +--
 .../python/resource_management/TestXmlConfigResource.py  |  8 ++--
 ambari-agent/src/test/python/unitTests.py|  7 +--
 14 files changed, 70 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/11422064/ambari-agent/src/test/python/resource_management/TestContentSources.py
--
diff --git 
a/ambari-agent/src/test/python/resource_management/TestContentSources.py 
b/ambari-agent/src/test/python/resource_management/TestContentSources.py
index 55c3300..5f4ee06 100644
--- a/ambari-agent/src/test/python/resource_management/TestContentSources.py
+++ b/ambari-agent/src/test/python/resource_management/TestContentSources.py
@@ -18,7 +18,9 @@ limitations under the License.
 
 from unittest import TestCase
 from mock.mock import patch, MagicMock
-from only_for_platform import get_platform, not_for_platform, PLATFORM_WINDOWS
+from only_for_platform import get_platform, not_for_platform, os_distro_value, 
PLATFORM_WINDOWS
+
+from ambari_commons.os_check import OSCheck
 
 from resource_management.core import Environment
 from resource_management.core.system import System
@@ -35,7 +37,7 @@ import urllib2
 import os
 
 
-@patch.object(System, os_family, new = 'redhat')
+@patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
 class TestContentSources(TestCase):
 
   @patch.object(os.path, isfile)

http://git-wip-us.apache.org/repos/asf/ambari/blob/11422064/ambari-agent/src/test/python/resource_management/TestDirectoryResource.py
--
diff --git 
a/ambari-agent/src/test/python/resource_management/TestDirectoryResource.py 
b/ambari-agent/src/test/python/resource_management/TestDirectoryResource.py
index f1ca4de..011be6d 100644
--- a/ambari-agent/src/test/python/resource_management/TestDirectoryResource.py
+++ b/ambari-agent/src/test/python/resource_management/TestDirectoryResource.py
@@ -18,7 +18,9 @@ limitations under the License.
 
 from unittest import TestCase
 from mock.mock import patch, MagicMock
-from only_for_platform import get_platform, not_for_platform, PLATFORM_WINDOWS
+from only_for_platform import get_platform, not_for_platform, os_distro_value, 
PLATFORM_WINDOWS
+
+from ambari_commons.os_check import OSCheck
 
 import os
 from resource_management.core.system import System
@@ -30,9 +32,10 @@ if get_platform() != PLATFORM_WINDOWS:
   import grp
 
 
-@patch.object(System, os_family, new = 'redhat')
+@patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
 class TestDirectoryResource(TestCase):
-  
+
+  @not_for_platform(PLATFORM_WINDOWS)
   @patch(resource_management.core.sudo.path_exists)
   @patch(resource_management.core.sudo.makedirs)
   @patch(resource_management.core.sudo.path_isdir)

http://git-wip-us.apache.org/repos/asf/ambari/blob/11422064/ambari-agent/src/test/python/resource_management/TestExecuteHadoopResource.py
--
diff --git 
a/ambari-agent/src/test/python/resource_management/TestExecuteHadoopResource.py 

ambari git commit: AMBARI-12025 Windows unit tests: adapt the HDP stacks unit test framework to Windows

2015-06-19 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk d82576084 - d960d2a95


AMBARI-12025 Windows unit tests: adapt the HDP stacks unit test framework to 
Windows

Fixed the HDP stack reference and path generation


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d960d2a9
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d960d2a9
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d960d2a9

Branch: refs/heads/trunk
Commit: d960d2a95ffd49177d45fa8367d22587879003d0
Parents: d825760
Author: Florian Barca fba...@hortonworks.com
Authored: Fri Jun 19 16:39:27 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri Jun 19 16:39:27 2015 -0700

--
 ambari-server/src/test/python/unitTests.py | 17 ++---
 1 file changed, 14 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/d960d2a9/ambari-server/src/test/python/unitTests.py
--
diff --git a/ambari-server/src/test/python/unitTests.py 
b/ambari-server/src/test/python/unitTests.py
index fe9b60a..7ad3add 100644
--- a/ambari-server/src/test/python/unitTests.py
+++ b/ambari-server/src/test/python/unitTests.py
@@ -25,6 +25,9 @@ import fnmatch
 import tempfile
 import shutil
 
+from ambari_commons.os_check import OSConst
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
+
 #excluded directories with non-test staff from stack and service scanning,
 #also we can add service or stack to skip here
 STACK_EXCLUDE = [utils, 1.3.2]
@@ -73,6 +76,14 @@ def get_test_files(path, mask=None, recursive=True):
   return current
 
 
+@OsFamilyFuncImpl(OSConst.WINSRV_FAMILY)
+def get_stack_name():
+  return HDPWIN
+
+@OsFamilyFuncImpl(OsFamilyImpl.DEFAULT)
+def get_stack_name():
+  return HDP
+
 def stack_test_executor(base_folder, service, stack, custom_tests, 
executor_result):
   
   Stack tests executor. Must be executed in separate process to prevent module
@@ -87,7 +98,7 @@ def stack_test_executor(base_folder, service, stack, 
custom_tests, executor_resu
   server_src_dir = get_parent_path(base_folder, 'src')
 
   base_stack_folder = os.path.join(server_src_dir,
-   
'main/resources/stacks/HDP/{0}'.format(stack))
+   main, resources, stacks, 
get_stack_name(), stack)
 
   script_folders = set()
   for root, subFolders, files in os.walk(os.path.join(base_stack_folder,
@@ -128,8 +139,8 @@ def main():
   pwd = os.path.abspath(os.path.dirname(__file__))
 
   ambari_server_folder = get_parent_path(pwd, 'ambari-server')
-  ambari_agent_folder = os.path.join(ambari_server_folder, ../ambari-agent)
-  ambari_common_folder = os.path.join(ambari_server_folder, ../ambari-common)
+  ambari_agent_folder = os.path.normpath(os.path.join(ambari_server_folder, 
../ambari-agent))
+  ambari_common_folder = os.path.normpath(os.path.join(ambari_server_folder, 
../ambari-common))
   sys.path.append(os.path.join(ambari_common_folder, src/main/python))
   sys.path.append(os.path.join(ambari_common_folder, 
src/main/python/ambari_jinja2))
   sys.path.append(os.path.join(ambari_common_folder, src/test/python))



ambari git commit: AMBARI-11989 [WinTP2] Atlas is not supported on Windows for TP2

2015-06-18 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 2c5ecc39e - af7e26704


AMBARI-11989 [WinTP2] Atlas is not supported on Windows for TP2

Moved the Atlas driver code in the Linux-specific implementation.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/af7e2670
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/af7e2670
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/af7e2670

Branch: refs/heads/trunk
Commit: af7e2670435fedc71c9e13c1446ba8b6fc4d1efe
Parents: 2c5ecc3
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Jun 18 14:45:26 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Jun 18 14:45:26 2015 -0700

--
 .../common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py  | 4 
 .../HIVE/0.12.0.2.0/package/scripts/hcat_client.py   | 1 -
 .../common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py   | 4 
 .../HIVE/0.12.0.2.0/package/scripts/webhcat_server.py| 2 --
 4 files changed, 8 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/af7e2670/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py
index 1f7893d..5385099 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py
@@ -40,6 +40,8 @@ def hcat():
 def hcat():
   import params
 
+  from setup_atlas_hive import setup_atlas_hive
+
   Directory(params.hive_conf_dir,
 recursive=True,
 owner=params.hcat_user,
@@ -71,3 +73,5 @@ def hcat():
group=params.user_group,
content=InlineTemplate(params.hcat_env_sh_template)
   )
+
+  setup_atlas_hive()

http://git-wip-us.apache.org/repos/asf/ambari/blob/af7e2670/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
index 1b5b768..75a37f1 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
@@ -36,7 +36,6 @@ class HCatClient(Script):
 import params
 env.set_params(params)
 hcat()
-setup_atlas_hive()
 
   def status(self, env):
 raise ClientComponentHasNoStatus()

http://git-wip-us.apache.org/repos/asf/ambari/blob/af7e2670/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
index c33bc90..e86b02c 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
@@ -44,6 +44,8 @@ def webhcat():
 def webhcat():
   import params
 
+  from setup_atlas_hive import setup_atlas_hive
+
   Directory(params.templeton_pid_dir,
 owner=params.webhcat_user,
 mode=0755,
@@ -112,3 +114,5 @@ def webhcat():
  owner=params.webhcat_user,
  
content=StaticFile(format({config_dir}/{log4j_webhcat_filename}.template))
 )
+
+  setup_atlas_hive()

http://git-wip-us.apache.org/repos/asf/ambari/blob/af7e2670/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
index 0473d17..012d1e2 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
@@ -26,7 +26,6 @@ from resource_management.libraries.functions.security_commons 
import build_expec
   FILE_TYPE_XML
 from webhcat import 

ambari git commit: AMBARI-11989 [WinTP2] Atlas is not supported on Windows for TP2

2015-06-18 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/branch-2.1 fc6b7169b - 48c02a12a


AMBARI-11989 [WinTP2] Atlas is not supported on Windows for TP2

Moved the Atlas driver code in the Linux-specific implementation.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/48c02a12
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/48c02a12
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/48c02a12

Branch: refs/heads/branch-2.1
Commit: 48c02a12a77e75d6ed02239ce944f17e5b17e1eb
Parents: fc6b716
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Jun 18 14:46:29 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Jun 18 14:46:29 2015 -0700

--
 .../common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py  | 4 
 .../HIVE/0.12.0.2.0/package/scripts/hcat_client.py   | 1 -
 .../common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py   | 4 
 .../HIVE/0.12.0.2.0/package/scripts/webhcat_server.py| 2 --
 4 files changed, 8 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/48c02a12/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py
index 1f7893d..5385099 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat.py
@@ -40,6 +40,8 @@ def hcat():
 def hcat():
   import params
 
+  from setup_atlas_hive import setup_atlas_hive
+
   Directory(params.hive_conf_dir,
 recursive=True,
 owner=params.hcat_user,
@@ -71,3 +73,5 @@ def hcat():
group=params.user_group,
content=InlineTemplate(params.hcat_env_sh_template)
   )
+
+  setup_atlas_hive()

http://git-wip-us.apache.org/repos/asf/ambari/blob/48c02a12/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
index 1b5b768..75a37f1 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hcat_client.py
@@ -36,7 +36,6 @@ class HCatClient(Script):
 import params
 env.set_params(params)
 hcat()
-setup_atlas_hive()
 
   def status(self, env):
 raise ClientComponentHasNoStatus()

http://git-wip-us.apache.org/repos/asf/ambari/blob/48c02a12/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
index c33bc90..e86b02c 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
@@ -44,6 +44,8 @@ def webhcat():
 def webhcat():
   import params
 
+  from setup_atlas_hive import setup_atlas_hive
+
   Directory(params.templeton_pid_dir,
 owner=params.webhcat_user,
 mode=0755,
@@ -112,3 +114,5 @@ def webhcat():
  owner=params.webhcat_user,
  
content=StaticFile(format({config_dir}/{log4j_webhcat_filename}.template))
 )
+
+  setup_atlas_hive()

http://git-wip-us.apache.org/repos/asf/ambari/blob/48c02a12/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
index 0473d17..012d1e2 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
@@ -26,7 +26,6 @@ from resource_management.libraries.functions.security_commons 
import build_expec
   FILE_TYPE_XML
 from 

ambari git commit: AMBARI-11890 [WinTP2] [Test] Cluster install via blueprint fails

2015-06-16 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/branch-2.1 40de958c1 - 63d89c072


AMBARI-11890 [WinTP2] [Test] Cluster install via blueprint fails

Strengthened the parameter assignments originating from environment vars, to 
handle out-of-order installations


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/63d89c07
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/63d89c07
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/63d89c07

Branch: refs/heads/branch-2.1
Commit: 63d89c072d6f621a04776ce09f1cd4483e277ce0
Parents: 40de958
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jun 16 01:15:52 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jun 16 01:15:52 2015 -0700

--
 .../libraries/functions/install_hdp_msi.py  |  2 +-
 .../HDFS/2.1.0.2.0/package/scripts/datanode.py  |  4 +-
 .../2.1.0.2.0/package/scripts/hdfs_client.py|  5 ++-
 .../2.1.0.2.0/package/scripts/install_params.py | 39 
 .../2.1.0.2.0/package/scripts/journalnode.py|  3 ++
 .../HDFS/2.1.0.2.0/package/scripts/namenode.py  |  5 +++
 .../2.1.0.2.0/package/scripts/params_windows.py |  5 ++-
 .../package/scripts/params_windows.py   | 31 +++-
 .../0.5.0.2.2/package/scripts/params_windows.py | 37 +--
 .../package/scripts/params_windows.py   | 14 +--
 .../package/scripts/params_windows.py   | 19 +++---
 .../0.4.0.2.1/package/scripts/params_windows.py |  7 +++-
 .../3.4.5.2.0/package/scripts/params_windows.py | 14 +--
 13 files changed, 146 insertions(+), 39 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/63d89c07/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
index 0e06eb0..7e94b5d 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
@@ -97,7 +97,7 @@ INSTALL_MSI_CMD = 'cmd /C start /wait msiexec /qn /i  
{hdp_msi_path} /lv {hdp_lo
   'HDP_LAYOUT={hdp_layout_path} DESTROY_DATA=yes 
HDP_USER={hadoop_user} HDP_USER_PASSWORD={hadoop_password_arg} HDP=yes ' \
   'KNOX=yes KNOX_MASTER_SECRET=AmbariHDP2Windows FALCON=yes 
STORM=yes HBase=yes STORM=yes FLUME=yes SLIDER=yes PHOENIX=no RANGER=no'
 CREATE_SERVICE_SCRIPT = os.path.abspath(sbin\createservice.ps1)
-CREATE_SERVICE_CMD = 'cmd /C powershell -File {script} -username {username} 
-password {password} -servicename ' \
+CREATE_SERVICE_CMD = 'cmd /C powershell -ExecutionPolicy Bypass -File 
{script} -username {username} -password {password} -servicename ' \
  '{servicename} -hdpresourcesdir {resourcedir} 
-servicecmdpath {servicecmd}'
 INSTALL_MARKER_OK = msi.installed
 INSTALL_MARKER_FAILED = msi.failed

http://git-wip-us.apache.org/repos/asf/ambari/blob/63d89c07/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py
 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py
index fc54f73..d8b8835 100644
--- 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py
+++ 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py
@@ -143,7 +143,9 @@ class DataNodeDefault(DataNode):
 
 @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY)
 class DataNodeWindows(DataNode):
-  pass
+  def install(self, env):
+import install_params
+self.install_packages(env, install_params.exclude_packages)
 
 if __name__ == __main__:
   DataNode().execute()

http://git-wip-us.apache.org/repos/asf/ambari/blob/63d89c07/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py
 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py
index 961e644..dd0dca4 100644
--- 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py
+++ 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py
@@ -111,7 +111,10 @@ 

ambari git commit: AMBARI-11890 [WinTP2] [Test] Cluster install via blueprint fails

2015-06-16 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 9b8b308fe - 345f99588


AMBARI-11890 [WinTP2] [Test] Cluster install via blueprint fails

Strengthened the parameter assignments originating from environment vars, to 
handle out-of-order installations


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/345f9958
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/345f9958
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/345f9958

Branch: refs/heads/trunk
Commit: 345f99588c924b3f9c271cee13ae5e53b3e69261
Parents: 9b8b308
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jun 16 01:15:03 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jun 16 01:15:03 2015 -0700

--
 .../libraries/functions/install_hdp_msi.py  |  2 +-
 .../HDFS/2.1.0.2.0/package/scripts/datanode.py  |  4 +-
 .../2.1.0.2.0/package/scripts/hdfs_client.py|  5 ++-
 .../2.1.0.2.0/package/scripts/install_params.py | 39 
 .../2.1.0.2.0/package/scripts/journalnode.py|  3 ++
 .../HDFS/2.1.0.2.0/package/scripts/namenode.py  |  5 +++
 .../2.1.0.2.0/package/scripts/params_windows.py |  5 ++-
 .../package/scripts/params_windows.py   | 31 +++-
 .../0.5.0.2.2/package/scripts/params_windows.py | 37 +--
 .../package/scripts/params_windows.py   | 14 +--
 .../package/scripts/params_windows.py   | 19 +++---
 .../0.4.0.2.1/package/scripts/params_windows.py |  7 +++-
 .../3.4.5.2.0/package/scripts/params_windows.py | 14 +--
 13 files changed, 146 insertions(+), 39 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/345f9958/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
index 0e06eb0..7e94b5d 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
@@ -97,7 +97,7 @@ INSTALL_MSI_CMD = 'cmd /C start /wait msiexec /qn /i  
{hdp_msi_path} /lv {hdp_lo
   'HDP_LAYOUT={hdp_layout_path} DESTROY_DATA=yes 
HDP_USER={hadoop_user} HDP_USER_PASSWORD={hadoop_password_arg} HDP=yes ' \
   'KNOX=yes KNOX_MASTER_SECRET=AmbariHDP2Windows FALCON=yes 
STORM=yes HBase=yes STORM=yes FLUME=yes SLIDER=yes PHOENIX=no RANGER=no'
 CREATE_SERVICE_SCRIPT = os.path.abspath(sbin\createservice.ps1)
-CREATE_SERVICE_CMD = 'cmd /C powershell -File {script} -username {username} 
-password {password} -servicename ' \
+CREATE_SERVICE_CMD = 'cmd /C powershell -ExecutionPolicy Bypass -File 
{script} -username {username} -password {password} -servicename ' \
  '{servicename} -hdpresourcesdir {resourcedir} 
-servicecmdpath {servicecmd}'
 INSTALL_MARKER_OK = msi.installed
 INSTALL_MARKER_FAILED = msi.failed

http://git-wip-us.apache.org/repos/asf/ambari/blob/345f9958/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py
 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py
index fc54f73..d8b8835 100644
--- 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py
+++ 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/datanode.py
@@ -143,7 +143,9 @@ class DataNodeDefault(DataNode):
 
 @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY)
 class DataNodeWindows(DataNode):
-  pass
+  def install(self, env):
+import install_params
+self.install_packages(env, install_params.exclude_packages)
 
 if __name__ == __main__:
   DataNode().execute()

http://git-wip-us.apache.org/repos/asf/ambari/blob/345f9958/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py
 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py
index 961e644..dd0dca4 100644
--- 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py
+++ 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py
@@ -111,7 +111,10 @@ class 

ambari git commit: AMBARI-11911 [WinTP2] Falcon service check fails after installation

2015-06-14 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/branch-2.1 b7b72065a - dc77c647f


AMBARI-11911 [WinTP2] Falcon service check fails after installation

Retrying smoke test to cover for Falcon startup slowness


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/dc77c647
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/dc77c647
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/dc77c647

Branch: refs/heads/branch-2.1
Commit: dc77c647f6a8f326d146efbe4820c7416cdd0f63
Parents: b7b7206
Author: Florian Barca fba...@hortonworks.com
Authored: Sun Jun 14 09:49:00 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Sun Jun 14 09:49:00 2015 -0700

--
 .../FALCON/0.5.0.2.1/package/scripts/service_check.py  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/dc77c647/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/service_check.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/service_check.py
 
b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/service_check.py
index 1e48d6a..e633dcb 100644
--- 
a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/service_check.py
+++ 
b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/service_check.py
@@ -47,7 +47,7 @@ class FalconServiceCheckWindows(FalconServiceCheck):
 env.set_params(params)
 smoke_cmd = os.path.join(params.hdp_root,Run-SmokeTests.cmd)
 service = FALCON
-Execute(format(cmd /C {smoke_cmd} {service}), user=params.falcon_user, 
logoutput=True)
+Execute(format(cmd /C {smoke_cmd} {service}), user=params.falcon_user, 
logoutput=True, tries = 3, try_sleep = 20)
 
 if __name__ == __main__:
   FalconServiceCheck().execute()



ambari git commit: AMBARI-11911 [WinTP2] Falcon service check fails after installation

2015-06-14 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk aea31f740 - 094245f31


AMBARI-11911 [WinTP2] Falcon service check fails after installation

Retrying smoke test to cover for Falcon startup slowness


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/094245f3
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/094245f3
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/094245f3

Branch: refs/heads/trunk
Commit: 094245f3192345ce6bead138f1b8b5687b1cf6ad
Parents: aea31f7
Author: Florian Barca fba...@hortonworks.com
Authored: Sun Jun 14 09:47:05 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Sun Jun 14 09:47:05 2015 -0700

--
 .../FALCON/0.5.0.2.1/package/scripts/service_check.py  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/094245f3/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/service_check.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/service_check.py
 
b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/service_check.py
index 1e48d6a..e633dcb 100644
--- 
a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/service_check.py
+++ 
b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/package/scripts/service_check.py
@@ -47,7 +47,7 @@ class FalconServiceCheckWindows(FalconServiceCheck):
 env.set_params(params)
 smoke_cmd = os.path.join(params.hdp_root,Run-SmokeTests.cmd)
 service = FALCON
-Execute(format(cmd /C {smoke_cmd} {service}), user=params.falcon_user, 
logoutput=True)
+Execute(format(cmd /C {smoke_cmd} {service}), user=params.falcon_user, 
logoutput=True, tries = 3, try_sleep = 20)
 
 if __name__ == __main__:
   FalconServiceCheck().execute()



ambari git commit: AMBARI-11635 [WinTP2] Zookeeper service check fails

2015-06-11 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 043e35a6b - 4cb8180de


AMBARI-11635 [WinTP2] Zookeeper service check fails

Repeat test in case of failure at installation time due to ZK startup slowness.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4cb8180d
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4cb8180d
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4cb8180d

Branch: refs/heads/trunk
Commit: 4cb8180de671b1deab1ec814f481a7ed1e7c5724
Parents: 043e35a
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Jun 11 22:31:20 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Jun 11 22:33:11 2015 -0700

--
 .../ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/4cb8180d/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
 
b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
index 2d2b793..b601c58 100644
--- 
a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
+++ 
b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
@@ -63,7 +63,7 @@ class ZookeeperServiceCheckWindows(ZookeeperServiceCheck):
 
 smoke_cmd = os.path.join(params.hdp_root,Run-SmokeTests.cmd)
 service = Zookeeper
-Execute(format(cmd /C {smoke_cmd} {service}), user=params.zk_user, 
logoutput=True)
+Execute(format(cmd /C {smoke_cmd} {service}), user=params.zk_user, 
logoutput=True, tries=3, try_sleep=20)
 
 if __name__ == __main__:
   ZookeeperServiceCheck().execute()



ambari git commit: AMBARI-11635 [WinTP2] Zookeeper service check fails

2015-06-11 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/branch-2.1 53477a898 - 1a718de87


AMBARI-11635 [WinTP2] Zookeeper service check fails

Repeat test in case of failure at installation time due to ZK startup slowness.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1a718de8
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1a718de8
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1a718de8

Branch: refs/heads/branch-2.1
Commit: 1a718de876be50ba1be08bd72b34434efc068ff1
Parents: 53477a89
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Jun 11 22:35:16 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Jun 11 22:35:16 2015 -0700

--
 .../ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/1a718de8/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
 
b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
index 2d2b793..b601c58 100644
--- 
a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
+++ 
b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
@@ -63,7 +63,7 @@ class ZookeeperServiceCheckWindows(ZookeeperServiceCheck):
 
 smoke_cmd = os.path.join(params.hdp_root,Run-SmokeTests.cmd)
 service = Zookeeper
-Execute(format(cmd /C {smoke_cmd} {service}), user=params.zk_user, 
logoutput=True)
+Execute(format(cmd /C {smoke_cmd} {service}), user=params.zk_user, 
logoutput=True, tries=3, try_sleep=20)
 
 if __name__ == __main__:
   ZookeeperServiceCheck().execute()



ambari git commit: AMBARI-11817 [WinTP2] Adding a view fails on Windows

2015-06-10 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/branch-2.1 e41cb36a2 - 4fa3df7f8


AMBARI-11817 [WinTP2] Adding a view fails on Windows

Fixed database column description in ViewInstanceEntity and UpgradeCatalog210


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4fa3df7f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4fa3df7f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4fa3df7f

Branch: refs/heads/branch-2.1
Commit: 4fa3df7f8ed564b2293f1e66e1f0205664985198
Parents: e41cb36
Author: Florian Barca fba...@hortonworks.com
Authored: Wed Jun 10 08:41:00 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Jun 10 08:41:00 2015 -0700

--
 .../java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java   | 2 +-
 ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/4fa3df7f/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
--
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
index 85cf39a..036dcce 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog210.java
@@ -282,7 +282,7 @@ public class UpgradeCatalog210 extends 
AbstractUpgradeCatalog {
 // determine whether to alter the names of the dynamic entities / 
attributes to
 // avoid db reserved word conflicts.  should be false for existing 
instances
 // for backward compatibility.
-dbAccessor.addColumn(VIEW_INSTANCE_TABLE, new DBColumnInfo(alter_names, 
Integer.class, null, 0, false));
+dbAccessor.addColumn(VIEW_INSTANCE_TABLE, new DBColumnInfo(alter_names, 
Integer.class, 0, 0, false));
 // cluster configuration
 dbAccessor.addColumn(VIEW_PARAMETER_TABLE, new 
DBColumnInfo(cluster_config, String.class, 255, null, true));
 // view build number

http://git-wip-us.apache.org/repos/asf/ambari/blob/4fa3df7f/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
--
diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
index f71a4ed..02eeb55 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@ -537,7 +537,7 @@ CREATE TABLE viewinstanceproperty (
   view_name VARCHAR(255) NOT NULL,
   view_instance_name VARCHAR(255) NOT NULL,
   NAME VARCHAR(255) NOT NULL,
-  value VARCHAR(2000) NOT NULL,
+  value VARCHAR(2000),
   PRIMARY KEY CLUSTERED (
 view_name,
 view_instance_name,



ambari git commit: AMBARI-11663 [WinTP2] Flumeagent service is disabled when hdp msi is installed

2015-06-03 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk d59c24bec - 8fcf9f115


AMBARI-11663 [WinTP2] Flumeagent service is disabled when hdp msi is installed

+Ensured that the Flume Agent service is active
+Fixed service configuration capabilities, to make a clear distinction between 
configuration and user account change


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8fcf9f11
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8fcf9f11
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8fcf9f11

Branch: refs/heads/trunk
Commit: 8fcf9f1150dff97c67ffaaf166076b80f477a2ed
Parents: d59c24b
Author: Florian Barca fba...@hortonworks.com
Authored: Wed Jun 3 15:14:44 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Jun 3 15:14:44 2015 -0700

--
 .../core/providers/windows/service.py   | 31 
 .../FLUME/1.4.0.2.0/package/scripts/flume.py|  4 +++
 2 files changed, 30 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/8fcf9f11/ambari-common/src/main/python/resource_management/core/providers/windows/service.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/core/providers/windows/service.py
 
b/ambari-common/src/main/python/resource_management/core/providers/windows/service.py
index 5f4cc45..8824ddd 100644
--- 
a/ambari-common/src/main/python/resource_management/core/providers/windows/service.py
+++ 
b/ambari-common/src/main/python/resource_management/core/providers/windows/service.py
@@ -27,6 +27,7 @@ import winerror
 from ambari_commons.os_windows import WinServiceController
 
 from resource_management.core.base import Fail
+from resource_management.core.logger import Logger
 from resource_management.core.providers import Provider
 
 
@@ -109,9 +110,18 @@ class ServiceProvider(Provider):
 
 
 class ServiceConfigProvider(Provider):
+  str_start_types = \
+  {
+auto : win32service.SERVICE_AUTO_START,
+automatic : win32service.SERVICE_AUTO_START,
+disabled : win32service.SERVICE_DISABLED,
+manual : win32service.SERVICE_DEMAND_START,
+  }
+
   def action_install(self):
 hSCM = safe_open_scmanager()
 
+self._fix_start_type()
 self._fix_user_name()
 
 try:
@@ -146,20 +156,20 @@ class ServiceConfigProvider(Provider):
 try:
   hSvc = safe_open_service(hSCM, self.resource.service_name)
 
-  self._fix_user_name()
+  self._fix_start_type()
 
   try:
 win32service.ChangeServiceConfig(hSvc,
  win32service.SERVICE_NO_CHANGE,
- self.resource.startType,
+ self.resource.start_type,
  win32service.SERVICE_NO_CHANGE,
  None,
  None,
  0,
  None,
- self.resource.username,
- self.resource.password,
- self.resource.displayName)
+ None,
+ None,
+ self.resource.display_name)
 if self.resource.description:
   try:
 win32service.ChangeServiceConfig2(hSvc, 
win32service.SERVICE_CONFIG_DESCRIPTION, self.resource.description)
@@ -223,6 +233,17 @@ class ServiceConfigProvider(Provider):
 finally:
   win32service.CloseServiceHandle(hSCM)
 
+  def _fix_start_type(self):
+if self.resource.start_type in 
ServiceConfigProvider.str_start_types.keys():
+  self.resource.start_type = 
ServiceConfigProvider.str_start_types[self.resource.start_type]
+elif (not self.resource.start_type or self.resource.start_type not in [
+win32service.SERVICE_AUTO_START,
+win32service.SERVICE_DISABLED,
+win32service.SERVICE_DEMAND_START]):
+  Logger.warning(Invalid service start type specified: service='{0}', 
start type='{1}'. Ignoring..format(
+self.resource.service_name, str(self.resource.start_type)))
+  self.resource.start_type = win32service.SERVICE_NO_CHANGE
+
   def _fix_user_name(self):
 if self.resource.username.upper() == NT AUTHORITY\\SYSTEM:
   self.resource.username = None

http://git-wip-us.apache.org/repos/asf/ambari/blob/8fcf9f11/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume.py
--
diff --git 

ambari git commit: AMBARI-11666 :[WinTP2] ambari-server setup without arguments doesn't customize the service account password

2015-06-03 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 8fcf9f115 - 302370d94


AMBARI-11666 :[WinTP2] ambari-server setup without arguments doesn't customize 
the service account password

Fixed user account setup logic


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/302370d9
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/302370d9
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/302370d9

Branch: refs/heads/trunk
Commit: 302370d94f7b65ca7d278edb4fd181e8b66c32d5
Parents: 8fcf9f1
Author: Florian Barca fba...@hortonworks.com
Authored: Wed Jun 3 15:22:43 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Jun 3 15:22:43 2015 -0700

--
 .../src/main/python/ambari_server/serverSetup.py   | 17 ++---
 1 file changed, 10 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/302370d9/ambari-server/src/main/python/ambari_server/serverSetup.py
--
diff --git a/ambari-server/src/main/python/ambari_server/serverSetup.py 
b/ambari-server/src/main/python/ambari_server/serverSetup.py
index 4bd6903..ede1cf3 100644
--- a/ambari-server/src/main/python/ambari_server/serverSetup.py
+++ b/ambari-server/src/main/python/ambari_server/serverSetup.py
@@ -225,16 +225,19 @@ class AmbariUserChecksWindows(AmbariUserChecks):
   self.user = user
   return 0
 
+if get_silent():
+  password = self.password
+else:
+  password = get_validated_string_input(Enter password for user 
{0}:.format(user), , None, Password, True, False)
+
 from ambari_commons.os_windows import UserHelper
 
 uh = UserHelper(user)
 
-if not uh.find_user():
-  if get_silent():
-password = self.password
-  else:
-password = get_validated_string_input(Enter password for user 
{0}:.format(user), , None, Password, True, False)
-
+if uh.find_user():
+  print_info_msg(User {0} already exists, make sure that you typed 
correct password for user, 
+ skipping user creation.format(user))
+else:
   status, message = uh.create_user(password)
   if status == UserHelper.USER_EXISTS:
 print_info_msg(User {0} already exists, make sure that you typed 
correct password for user, 
@@ -244,7 +247,7 @@ class AmbariUserChecksWindows(AmbariUserChecks):
 print_warning_msg(Can't create user {0}. Failed with message 
{1}.format(user, message))
 return UserHelper.ACTION_FAILED
 
-  self.password = password
+self.password = password
 
 # setting SeServiceLogonRight and SeBatchLogonRight to user
 #This is unconditional



ambari git commit: AMBARI-11673 [WinTP2] ambari-server setup --jdbc-driver displays bogus error

2015-06-03 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk aeccbc7fe - cb2a69aa4


AMBARI-11673 [WinTP2] ambari-server setup --jdbc-driver displays bogus error

+Fixed arguments with spaces in Powershell


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/cb2a69aa
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/cb2a69aa
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/cb2a69aa

Branch: refs/heads/trunk
Commit: cb2a69aa4de160a6fb946a34ee0b2d048827a1c5
Parents: aeccbc7
Author: Florian Barca fba...@hortonworks.com
Authored: Wed Jun 3 18:10:49 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Jun 3 18:10:49 2015 -0700

--
 ambari-agent/conf/windows/ambari-agent.ps1   | 14 ++
 ambari-server/src/main/windows/ambari-server.ps1 | 14 ++
 2 files changed, 28 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/cb2a69aa/ambari-agent/conf/windows/ambari-agent.ps1
--
diff --git a/ambari-agent/conf/windows/ambari-agent.ps1 
b/ambari-agent/conf/windows/ambari-agent.ps1
index 6958523..f3a6910 100644
--- a/ambari-agent/conf/windows/ambari-agent.ps1
+++ b/ambari-agent/conf/windows/ambari-agent.ps1
@@ -30,6 +30,20 @@ switch ($($args[0])){
   }
 }
 
+# Handle spaces in command line arguments properly
+$quoted_args=@()
+
+ForEach ($arg in $args)
+{
+  if($arg.Contains(' '))
+  {
+$arg =  + $arg + 
+  }
+  $quoted_args = $quoted_args + @($arg)
+}
+
+$args = $quoted_args
+
 $AMBARI_AGENT=ambari-agent
 $AMBARI_SVC_NAME = Ambari Agent
 $current_directory = (Get-Item -Path .\ -Verbose).FullName

http://git-wip-us.apache.org/repos/asf/ambari/blob/cb2a69aa/ambari-server/src/main/windows/ambari-server.ps1
--
diff --git a/ambari-server/src/main/windows/ambari-server.ps1 
b/ambari-server/src/main/windows/ambari-server.ps1
index 690b1a9..e50ff26 100644
--- a/ambari-server/src/main/windows/ambari-server.ps1
+++ b/ambari-server/src/main/windows/ambari-server.ps1
@@ -30,6 +30,20 @@ switch ($($args[0])){
   }
 }
 
+# Handle spaces in command line arguments properly
+$quoted_args=@()
+
+ForEach ($arg in $args)
+{
+  if($arg.Contains(' '))
+  {
+$arg =  + $arg + 
+  }
+  $quoted_args = $quoted_args + @($arg)
+}
+
+$args = $quoted_args
+
 $AMBARI_SERVER=ambari-server
 $AMBARI_SVC_NAME = Ambari Server
 $current_directory = (Get-Item -Path .\ -Verbose).FullName



ambari git commit: AMBARI-11597 [WinTP2] Test Hive setup working with Tez

2015-06-02 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 8d82fe45e - 216275d95


AMBARI-11597 [WinTP2] Test Hive setup working with Tez

+Added Hive setup step when working with Tez.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/216275d9
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/216275d9
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/216275d9

Branch: refs/heads/trunk
Commit: 216275d9572461be8437296e12d980f0ec68eaf7
Parents: 8d82fe4
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jun 2 16:51:55 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jun 2 16:51:55 2015 -0700

--
 .../0.12.0.2.0/package/files/hiveTezSetup.cmd   | 58 
 .../HIVE/0.12.0.2.0/package/scripts/hive.py |  8 +++
 .../package/scripts/params_windows.py   |  2 +
 3 files changed, 68 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/216275d9/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/files/hiveTezSetup.cmd
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/files/hiveTezSetup.cmd
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/files/hiveTezSetup.cmd
new file mode 100644
index 000..10d6a1c
--- /dev/null
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/files/hiveTezSetup.cmd
@@ -0,0 +1,58 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the License); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an AS IS BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+if not defined HADOOP_HOME (
+  set EXITCODE=5
+  goto :errorexit
+)
+if not defined HIVE_HOME (
+  set EXITCODE=6
+  goto :errorexit
+)
+if not defined TEZ_HOME (
+  set EXITCODE=7
+  goto :errorexit
+)
+
+set EXITCODE=0
+
+if not exist %HIVE_HOME%\conf\hive-tez-configured (
+  %HADOOP_HOME%\bin\hadoop.cmd fs -mkdir /apps/tez
+  set EXITCODE=%ERRORLEVEL%
+  if %EXITCODE% neq 0 goto :errorexit
+
+  %HADOOP_HOME%\bin\hadoop.cmd fs -chmod -R 755 /apps/tez
+  set EXITCODE=%ERRORLEVEL%
+  if %EXITCODE% neq 0 goto :errorexit
+
+  %HADOOP_HOME%\bin\hadoop.cmd fs -chown -R hadoop:users /apps/tez
+  set EXITCODE=%ERRORLEVEL%
+  if %EXITCODE% neq 0 goto :errorexit
+
+  %HADOOP_HOME%\bin\hadoop.cmd fs -put %TEZ_HOME%\* /apps/tez
+  set EXITCODE=%ERRORLEVEL%
+  if %EXITCODE% neq 0 goto :errorexit
+
+  %HADOOP_HOME%\bin\hadoop.cmd fs -rm -r -skipTrash /apps/tez/conf
+  set EXITCODE=%ERRORLEVEL%
+  if %EXITCODE% neq 0 goto :errorexit
+
+  echo done  %HIVE_HOME%\conf\hive-tez-configured
+)
+goto :eof
+
+:errorexit
+exit /B %EXITCODE%

http://git-wip-us.apache.org/repos/asf/ambari/blob/216275d9/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py
index f0aab9c..32edf71 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py
@@ -87,6 +87,14 @@ def hive(name=None):
 logoutput=True
 )
 
+  if name == hiveserver2:
+if params.hive_execution_engine == tez:
+  # Init the tez app dir in hadoop
+  script_file = __file__.replace('/', os.sep)
+  cmd_file = os.path.normpath(os.path.join(os.path.dirname(script_file), 
.., files, hiveTezSetup.cmd))
+
+  Execute(cmd /c  + cmd_file, logoutput=True, user=params.hadoop_user)
+
 
 @OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT)
 def hive(name=None):

http://git-wip-us.apache.org/repos/asf/ambari/blob/216275d9/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_windows.py
--
diff --git 

ambari git commit: AMBARI-11633 [WinTP2] Webhcat service check fails

2015-06-02 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk b6d9b9c4e - 8d82fe45e


AMBARI-11633 [WinTP2] Webhcat service check fails

Circumvented the failing smoke tests by directly invoking the Webhcat url with 
the minimum amount of tests required.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8d82fe45
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8d82fe45
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8d82fe45

Branch: refs/heads/trunk
Commit: 8d82fe45e13a9518e46bf2f058a4ef5c5026b64d
Parents: b6d9b9c
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jun 2 16:48:06 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jun 2 16:48:06 2015 -0700

--
 .../0.12.0.2.0/configuration/webhcat-site.xml   |  6 +++
 .../package/scripts/webhcat_service_check.py| 48 ++--
 .../HIVE/configuration/webhcat-site.xml | 36 +--
 .../stacks/HDPWIN/2.2/services/stack_advisor.py |  7 +++
 4 files changed, 70 insertions(+), 27 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/8d82fe45/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/webhcat-site.xml
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/webhcat-site.xml
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/webhcat-site.xml
index 3a81c60..33f7f21 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/webhcat-site.xml
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/webhcat-site.xml
@@ -54,6 +54,12 @@ limitations under the License.
   /property
 
   property
+nametempleton.python/name
+value${env.PYTHON_CMD}/value
+descriptionThe path to the Python executable./description
+  /property
+
+  property
 nametempleton.pig.archive/name
 valuehdfs:///apps/webhcat/pig.tar.gz/value
 descriptionThe path to the Pig archive./description

http://git-wip-us.apache.org/repos/asf/ambari/blob/8d82fe45/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_service_check.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_service_check.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_service_check.py
index b22e631..99f52a5 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_service_check.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_service_check.py
@@ -17,6 +17,7 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 
 
+import urllib2
 
 from resource_management import *
 from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
@@ -25,10 +26,51 @@ import time
 
 @OsFamilyFuncImpl(os_family=OSConst.WINSRV_FAMILY)
 def webhcat_service_check():
+  Logger.info(Webhcat smoke test - service status)
+
   import params
-  smoke_cmd = os.path.join(params.hdp_root,Run-SmokeTests.cmd)
-  service = WEBHCAT
-  Execute(format(cmd /C {smoke_cmd} {service}), user=params.hcat_user, 
logoutput=True)
+  # AMBARI-11633 [WinTP2] Webhcat service check fails
+  # Hive doesn't pass the environment variables correctly to child processes, 
which fails the smoke test.
+  # Reducing the amount of URLs checked to the minimum required.
+  #smoke_cmd = os.path.join(params.hdp_root,Run-SmokeTests.cmd)
+  #service = WEBHCAT
+  #Execute(format(cmd /C {smoke_cmd} {service}), user=params.hcat_user, 
logoutput=True)
+
+  url_tests = [
+status,
+#These are the failing ones:
+#ddl/database?user.name=hadoop,
+#ddl/database/default/table?user.name=hadoop
+  ]
+
+
+  import socket
+
+  url_host = socket.getfqdn()
+  url_port = params.config[configurations][webhcat-site][templeton.port]
+
+  for url_test in url_tests:
+url_request = http://{0}:{1}/templeton/v1/{2}.format(url_host, url_port, 
url_test)
+url_response = None
+
+try:
+  # execute the query for the JSON that includes WebHCat status
+  url_response = urllib2.urlopen(url_request, timeout=30)
+
+  status = url_response.getcode()
+  response = url_response.read()
+
+  if status != 200:
+Logger.warning(Webhcat service check status: {0}.format(status))
+  Logger.info(Webhcat service check response: {0}.format(response))
+except urllib2.HTTPError as he:
+  raise Fail(Webhcat check {0} failed: {1}.format(url_request, he.msg))
+finally:
+  if 

ambari git commit: AMBARI-11635 [WinTP2] Zookeeper service check fails

2015-06-02 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 216275d95 - 1f3745397


AMBARI-11635 [WinTP2] Zookeeper service check fails

Fixed service check user context


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1f374539
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1f374539
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1f374539

Branch: refs/heads/trunk
Commit: 1f37453977488a855cbf5f0d7b2871930e0e4c92
Parents: 216275d
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jun 2 16:54:17 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jun 2 16:54:17 2015 -0700

--
 .../ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/1f374539/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
 
b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
index 6ffe5f5..2d2b793 100644
--- 
a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
+++ 
b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/service_check.py
@@ -63,7 +63,7 @@ class ZookeeperServiceCheckWindows(ZookeeperServiceCheck):
 
 smoke_cmd = os.path.join(params.hdp_root,Run-SmokeTests.cmd)
 service = Zookeeper
-Execute(format(cmd /C {smoke_cmd} {service}), logoutput=True)
+Execute(format(cmd /C {smoke_cmd} {service}), user=params.zk_user, 
logoutput=True)
 
 if __name__ == __main__:
   ZookeeperServiceCheck().execute()



ambari git commit: AMBARI-11513 [WinTP2] HDP 2.3 stack: Tez service fails to start

2015-05-29 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 2831bdb3f - 2dbb7b284


AMBARI-11513 [WinTP2] HDP 2.3 stack: Tez service fails to start

+Fixed Tez settings generation
+Fixed Tez service check dependency order


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2dbb7b28
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2dbb7b28
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2dbb7b28

Branch: refs/heads/trunk
Commit: 2dbb7b2842807359937b5d15fb4a35635333622f
Parents: 2831bdb
Author: Florian Barca fba...@hortonworks.com
Authored: Fri May 29 09:43:46 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri May 29 09:43:46 2015 -0700

--
 .../src/main/python/ambari_commons/os_utils.py  | 21 -
 .../libraries/functions/get_hdp_version.py  | 32 +-
 .../0.4.0.2.1/package/scripts/params_windows.py | 22 +-
 .../TEZ/0.4.0.2.1/package/scripts/tez_client.py | 46 +---
 .../stacks/HDPWIN/2.1/role_command_order.json   |  1 +
 .../2.1/services/TEZ/configuration/tez-env.xml  |  3 +-
 .../2.2/services/TEZ/configuration/tez-site.xml | 11 +
 .../services/HIVE/configuration/hive-site.xml   |  9 
 .../2.3/services/TEZ/configuration/tez-site.xml | 15 ++-
 9 files changed, 130 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/2dbb7b28/ambari-common/src/main/python/ambari_commons/os_utils.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/os_utils.py 
b/ambari-common/src/main/python/ambari_commons/os_utils.py
index 5ee34a8..d496530 100644
--- a/ambari-common/src/main/python/ambari_commons/os_utils.py
+++ b/ambari-common/src/main/python/ambari_commons/os_utils.py
@@ -123,4 +123,23 @@ def find_in_path(file):
   full_path = _search_file(file, os.environ[PATH], os.pathsep)
   if full_path is None:
 raise Exception(File {0} not found in PATH.format(file))
-  return full_path
\ No newline at end of file
+  return full_path
+
+def extract_path_component(path, path_fragment):
+  iFragment = path.find(path_fragment)
+  if iFragment != -1:
+iComponentStart = 0
+while iComponentStart  iFragment:
+  iComponentStartTemp = path.find(os.pathsep, iComponentStart)
+  if iComponentStartTemp == -1 or iComponentStartTemp  iFragment:
+break
+  iComponentStart = iComponentStartTemp
+
+iComponentEnd = path.find(os.pathsep, iFragment)
+if iComponentEnd == -1:
+  iComponentEnd = len(path)
+
+path_component = path[iComponentStart:iComponentEnd]
+return path_component
+  else:
+return None

http://git-wip-us.apache.org/repos/asf/ambari/blob/2dbb7b28/ambari-common/src/main/python/resource_management/libraries/functions/get_hdp_version.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/get_hdp_version.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/get_hdp_version.py
index ec30dc4..e8fdbb6 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/get_hdp_version.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/get_hdp_version.py
@@ -19,15 +19,45 @@ limitations under the License.
 Ambari Agent
 
 
-
 __all__ = [get_hdp_version]
+
 import os
 import re
+
+from ambari_commons import OSConst
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
+
 from resource_management.core.logger import Logger
 from resource_management.core.exceptions import Fail
 from resource_management.core import shell
 
+@OsFamilyFuncImpl(OSConst.WINSRV_FAMILY)
+def get_hdp_version(package_name):
+  
+  @param package_name, name of the package, from which, function will try to 
get hdp version
+  
+  try:
+component_home_dir = os.environ[package_name.upper() + _HOME]
+  except KeyError:
+Logger.info('Skipping get_hdp_version since the component {0} is not yet 
available'.format(package_name))
+return None # lazy fail
+
+  #As a rule, component_home_dir is of the form 
hdp_root_dir\[\]component_versioned_subdir[\]
+  home_dir_split = os.path.split(component_home_dir)
+  iSubdir = len(home_dir_split) - 1
+  while not home_dir_split[iSubdir]:
+iSubdir -= 1
+
+  #The component subdir is expected to be of the form 
package_name-package_version.hdp_stack_version
+  # with package_version = #.#.# and hdp_stack_version=#.#.#.#-build_number
+  match = re.findall('[0-9]+.[0-9]+.[0-9]+.[0-9]+-[0-9]+', 
home_dir_split[iSubdir])
+  if not match:
+Logger.info('Failed to get extracted version for component {0}. Home dir 
not in expected format.'.format(package_name))
+return None # lazy fail
+
+  

ambari git commit: AMBARI-11543 [WinTP2] Windows build is broken - missing ambari_simplejson module

2015-05-29 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 8f077e154 - f8a5cc1d5


AMBARI-11543 [WinTP2] Windows build is broken - missing ambari_simplejson module

Added the missing module references.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f8a5cc1d
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f8a5cc1d
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f8a5cc1d

Branch: refs/heads/trunk
Commit: f8a5cc1d5ccc4457ca767428f95a915d022f1b4a
Parents: 8f077e1
Author: Florian Barca fba...@hortonworks.com
Authored: Fri May 29 13:20:38 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri May 29 13:20:38 2015 -0700

--
 ambari-agent/src/packages/windows.xml| 4 
 ambari-server/src/main/assemblies/server-windows.xml | 4 
 2 files changed, 8 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/f8a5cc1d/ambari-agent/src/packages/windows.xml
--
diff --git a/ambari-agent/src/packages/windows.xml 
b/ambari-agent/src/packages/windows.xml
index d4dbe0f..e393df8 100644
--- a/ambari-agent/src/packages/windows.xml
+++ b/ambari-agent/src/packages/windows.xml
@@ -45,6 +45,10 @@
   outputDirectory/sbin/ambari_jinja2/outputDirectory
 /fileSet
 fileSet
+  
directory${basedir}/../ambari-common/src/main/python/ambari_simplejson/directory
+  outputDirectory/sbin/ambari_simplejson/outputDirectory
+/fileSet
+fileSet
   directory${project.basedir}/conf/windows/directory
   outputDirectory//outputDirectory
   excludes

http://git-wip-us.apache.org/repos/asf/ambari/blob/f8a5cc1d/ambari-server/src/main/assemblies/server-windows.xml
--
diff --git a/ambari-server/src/main/assemblies/server-windows.xml 
b/ambari-server/src/main/assemblies/server-windows.xml
index f4ba5a7..191fcfb 100644
--- a/ambari-server/src/main/assemblies/server-windows.xml
+++ b/ambari-server/src/main/assemblies/server-windows.xml
@@ -117,6 +117,10 @@
   
outputDirectoryambari-server-${project.version}/sbin/ambari_jinja2/outputDirectory
 /fileSet
 fileSet
+  
directory${basedir}/../ambari-common/src/main/python/ambari_simplejson/directory
+  
outputDirectoryambari-server-${project.version}/sbin/ambari_simplejson/outputDirectory
+/fileSet
+fileSet
   
directory${basedir}/../ambari-common/src/main/python/resource_management/directory
   
outputDirectoryambari-server-${project.version}/sbin/resource_management/outputDirectory
 /fileSet



ambari git commit: AMBARI-11403 [WinTP2] ServiceConfig should not log password in plaintext

2015-05-27 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 8deabc2cb - 8419e55bf


AMBARI-11403 [WinTP2] ServiceConfig should not log password in plaintext

Fixed logged string generation


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8419e55b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8419e55b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8419e55b

Branch: refs/heads/trunk
Commit: 8419e55bf2a4484c651cfe4b476d7c34b05301d9
Parents: 8deabc2
Author: Florian Barca fba...@hortonworks.com
Authored: Wed May 27 14:51:33 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed May 27 14:51:33 2015 -0700

--
 .../python/resource_management/core/base.py | 28 
 .../python/resource_management/core/logger.py   | 68 ++--
 .../core/resources/service.py   |  4 +-
 3 files changed, 63 insertions(+), 37 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/8419e55b/ambari-common/src/main/python/resource_management/core/base.py
--
diff --git a/ambari-common/src/main/python/resource_management/core/base.py 
b/ambari-common/src/main/python/resource_management/core/base.py
index 67634cd..b291769 100644
--- a/ambari-common/src/main/python/resource_management/core/base.py
+++ b/ambari-common/src/main/python/resource_management/core/base.py
@@ -41,6 +41,9 @@ class ResourceArgument(object):
   raise InvalidArgument(Required argument %s missing % self.name)
 return value
 
+  def log_str(self, key, value):
+return Logger.get_arg_repr(key, value)
+
 
 class ForcedListArgument(ResourceArgument):
   def validate(self, value):
@@ -59,6 +62,12 @@ class BooleanArgument(ResourceArgument):
 return value
 
 
+class PasswordArgument(ResourceArgument):
+  def log_str(self, key, value):
+# Hide the passwords from text representations
+return 
+
+
 class Accessor(object):
   def __init__(self, name):
 self.name = name
@@ -150,6 +159,25 @@ class Resource(object):
   def validate(self):
 pass
 
+  def get_function_repr(self):
+name = repr(self)
+
+arguments_str = 
+for x, y in self.arguments.iteritems():
+  try:
+arg = self._arguments[x]
+  except KeyError:
+raise Fail(%s received unsupported argument %s % (self, x))
+
+  val = arg.log_str(x, y)
+
+  arguments_str += '{0}': {1}, .format(x, val)
+
+if arguments_str:
+  arguments_str = arguments_str[:-2]
+
+return unicode({0} {{{1}}}).format(name, arguments_str)
+
   def __repr__(self):
 return unicode(self)
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/8419e55b/ambari-common/src/main/python/resource_management/core/logger.py
--
diff --git a/ambari-common/src/main/python/resource_management/core/logger.py 
b/ambari-common/src/main/python/resource_management/core/logger.py
index 74e88e8..c741327 100644
--- a/ambari-common/src/main/python/resource_management/core/logger.py
+++ b/ambari-common/src/main/python/resource_management/core/logger.py
@@ -70,19 +70,19 @@ class Logger:
 
   @staticmethod
   def error_resource(resource):
-Logger.error(Logger.filter_text(Logger._get_resource_repr(resource)))
+Logger.error(Logger.filter_text(resource.get_function_repr()))
 
   @staticmethod
   def warning_resource(resource):
-Logger.warning(Logger.filter_text(Logger._get_resource_repr(resource)))
+Logger.warning(Logger.filter_text(resource.get_function_repr()))
 
   @staticmethod
   def info_resource(resource):
-Logger.info(Logger.filter_text(Logger._get_resource_repr(resource)))
+Logger.info(Logger.filter_text(resource.get_function_repr()))
 
   @staticmethod
   def debug_resource(resource):
-Logger.debug(Logger.filter_text(Logger._get_resource_repr(resource)))
+Logger.debug(Logger.filter_text(resource.get_function_repr()))
 
   @staticmethod
   def filter_text(text):
@@ -98,10 +98,6 @@ class Logger:
   text = text.replace(placeholder, '')
 
 return text
-  
-  @staticmethod
-  def _get_resource_repr(resource):
-return Logger.get_function_repr(repr(resource), resource.arguments)
 
   @staticmethod
   def get_function_repr(name, arguments):
@@ -109,33 +105,7 @@ class Logger:
 
 arguments_str = 
 for x,y in arguments.iteritems():
-
-  # strip unicode 'u' sign
-  if isinstance(y, unicode):
-# don't show long messages
-if len(y)  MESSAGE_MAX_LEN:
-  y = '...'
-val = repr(y).lstrip('u')
-  # don't show dicts of configurations
-  # usually too long
-  elif isinstance(y, dict) and len(y)  DICTIONARY_MAX_LEN:
-val = ...
-  # for configs which didn't come
- 

[1/2] ambari git commit: AMBARI-11348 [WinTP2] Add HDPWIN 2.3 stack definition

2015-05-26 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 3db257444 - 78430140f


http://git-wip-us.apache.org/repos/asf/ambari/blob/78430140/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/SLIDER/metainfo.xml
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/SLIDER/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/SLIDER/metainfo.xml
new file mode 100644
index 000..0a4dbbb
--- /dev/null
+++ 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/SLIDER/metainfo.xml
@@ -0,0 +1,26 @@
+?xml version=1.0?
+!--
+   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.
+--
+metainfo
+  schemaVersion2.0/schemaVersion
+  services
+service
+  nameSLIDER/name
+  version0.72.0.2.3/version
+/service
+  /services
+/metainfo

http://git-wip-us.apache.org/repos/asf/ambari/blob/78430140/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/SQOOP/metainfo.xml
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/SQOOP/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/SQOOP/metainfo.xml
new file mode 100644
index 000..d5d18b8
--- /dev/null
+++ 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/SQOOP/metainfo.xml
@@ -0,0 +1,26 @@
+?xml version=1.0?
+!--
+   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.
+--
+metainfo
+  schemaVersion2.0/schemaVersion
+  services
+service
+  nameSQOOP/name
+  version1.4.6.2.3/version
+/service
+  /services
+/metainfo

http://git-wip-us.apache.org/repos/asf/ambari/blob/78430140/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/STORM/configuration/storm-site.xml
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/STORM/configuration/storm-site.xml
 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/STORM/configuration/storm-site.xml
new file mode 100644
index 000..373f408
--- /dev/null
+++ 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.3/services/STORM/configuration/storm-site.xml
@@ -0,0 +1,43 @@
+?xml version=1.0?
+!--
+ censed 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.
+ */
+--
+
+configuration supports_final=true 
xmlns:xi=http://www.w3.org/2001/XInclude;
+  property
+namenimbus.seeds/name
+valuelocalhost/value
+descriptionComma-delimited list of the hosts running nimbus 
server./description
+  /property
+  property
+nametopology.min.replication.count/name
+value1/value
+description Minimum number of nimbus hosts where the code must 

[2/2] ambari git commit: AMBARI-11348 [WinTP2] Add HDPWIN 2.3 stack definition

2015-05-26 Thread fbarca
AMBARI-11348 [WinTP2] Add HDPWIN 2.3 stack definition

+Added HDPWIN 2.3 stack definition
+Fixed startup issues for HBase, Hive, Oozie, Storm and YARN
+Fixed build break in ambari-agent


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/78430140
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/78430140
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/78430140

Branch: refs/heads/trunk
Commit: 78430140ff00294f19b4b245bbf941a9fe473d99
Parents: 3db2574
Author: Florian Barca fba...@hortonworks.com
Authored: Tue May 26 14:58:05 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue May 26 14:58:05 2015 -0700

--
 ambari-agent/pom.xml|   2 +
 .../src/main/python/ambari_commons/os_utils.py  |   5 +
 .../core/providers/windows/system.py|   2 +-
 .../libraries/functions/install_hdp_msi.py  |  29 ++-
 .../libraries/functions/reload_windows_env.py   |   4 +-
 .../libraries/script/script.py  |  10 +-
 .../0.1.0/package/scripts/params_windows.py |  29 ++-
 .../0.5.0.2.1/package/scripts/service_check.py  |   2 +-
 .../0.96.0.2.0/package/scripts/service_check.py |   2 +-
 .../package/scripts/webhcat_service.py  |   2 +-
 .../OOZIE/4.0.0.2.0/package/scripts/params.py   |   3 +
 .../4.0.0.2.0/package/scripts/params_linux.py   |   2 -
 .../0.12.0.2.0/package/scripts/service_check.py |  18 +-
 .../SLIDER/0.60.0.2.2/package/scripts/params.py |   5 -
 .../0.60.0.2.2/package/scripts/params_linux.py  |   7 +-
 .../package/scripts/params_windows.py   |   1 +
 .../0.9.1.2.1/package/scripts/params_windows.py |  10 +
 .../0.9.1.2.1/package/scripts/service_check.py  |   4 +-
 .../0.9.1.2.1/package/scripts/yaml_utils.py |   4 +-
 .../2.1.0.2.0/package/scripts/status_params.py  |   2 +-
 .../resources/stacks/HDPWIN/2.1/metainfo.xml|   2 +-
 .../AMBARI_METRICS/configuration/ams-env.xml|  20 ++
 .../stacks/HDPWIN/2.1/services/stack_advisor.py |  21 --
 .../resources/stacks/HDPWIN/2.2/metainfo.xml|   2 +-
 .../HIVE/configuration/webhcat-site.xml |   2 +-
 .../stacks/HDPWIN/2.2/services/stack_advisor.py |  47 +++-
 .../resources/stacks/HDPWIN/2.3/metainfo.xml|  23 ++
 .../stacks/HDPWIN/2.3/repos/repoinfo.xml|  26 ++
 .../configuration/falcon-startup.properties.xml |  29 +++
 .../HDPWIN/2.3/services/FALCON/metainfo.xml |  26 ++
 .../HDPWIN/2.3/services/FLUME/metainfo.xml  |  26 ++
 .../services/HBASE/configuration/hbase-site.xml |  43 
 .../HDPWIN/2.3/services/HBASE/metainfo.xml  |  26 ++
 .../services/HDFS/configuration/hdfs-site.xml   |  41 +++
 .../HDPWIN/2.3/services/HDFS/metainfo.xml   |  26 ++
 .../services/HIVE/configuration/hive-site.xml   | 247 +++
 .../HIVE/configuration/webhcat-site.xml |  32 +++
 .../HDPWIN/2.3/services/HIVE/metainfo.xml   |  26 ++
 .../HDPWIN/2.3/services/KNOX/metainfo.xml   |  26 ++
 .../services/OOZIE/configuration/oozie-env.xml  | 129 ++
 .../services/OOZIE/configuration/oozie-site.xml | 114 +
 .../HDPWIN/2.3/services/OOZIE/metainfo.xml  |  26 ++
 .../stacks/HDPWIN/2.3/services/PIG/metainfo.xml |  26 ++
 .../HDPWIN/2.3/services/SLIDER/metainfo.xml |  26 ++
 .../HDPWIN/2.3/services/SQOOP/metainfo.xml  |  26 ++
 .../services/STORM/configuration/storm-site.xml |  43 
 .../HDPWIN/2.3/services/STORM/metainfo.xml  |  27 ++
 .../2.3/services/TEZ/configuration/tez-site.xml |  98 
 .../stacks/HDPWIN/2.3/services/TEZ/metainfo.xml |  26 ++
 .../HDPWIN/2.3/services/YARN/metainfo.xml   |  34 +++
 .../HDPWIN/2.3/services/ZOOKEEPER/metainfo.xml  |  26 ++
 .../stacks/HDPWIN/2.3/services/stack_advisor.py |  43 
 52 files changed, 1396 insertions(+), 82 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/78430140/ambari-agent/pom.xml
--
diff --git a/ambari-agent/pom.xml b/ambari-agent/pom.xml
index 1cf3b71..9a58537 100644
--- a/ambari-agent/pom.xml
+++ b/ambari-agent/pom.xml
@@ -732,6 +732,8 @@
 artifactIdapache-rat-plugin/artifactId
 configuration
   excludes
+excludeconf/unix/logging.conf.sample/exclude
+excludeconf/windows/logging.conf.sample/exclude
 excludesrc/test/python/tmp_hostcheck.result/exclude
 excludesrc/examples/*/exclude
 excludesrc/test/python/dummy*.txt/exclude

http://git-wip-us.apache.org/repos/asf/ambari/blob/78430140/ambari-common/src/main/python/ambari_commons/os_utils.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/os_utils.py 
b/ambari-common/src/main/python/ambari_commons/os_utils.py
index 

ambari git commit: AMBARI-11346 [WinTP2] HDPWIN 2.2 Hive configuration: The MSSQL Server Database Host field is unavailable

2015-05-22 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 76648a0a5 - de669dcaa


AMBARI-11346 [WinTP2] HDPWIN 2.2 Hive configuration: The MSSQL Server Database 
Host field is unavailable

Fixed the field hiding routine to exclude the MSSQL items


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/de669dca
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/de669dca
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/de669dca

Branch: refs/heads/trunk
Commit: de669dcaa89be08e5d60430b9c5e30e5a82f7aa6
Parents: 76648a0
Author: Florian Barca fba...@hortonworks.com
Authored: Fri May 22 10:09:52 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri May 22 10:10:27 2015 -0700

--
 ambari-web/app/utils/config.js | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/de669dca/ambari-web/app/utils/config.js
--
diff --git a/ambari-web/app/utils/config.js b/ambari-web/app/utils/config.js
index 1844482..bf84592 100644
--- a/ambari-web/app/utils/config.js
+++ b/ambari-web/app/utils/config.js
@@ -546,9 +546,13 @@ App.config = Em.Object.create({
 'hive_existing_oracle_host',
 'hive_existing_postgresql_host',
 'hive_existing_mysql_host',
+'hive_existing_mssql_server_host',
+'hive_existing_mssql_server_2_host',
 'oozie_existing_oracle_host',
 'oozie_existing_postgresql_host',
-'oozie_existing_mysql_host'
+'oozie_existing_mysql_host',
+'oozie_existing_mssql_server_host',
+'oozie_existing_mssql_server_2_host'
   ].contains(Em.get(preDefined, 'name'))) {
 return;
   }



ambari git commit: Revert AMBARI-10882 Allow NFS mounts to be skipped during agent health check (dsen)

2015-05-19 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk d37bef923 - be383cf3d


Revert AMBARI-10882 Allow NFS mounts to be skipped during agent health check 
(dsen)

This reverts commit 8a7c54c6334b986bada53965d9512d79d951a7dc.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/be383cf3
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/be383cf3
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/be383cf3

Branch: refs/heads/trunk
Commit: be383cf3dd37e076b5226357babbd1f51cc4b7d7
Parents: d37bef9
Author: Florian Barca fba...@hortonworks.com
Authored: Tue May 19 15:36:59 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue May 19 15:36:59 2015 -0700

--
 ambari-agent/conf/unix/ambari-agent.ini |  4 ++
 ambari-agent/conf/windows/ambari-agent.ini  |  4 ++
 .../main/python/ambari_agent/AmbariConfig.py| 15 ++---
 .../src/main/python/ambari_agent/Controller.py  |  5 +-
 .../src/main/python/ambari_agent/Hardware.py| 24 +++
 .../src/main/python/ambari_agent/Heartbeat.py   |  2 +-
 .../src/main/python/ambari_agent/HostInfo.py| 13 
 .../main/python/ambari_agent/RecoveryManager.py |  4 +-
 .../test/python/ambari_agent/TestHardware.py| 27 
 .../test/python/ambari_agent/TestHostInfo.py| 17 +
 ambari-agent/src/test/python/unitTests.py   |  5 +-
 .../ambari/server/agent/HeartBeatHandler.java   |  4 --
 .../server/agent/RegistrationResponse.java  | 13 
 .../server/configuration/Configuration.java | 17 -
 .../server/agent/TestHeartbeatHandler.java  | 67 +---
 15 files changed, 78 insertions(+), 143 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/be383cf3/ambari-agent/conf/unix/ambari-agent.ini
--
diff --git a/ambari-agent/conf/unix/ambari-agent.ini 
b/ambari-agent/conf/unix/ambari-agent.ini
index def41c6..173bb51 100644
--- a/ambari-agent/conf/unix/ambari-agent.ini
+++ b/ambari-agent/conf/unix/ambari-agent.ini
@@ -31,6 +31,10 @@ tolerate_download_failures=true
 run_as_user=root
 parallel_execution=0
 
+[command]
+maxretries=2
+sleepBetweenRetries=1
+
 [security]
 keysdir=/var/lib/ambari-agent/keys
 server_crt=ca.crt

http://git-wip-us.apache.org/repos/asf/ambari/blob/be383cf3/ambari-agent/conf/windows/ambari-agent.ini
--
diff --git a/ambari-agent/conf/windows/ambari-agent.ini 
b/ambari-agent/conf/windows/ambari-agent.ini
index 972e11e..61a3ad9 100644
--- a/ambari-agent/conf/windows/ambari-agent.ini
+++ b/ambari-agent/conf/windows/ambari-agent.ini
@@ -30,6 +30,10 @@ cache_dir=cache
 tolerate_download_failures=true
 parallel_execution=0
 
+[command]
+maxretries=2
+sleepBetweenRetries=1
+
 [security]
 keysdir=keys
 server_crt=ca.crt

http://git-wip-us.apache.org/repos/asf/ambari/blob/be383cf3/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py 
b/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
index d4e0c20..13e9f03 100644
--- a/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
+++ b/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
@@ -50,6 +50,10 @@ parallel_execution=0
 [python]
 custom_actions_dir = 
{ps}var{ps}lib{ps}ambari-agent{ps}resources{ps}custom_actions
 
+[command]
+maxretries=2
+sleepBetweenRetries=1
+
 [security]
 keysdir={ps}tmp{ps}ambari-agent
 server_crt=ca.crt
@@ -142,7 +146,6 @@ pidPathVars = [
 
 class AmbariConfig:
   TWO_WAY_SSL_PROPERTY = security.server.two_way_ssl
-  AMBARI_PROPERTIES_CATEGORY = 'agentConfig'
   SERVER_CONNECTION_INFO = {0}/connection_info
   CONNECTION_PROTOCOL = https
 
@@ -169,9 +172,6 @@ class AmbariConfig:
   def add_section(self, section):
 self.config.add_section(section)
 
-  def has_section(self, section):
-return self.config.has_section(section)
-
   def setConfig(self, customConfig):
 self.config = customConfig
 
@@ -249,13 +249,6 @@ class AmbariConfig:
   def get_parallel_exec_option(self):
 return int(self.get('agent', 'parallel_execution', 0))
 
-  def update_configuration_from_registration(self, reg_resp):
-if reg_resp and AmbariConfig.AMBARI_PROPERTIES_CATEGORY in reg_resp:
-  if not self.has_section(AmbariConfig.AMBARI_PROPERTIES_CATEGORY):
-self.add_section(AmbariConfig.AMBARI_PROPERTIES_CATEGORY)
-  for k,v in reg_resp[AmbariConfig.AMBARI_PROPERTIES_CATEGORY].items():
-self.set(AmbariConfig.AMBARI_PROPERTIES_CATEGORY, k, v)
-pass
 
 def updateConfigServerHostname(configFile, new_host):
   # update agent config file


ambari git commit: AMBARI-11206 [WinTP2] Ambari Agent fails to start

2015-05-18 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 28cb5fb2f - a01d92b18


AMBARI-11206 [WinTP2] Ambari Agent fails to start

Reinstated the Windows-specific read_file()


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a01d92b1
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a01d92b1
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a01d92b1

Branch: refs/heads/trunk
Commit: a01d92b18cb0f1a2e1f526702707ce3edf0bdf11
Parents: 28cb5fb
Author: Florian Barca fba...@hortonworks.com
Authored: Mon May 18 05:34:46 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon May 18 05:34:46 2015 -0700

--
 .../src/main/python/resource_management/core/source.py   | 8 
 .../src/main/python/resource_management/core/sudo.py | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/a01d92b1/ambari-common/src/main/python/resource_management/core/source.py
--
diff --git a/ambari-common/src/main/python/resource_management/core/source.py 
b/ambari-common/src/main/python/resource_management/core/source.py
index 7317492..1f888ac 100644
--- a/ambari-common/src/main/python/resource_management/core/source.py
+++ b/ambari-common/src/main/python/resource_management/core/source.py
@@ -33,6 +33,8 @@ import time
 import urllib2
 import urlparse
 
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
+from ambari_commons import OSConst
 
 class Source(object):
   def __init__(self, name):
@@ -74,10 +76,16 @@ class StaticFile(Source):
 
 return self.read_file(path)
 
+  @OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT)
   def read_file(self, path):
 from resource_management.core import sudo
 return sudo.read_file(path)
 
+  @OsFamilyFuncImpl(os_family=OSConst.WINSRV_FAMILY)
+  def read_file(self, path):
+with open(path, rb) as fp:
+  return fp.read()
+
 
 try:
   from ambari_jinja2 import Environment as JinjaEnvironment, BaseLoader, 
TemplateNotFound, FunctionLoader, StrictUndefined

http://git-wip-us.apache.org/repos/asf/ambari/blob/a01d92b1/ambari-common/src/main/python/resource_management/core/sudo.py
--
diff --git a/ambari-common/src/main/python/resource_management/core/sudo.py 
b/ambari-common/src/main/python/resource_management/core/sudo.py
index b5dfa47..e7bb08a 100644
--- a/ambari-common/src/main/python/resource_management/core/sudo.py
+++ b/ambari-common/src/main/python/resource_management/core/sudo.py
@@ -29,7 +29,7 @@ from resource_management.core.utils import _coerce_uid
 from resource_management.core.utils import _coerce_gid
 from ambari_commons.os_check import OSCheck
 
-if os.geteuid() == 0 or OSCheck.is_windows_family():
+if os.geteuid() == 0:
   def chown(path, owner, group):
 return os.chown(path, _coerce_uid(owner) if owner else -1, 
_coerce_gid(group) if group else -1)
   



ambari git commit: AMBARI-11206 [WinTP2] Ambari Agent fails to start

2015-05-18 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 736696ba1 - b950812eb


AMBARI-11206 [WinTP2] Ambari Agent fails to start

Moved the module imports inside functions, to immunize the startup against 
unused modules.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b950812e
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b950812e
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b950812e

Branch: refs/heads/trunk
Commit: b950812eb89cd0571aea16a12dc9dee8653fb883
Parents: 736696b
Author: Florian Barca fba...@hortonworks.com
Authored: Mon May 18 06:27:42 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon May 18 06:29:23 2015 -0700

--
 .../src/main/python/resource_management/core/utils.py  | 6 --
 .../libraries/functions/check_process_status.py| 3 ++-
 .../libraries/providers/modify_properties_file.py  | 2 +-
 3 files changed, 7 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/b950812e/ambari-common/src/main/python/resource_management/core/utils.py
--
diff --git a/ambari-common/src/main/python/resource_management/core/utils.py 
b/ambari-common/src/main/python/resource_management/core/utils.py
index f9ad193..cc8b404 100644
--- a/ambari-common/src/main/python/resource_management/core/utils.py
+++ b/ambari-common/src/main/python/resource_management/core/utils.py
@@ -20,8 +20,6 @@ Ambari Agent
 
 
 
-import grp
-import pwd
 from resource_management.core.exceptions import Fail
 
 class AttributeDictionary(object):
@@ -110,6 +108,8 @@ def checked_unite(dict1, dict2):
   return result
 
 def _coerce_uid(user):
+  import pwd
+
   try:
 uid = int(user)
   except ValueError:
@@ -121,6 +121,8 @@ def _coerce_uid(user):
 
 
 def _coerce_gid(group):
+  import grp
+
   try:
 gid = int(group)
   except ValueError:

http://git-wip-us.apache.org/repos/asf/ambari/blob/b950812e/ambari-common/src/main/python/resource_management/libraries/functions/check_process_status.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/check_process_status.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/check_process_status.py
index a3efabd..a3e4a39 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/check_process_status.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/check_process_status.py
@@ -23,7 +23,6 @@ Ambari Agent
 from resource_management.core.exceptions import ComponentIsNotRunning
 from resource_management.core.logger import Logger
 from resource_management.core import shell
-from resource_management.core import sudo
 __all__ = [check_process_status]
 
 import os
@@ -37,6 +36,8 @@ def check_process_status(pid_file):
 
   @param pid_file: path to service pid file
   
+  from resource_management.core import sudo
+
   if not pid_file or not os.path.isfile(pid_file):
 raise ComponentIsNotRunning()
   

http://git-wip-us.apache.org/repos/asf/ambari/blob/b950812e/ambari-common/src/main/python/resource_management/libraries/providers/modify_properties_file.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/providers/modify_properties_file.py
 
b/ambari-common/src/main/python/resource_management/libraries/providers/modify_properties_file.py
index a07881b..e71abb8 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/providers/modify_properties_file.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/providers/modify_properties_file.py
@@ -26,7 +26,7 @@ from resource_management.libraries.functions.format import 
format
 from resource_management.core.environment import Environment
 from resource_management.core.source import InlineTemplate
 from resource_management.core.logger import Logger
-from resource_management import sudo
+from resource_management.core import sudo
 
 
 class ModifyPropertiesFileProvider(Provider):



ambari git commit: AMBARI-10901 [WinTP2] Ambari Service silent setup doesn't customize the service logon account

2015-05-06 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk a1effe19f - 8ce46ac26


AMBARI-10901 [WinTP2] Ambari Service silent setup doesn't customize the service 
logon account

Fixed variable assignment in the Windows user checks


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8ce46ac2
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8ce46ac2
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8ce46ac2

Branch: refs/heads/trunk
Commit: 8ce46ac2614a2da6b62b54fa6df3789dc6b75b6d
Parents: a1effe1
Author: Florian Barca fba...@hortonworks.com
Authored: Wed May 6 09:52:05 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed May 6 09:52:30 2015 -0700

--
 .../src/main/python/ambari_server/serverSetup.py  | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/8ce46ac2/ambari-server/src/main/python/ambari_server/serverSetup.py
--
diff --git a/ambari-server/src/main/python/ambari_server/serverSetup.py 
b/ambari-server/src/main/python/ambari_server/serverSetup.py
index 9986422..4547145 100644
--- a/ambari-server/src/main/python/ambari_server/serverSetup.py
+++ b/ambari-server/src/main/python/ambari_server/serverSetup.py
@@ -210,18 +210,18 @@ class AmbariUserChecksWindows(AmbariUserChecks):
 self.NR_DEFAULT_USER = NT AUTHORITY\\SYSTEM
 self.NR_SYSTEM_USERS = [NT AUTHORITY\\SYSTEM, NT 
AUTHORITY\\NetworkService, NT AUTHORITY\\LocalService]
 
-self.username = options.svc_user
+self.user = options.svc_user
 self.password = options.svc_password
 
   def _create_custom_user(self):
 user = get_validated_string_input(
-  Enter user account for ambari-server service 
({0}):.format(self.username),
-  self.username, None,
+  Enter user account for ambari-server service ({0}):.format(self.user),
+  self.user, None,
   Invalid username.,
   False
 )
 if user in self.NR_SYSTEM_USERS:
-  self.username = user
+  self.user = user
   return 0
 
 from ambari_commons.os_windows import UserHelper
@@ -265,7 +265,7 @@ class AmbariUserChecksWindows(AmbariUserChecks):
 if user.find('\\') == -1:
   user = '.\\' + user
 
-self.username = user
+self.user = user
 return 0
 
 @OsFamilyImpl(os_family=OsFamilyImpl.DEFAULT)



ambari git commit: AMBARI-10946 Ambari-trunk-Commit job (b.a.o) is failing due to Kafka Metric Sink build issue

2015-05-05 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 22c9243d2 - da9ab2821


AMBARI-10946 Ambari-trunk-Commit job (b.a.o) is failing due to Kafka Metric 
Sink build issue

Added kafka dependency exclusions


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/da9ab282
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/da9ab282
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/da9ab282

Branch: refs/heads/trunk
Commit: da9ab2821e7b198f1357849078fa06f7ef42d45e
Parents: 22c9243
Author: Florian Barca fba...@hortonworks.com
Authored: Tue May 5 16:42:39 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue May 5 16:42:39 2015 -0700

--
 .../ambari-metrics-kafka-sink/pom.xml   | 22 
 1 file changed, 22 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/da9ab282/ambari-metrics/ambari-metrics-kafka-sink/pom.xml
--
diff --git a/ambari-metrics/ambari-metrics-kafka-sink/pom.xml 
b/ambari-metrics/ambari-metrics-kafka-sink/pom.xml
index b41ea8b..a4361b0 100644
--- a/ambari-metrics/ambari-metrics-kafka-sink/pom.xml
+++ b/ambari-metrics/ambari-metrics-kafka-sink/pom.xml
@@ -124,6 +124,28 @@ limitations under the License.
   groupIdorg.apache.kafka/groupId
   artifactIdkafka_2.10/artifactId
   version0.8.1.1/version
+  exclusions
+exclusion
+  groupIdcom.sun.jdmk/groupId
+  artifactIdjmxtools/artifactId
+/exclusion
+exclusion
+  groupIdcom.sun.jmx/groupId
+  artifactIdjmxri/artifactId
+/exclusion
+exclusion
+  groupIdjavax.mail/groupId
+  artifactIdmail/artifactId
+/exclusion
+exclusion
+  groupIdjavax.jms/groupId
+  artifactIdjmx/artifactId
+/exclusion
+exclusion
+  groupIdjavax.jms/groupId
+  artifactIdjms/artifactId
+/exclusion
+  /exclusions
 /dependency
 dependency
   groupIdcom.yammer.metrics/groupId



ambari git commit: AMBARI-10747 [WinTP2] Ambari server: HDPWIN stack - Ensure the specific hadoop users can be domain users

2015-05-01 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 99d96d15c - 77e4d50c8


AMBARI-10747 [WinTP2] Ambari server: HDPWIN stack - Ensure the specific hadoop 
users can be domain users

Taking corrective action to switch the hadoop user to domain\hadoop for each 
active service after installation.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/77e4d50c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/77e4d50c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/77e4d50c

Branch: refs/heads/trunk
Commit: 77e4d50c8c4c73ee446f01b05ea1d1d17567197b
Parents: 99d96d1
Author: Florian Barca fba...@hortonworks.com
Authored: Fri May 1 10:37:04 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri May 1 10:37:04 2015 -0700

--
 .../core/providers/__init__.py  |   2 +
 .../core/providers/service.py   |   3 +
 .../core/providers/windows/service.py   | 211 ---
 .../core/resources/service.py   |  15 +-
 .../libraries/functions/install_hdp_msi.py  |  16 +-
 .../functions/windows_service_utils.py  |  38 ++--
 .../libraries/script/script.py  |   3 +-
 .../ambari_server/dbConfiguration_windows.py|   3 -
 .../main/python/ambari_server/serverSetup.py|   4 +-
 .../Ambari-DDL-SQLServer-CREATELOCAL.sql|   1 +
 .../AMBARI_METRICS/0.1.0/package/scripts/ams.py |  17 +-
 .../0.1.0/package/scripts/params_windows.py |   4 +
 .../FALCON/0.5.0.2.1/package/scripts/falcon.py  |   4 +
 .../0.5.0.2.1/package/scripts/status_params.py  |   2 +
 .../FLUME/1.4.0.2.0/package/scripts/flume.py|   7 +
 .../1.4.0.2.0/package/scripts/params_windows.py |   6 +-
 .../HBASE/0.96.0.2.0/package/scripts/hbase.py   |   8 +
 .../package/scripts/params_windows.py   |  10 +-
 .../HDFS/2.1.0.2.0/package/scripts/hdfs.py  |   7 +
 .../2.1.0.2.0/package/scripts/journalnode.py|   2 +-
 .../HDFS/2.1.0.2.0/package/scripts/namenode.py  |   6 +-
 .../2.1.0.2.0/package/scripts/params_windows.py |  11 +-
 .../2.1.0.2.0/package/scripts/status_params.py  |   1 +
 .../2.1.0.2.0/package/scripts/zkfc_slave.py |   2 +-
 .../HIVE/0.12.0.2.0/package/scripts/hive.py |   8 +
 .../package/scripts/params_windows.py   |  15 +-
 .../HIVE/0.12.0.2.0/package/scripts/webhcat.py  |   5 +
 .../KNOX/0.5.0.2.2/package/scripts/knox.py  |   9 +-
 .../KNOX/0.5.0.2.2/package/scripts/knox_ldap.py |  21 +-
 .../0.5.0.2.2/package/scripts/params_windows.py |   5 +-
 .../OOZIE/4.0.0.2.0/package/scripts/oozie.py|  22 +-
 .../4.0.0.2.0/package/scripts/params_windows.py |   3 +-
 .../package/scripts/params_windows.py   |   5 +-
 .../package/scripts/params_windows.py   |   5 +-
 .../STORM/0.9.1.2.1/package/scripts/nimbus.py   |   3 +-
 .../0.9.1.2.1/package/scripts/params_windows.py |   9 +-
 .../STORM/0.9.1.2.1/package/scripts/storm.py|  20 +-
 .../0.9.1.2.1/package/scripts/supervisor.py |   2 +-
 .../0.9.1.2.1/package/scripts/ui_server.py  |   2 +-
 .../0.4.0.2.1/package/scripts/params_windows.py |   3 +-
 .../2.1.0.2.0/package/scripts/params_windows.py |   9 +-
 .../YARN/2.1.0.2.0/package/scripts/service.py   |   3 +-
 .../2.1.0.2.0/package/scripts/status_params.py  |  12 +-
 .../YARN/2.1.0.2.0/package/scripts/yarn.py  |   8 +
 .../3.4.5.2.0/package/scripts/params_windows.py |   3 +-
 .../3.4.5.2.0/package/scripts/zookeeper.py  |   6 +
 .../2.1/hooks/after-INSTALL/scripts/params.py   |   3 +-
 .../2.1/hooks/before-START/scripts/params.py|   2 +-
 .../ambari/server/upgrade/UpgradeTest.java  |  12 +-
 .../hooks/before-START/test_before_start.py |   1 +
 50 files changed, 463 insertions(+), 116 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/77e4d50c/ambari-common/src/main/python/resource_management/core/providers/__init__.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/core/providers/__init__.py 
b/ambari-common/src/main/python/resource_management/core/providers/__init__.py
index b7f94e5..0cefd12 100644
--- 
a/ambari-common/src/main/python/resource_management/core/providers/__init__.py
+++ 
b/ambari-common/src/main/python/resource_management/core/providers/__init__.py
@@ -55,6 +55,7 @@ PROVIDERS = dict(
   ),
   winsrv=dict(
 
Service=resource_management.core.providers.windows.service.ServiceProvider,
+
ServiceConfig=resource_management.core.providers.windows.service.ServiceConfigProvider,
 
Execute=resource_management.core.providers.windows.system.ExecuteProvider,
 File=resource_management.core.providers.windows.system.FileProvider,
 
Directory=resource_management.core.providers.windows.system.DirectoryProvider
@@ -69,6 +70,7 

ambari git commit: AMBARI-10819 Ambari bootstrap: Premature Agent shutdown may lead to Agent stall

2015-04-30 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk f5c86d990 - 2be054d18


AMBARI-10819 Ambari bootstrap: Premature Agent shutdown may lead to Agent stall

Removed the agent stop invocation. The agent restarts now only after all the 
bits have been deployed.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2be054d1
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2be054d1
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2be054d1

Branch: refs/heads/trunk
Commit: 2be054d180fd1b7328e68f01732ed51bc67c0862
Parents: f5c86d9
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Apr 30 10:51:04 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Apr 30 10:51:35 2015 -0700

--
 ambari-agent/conf/unix/ambari-agent |  6 --
 ambari-server/src/main/python/setupAgent.py | 15 ---
 ambari-server/src/test/python/TestSetupAgent.py |  6 +++---
 3 files changed, 15 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/2be054d1/ambari-agent/conf/unix/ambari-agent
--
diff --git a/ambari-agent/conf/unix/ambari-agent 
b/ambari-agent/conf/unix/ambari-agent
index b03a3a4..bc61af2 100755
--- a/ambari-agent/conf/unix/ambari-agent
+++ b/ambari-agent/conf/unix/ambari-agent
@@ -220,8 +220,10 @@ case $1 in
 ;;
   restart)
 echo -e Restarting $AMBARI_AGENT
-$0 stop
-$0 start $@
+scriptpath=$0
+$scriptpath stop
+shift
+$scriptpath start $@
 retcode=$?
 ;;
   reset)

http://git-wip-us.apache.org/repos/asf/ambari/blob/2be054d1/ambari-server/src/main/python/setupAgent.py
--
diff --git a/ambari-server/src/main/python/setupAgent.py 
b/ambari-server/src/main/python/setupAgent.py
index ff2c5e9..a762d54 100755
--- a/ambari-server/src/main/python/setupAgent.py
+++ b/ambari-server/src/main/python/setupAgent.py
@@ -182,21 +182,22 @@ def runAgent(passPhrase, expected_hostname, user_run_as, 
verbose, ret=None):
   return {exitstatus: agent_retcode, log: log}
 
 @OsFamilyFuncImpl(OSConst.WINSRV_FAMILY)
-def tryStopAgent():
+def checkVerbose():
   verbose = False
   if os.path.exists(AMBARI_AGENT_INSTALL_SYMLINK):
-agentStopCmd = [cmd, /c, ambari-agent.cmd, stop]
-execOsCommand(agentStopCmd, tries=3, try_sleep=10, 
cwd=AMBARI_AGENT_INSTALL_SYMLINK)
+agentStatusCmd = [cmd, /c, ambari-agent.cmd, status]
+ret = execOsCommand(agentStatusCmd, tries=3, try_sleep=10, 
cwd=AMBARI_AGENT_INSTALL_SYMLINK)
+if ret[exitstatus] == 0 and ret[log][0].find(running) != -1:
+  verbose = True
   return verbose
 
 @OsFamilyFuncImpl(OsFamilyImpl.DEFAULT)
-def tryStopAgent():
+def checkVerbose():
   verbose = False
   cmds = [bash, -c, ps aux | grep 'AmbariAgent.py' | grep ' \-v']
   cmdl = [bash, -c, ps aux | grep 'AmbariAgent.py' | grep ' \--verbose']
   if execOsCommand(cmds)[exitstatus] == 0 or 
execOsCommand(cmdl)[exitstatus] == 0:
 verbose = True
-  subprocess.call(/usr/sbin/ambari-agent stop, shell=True)
   return verbose
 
 @OsFamilyFuncImpl(OSConst.WINSRV_FAMILY)
@@ -362,9 +363,9 @@ def run_setup(argv=None):
   return runAgent(passPhrase, expected_hostname, user_run_as, verbose)
 
 def main(argv=None):
-  #Try stop agent and check --verbose option if agent already run
+  #Check --verbose option if agent already running
   global verbose
-  verbose = tryStopAgent()
+  verbose = checkVerbose()
   if verbose:
 exitcode = run_setup(argv)
   else:

http://git-wip-us.apache.org/repos/asf/ambari/blob/2be054d1/ambari-server/src/test/python/TestSetupAgent.py
--
diff --git a/ambari-server/src/test/python/TestSetupAgent.py 
b/ambari-server/src/test/python/TestSetupAgent.py
index 80178ba..fbbce71 100644
--- a/ambari-server/src/test/python/TestSetupAgent.py
+++ b/ambari-server/src/test/python/TestSetupAgent.py
@@ -252,7 +252,7 @@ class TestSetupAgent(TestCase):
 self.assertFalse(setup_agent.execOsCommand(hostname -f) == None)
 
   @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
-  @patch.object(setup_agent, 'tryStopAgent')
+  @patch.object(setup_agent, 'checkVerbose')
   @patch.object(setup_agent, 'isAgentPackageAlreadyInstalled')
   @patch.object(setup_agent, 'runAgent')
   @patch.object(setup_agent, 'configureAgent')
@@ -267,14 +267,14 @@ class TestSetupAgent(TestCase):
   def test_setup_agent_main(self, dirname_mock, realpath_mock, exit_mock, 
checkServerReachability_mock,
 getOptimalVersion_mock, is_ubuntu_family_mock, 
is_suse_family_mock,
 

ambari git commit: AMBARI-10508 [WinTP2] Ambari common: Ensure the child processes can be run under domain accounts

2015-04-30 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 2be054d18 - 3fda2bcca


AMBARI-10508 [WinTP2] Ambari common: Ensure the child processes can be run 
under domain accounts

Adjusted the LogonUser parameters to allow the use of domain accounts


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3fda2bcc
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3fda2bcc
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3fda2bcc

Branch: refs/heads/trunk
Commit: 3fda2bcca040233b208be23f8c54c837f6e12551
Parents: 2be054d
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Apr 30 11:42:28 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Apr 30 11:42:28 2015 -0700

--
 .../src/main/python/ambari_commons/os_windows.py | 19 ++-
 .../core/providers/windows/system.py |  5 -
 2 files changed, 14 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/3fda2bcc/ambari-common/src/main/python/ambari_commons/os_windows.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/os_windows.py 
b/ambari-common/src/main/python/ambari_commons/os_windows.py
index 38db310..3df44af 100644
--- a/ambari-common/src/main/python/ambari_commons/os_windows.py
+++ b/ambari-common/src/main/python/ambari_commons/os_windows.py
@@ -706,23 +706,24 @@ class UserHelper(object):
   ACTION_FAILED = -1
 
   def __init__(self, userName):
-self.domainName, self.dcName, self.userName = 
UserHelper._parse_user_name(userName)
+self.domainName, self.userName = UserHelper.parse_user_name(userName)
+if self.domainName:
+  self.dcName = win32net.NetGetDCName(None, self.domainName)
+else:
+  self.dcName = None
 self._policy = win32security.LsaOpenPolicy(self.dcName,

win32security.POLICY_CREATE_ACCOUNT | win32security.POLICY_LOOKUP_NAMES)
 
   @staticmethod
-  def _parse_user_name(userName):
-dcName = None
-domainName = None
+  def parse_user_name(userName, defDomain=None):
+domainName = defDomain
 domainSepIndex = userName.find('\\')
 if domainSepIndex != -1:
   domainName = userName[0:domainSepIndex]
   userName = userName[domainSepIndex + 1:]
-  if domainName == '.' or domainName == win32api.GetComputerName():
-domainName = None
-  else:
-dcName = win32net.NetGetDCName(None, domainName)
-return (domainName, dcName, userName)
+  if not domainName or domainName == '.' or domainName == 
win32api.GetComputerName():
+domainName = defDomain
+return (domainName, userName)
 
   def create_user(self, password, comment=Ambari user):
 user_info = {}

http://git-wip-us.apache.org/repos/asf/ambari/blob/3fda2bcc/ambari-common/src/main/python/resource_management/core/providers/windows/system.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/core/providers/windows/system.py
 
b/ambari-common/src/main/python/resource_management/core/providers/windows/system.py
index dac44ec..a410e9c 100644
--- 
a/ambari-common/src/main/python/resource_management/core/providers/windows/system.py
+++ 
b/ambari-common/src/main/python/resource_management/core/providers/windows/system.py
@@ -18,6 +18,7 @@ limitations under the License.
 Ambari Agent
 
 
+from ambari_commons.os_windows import UserHelper
 
 from resource_management.core.providers import Provider
 from resource_management.core.logger import Logger
@@ -149,6 +150,8 @@ def _call_command(command, logoutput=False, cwd=None, 
env=None, wait_for_finish=
   # TODO implement timeout, wait_for_finish
   Logger.info(Executing %s % (command))
   if user:
+domain, username = UserHelper.parse_user_name(user, .)
+
 proc_token = OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | 
TOKEN_ADJUST_PRIVILEGES)
 
 old_states = []
@@ -163,7 +166,7 @@ def _call_command(command, logoutput=False, cwd=None, 
env=None, wait_for_finish=
   AdjustPrivilege(proc_token, priv)
   QueryPrivilegeState(proc_token, priv)
 
-user_token = LogonUser(user, ., Script.get_password(user), 
win32con.LOGON32_LOGON_SERVICE,
+user_token = LogonUser(username, domain, Script.get_password(user), 
win32con.LOGON32_LOGON_SERVICE,
win32con.LOGON32_PROVIDER_DEFAULT)
 env_token = DuplicateTokenEx(user_token, SecurityIdentification, 
TOKEN_QUERY, TokenPrimary)
 # getting updated environment for impersonated user and merge it with 
custom env



ambari git commit: AMBARI-10781 [WinTP2] Ambari agent: Ensure the default set of users declared in the host data can be domain accounts

2015-04-30 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 4102d919a - 93687a299


AMBARI-10781 [WinTP2] Ambari agent: Ensure the default set of users declared in 
the host data can be domain accounts

Redesigned the users filter to include all the possible hadoop users, local or 
domain.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/93687a29
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/93687a29
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/93687a29

Branch: refs/heads/trunk
Commit: 93687a29934f7bd0608c14849e36e3ae74860a8e
Parents: 4102d91
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Apr 30 09:17:02 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Apr 30 09:17:02 2015 -0700

--
 .../src/main/python/ambari_agent/HostInfo.py| 21 ++--
 1 file changed, 10 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/93687a29/ambari-agent/src/main/python/ambari_agent/HostInfo.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/HostInfo.py 
b/ambari-agent/src/main/python/ambari_agent/HostInfo.py
index 1d1e853..98c8045 100644
--- a/ambari-agent/src/main/python/ambari_agent/HostInfo.py
+++ b/ambari-agent/src/main/python/ambari_agent/HostInfo.py
@@ -32,7 +32,6 @@ from ambari_commons import OSCheck, OSConst
 from ambari_commons.firewall import Firewall
 from ambari_commons.os_family_impl import OsFamilyImpl
 
-from resource_management.libraries.functions import packages_analyzer
 from ambari_agent.Hardware import Hardware
 from ambari_agent.HostCheckReportFileHandler import HostCheckReportFileHandler
 
@@ -326,26 +325,26 @@ class HostInfoLinux(HostInfo):
 @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY)
 class HostInfoWindows(HostInfo):
   SERVICE_STATUS_CMD = 'If ((Get-Service | Where-Object {{$_.Name -eq 
\'{0}\'}}).Status -eq \'Running\') {{echo Running; $host.SetShouldExit(0)}} 
Else {{echo Stopped; $host.SetShouldExit(1)}}'
-  GET_USERS_CMD = '$accounts=(Get-WmiObject -Class Win32_UserAccount 
-Namespace root\cimv2 -Filter LocalAccount=\'$True\' -ComputerName 
LocalHost -ErrorAction Stop); foreach ($acc in $accounts) {echo $acc.Name}'
-  GET_JAVA_PROC_CMD = 'foreach ($process in (gwmi Win32_Process -Filter name 
= \'java.exe\')){echo $process.ProcessId;echo $process.CommandLine; echo 
$process.GetOwner().User}'
+  GET_USERS_CMD = '$accounts=(Get-WmiObject -Class Win32_UserAccount 
-Namespace root\cimv2 -Filter name = \'{0}\' and Disabled=\'False\' 
-ErrorAction Stop); foreach ($acc in $accounts) {{Write-Host ($acc.Domain + 
\\ + $acc.Name)}}'
+  GET_JAVA_PROC_CMD = 'foreach ($process in (gwmi Win32_Process -Filter name 
= \'java.exe\')){{echo $process.ProcessId;echo $process.CommandLine; echo 
$process.GetOwner().User}}'
   DEFAULT_LIVE_SERVICES = [
 W32Time
   ]
-  DEFAULT_USERS = [hadoop]
+  DEFAULT_USERS = hadoop
 
-  def checkUsers(self, users, results):
-get_users_cmd = [powershell, '-noProfile', '-NonInteractive', '-nologo', 
-Command, self.GET_USERS_CMD]
+  def checkUsers(self, user_mask, results):
+get_users_cmd = [powershell, '-noProfile', '-NonInteractive', '-nologo', 
-Command, self.GET_USERS_CMD.format(user_mask)]
 try:
   osStat = subprocess.Popen(get_users_cmd, stdout=subprocess.PIPE, 
stderr=subprocess.PIPE)
   out, err = osStat.communicate()
 except:
   raise Exception(Failed to get users.)
 for user in out.split(os.linesep):
-  if user in users:
-result = {}
-result['name'] = user
-result['status'] = Available
-results.append(result)
+  result = {}
+  result['name'] = user
+  result['homeDir'] = 
+  result['status'] = Available
+  results.append(result)
 
   def createAlerts(self, alerts):
 # TODO AMBARI-7849 Implement createAlerts for Windows



ambari git commit: AMBARI-10569 [WinTP2] Stack widgets creation fails on Windows

2015-04-17 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 4254fb4a1 - 2917d0ded


AMBARI-10569 [WinTP2] Stack widgets creation fails on Windows

Removed the syntax error artifacts. Added the missing tables. Added the missing 
records to the sequence table.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2917d0de
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2917d0de
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2917d0de

Branch: refs/heads/trunk
Commit: 2917d0dede140260ae01ece25a536fb894863e7c
Parents: 4254fb4
Author: Florian Barca fba...@hortonworks.com
Authored: Fri Apr 17 10:31:05 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri Apr 17 10:31:05 2015 -0700

--
 .../resources/Ambari-DDL-SQLServer-CREATE.sql   | 155 ---
 1 file changed, 98 insertions(+), 57 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/2917d0de/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
--
diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
index 0dc6dc7..835c23f 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@ -35,7 +35,7 @@ CREATE TABLE stack(
   stack_id BIGINT NOT NULL,
   stack_name VARCHAR(255) NOT NULL,
   stack_version VARCHAR(255) NOT NULL,
-  PRIMARY KEY (stack_id),
+  PRIMARY KEY CLUSTERED (stack_id),
   CONSTRAINT unq_stack UNIQUE(stack_name,stack_version)
 );
 
@@ -125,7 +125,7 @@ CREATE TABLE cluster_version (
   start_time BIGINT NOT NULL,
   end_time BIGINT,
   user_name VARCHAR(255),
-  PRIMARY KEY (id)
+  PRIMARY KEY CLUSTERED (id)
   );
 
 CREATE TABLE hostcomponentdesiredstate (
@@ -227,14 +227,14 @@ CREATE TABLE groups (
   principal_id BIGINT NOT NULL,
   group_name VARCHAR(255) NOT NULL,
   ldap_group INTEGER NOT NULL DEFAULT 0,
-  PRIMARY KEY (group_id)
+  PRIMARY KEY CLUSTERED (group_id)
   );
 
 CREATE TABLE members (
   member_id INTEGER,
   group_id INTEGER NOT NULL,
   user_id INTEGER NOT NULL,
-  PRIMARY KEY (member_id)
+  PRIMARY KEY CLUSTERED (member_id)
   );
 
 CREATE TABLE execution_command (
@@ -379,7 +379,7 @@ CREATE TABLE configgroup (
   description VARCHAR(1024),
   create_timestamp BIGINT NOT NULL,
   service_name VARCHAR(255),
-  PRIMARY KEY (group_id)
+  PRIMARY KEY CLUSTERED (group_id)
   );
 
 CREATE TABLE confgroupclusterconfigmapping (
@@ -389,7 +389,7 @@ CREATE TABLE confgroupclusterconfigmapping (
   version_tag VARCHAR(255) NOT NULL,
   user_name VARCHAR(255) DEFAULT '_db',
   create_timestamp BIGINT NOT NULL,
-  PRIMARY KEY (
+  PRIMARY KEY CLUSTERED (
 config_group_id,
 cluster_id,
 config_type
@@ -399,7 +399,7 @@ CREATE TABLE confgroupclusterconfigmapping (
 CREATE TABLE configgrouphostmapping (
   config_group_id BIGINT NOT NULL,
   host_name VARCHAR(255) NOT NULL,
-  PRIMARY KEY (
+  PRIMARY KEY CLUSTERED (
 config_group_id,
 host_name
 )
@@ -425,7 +425,7 @@ CREATE TABLE requestschedule (
   startTime VARCHAR(50),
   endTime VARCHAR(50),
   last_execution_status VARCHAR(255),
-  PRIMARY KEY (schedule_id)
+  PRIMARY KEY CLUSTERED (schedule_id)
   );
 
 CREATE TABLE requestschedulebatchrequest (
@@ -438,7 +438,7 @@ CREATE TABLE requestschedulebatchrequest (
   request_status VARCHAR(255),
   return_code SMALLINT,
   return_message TEXT,
-  PRIMARY KEY (
+  PRIMARY KEY CLUSTERED (
 schedule_id,
 batch_id
 )
@@ -447,7 +447,7 @@ CREATE TABLE requestschedulebatchrequest (
 CREATE TABLE blueprint (
   blueprint_name VARCHAR(255) NOT NULL,
   stack_id BIGINT NOT NULL,
-  PRIMARY KEY (blueprint_name),
+  PRIMARY KEY CLUSTERED (blueprint_name),
   FOREIGN KEY (stack_id) REFERENCES stack(stack_id)
   );
 
@@ -455,7 +455,7 @@ CREATE TABLE hostgroup (
   blueprint_name VARCHAR(255) NOT NULL,
   NAME VARCHAR(255) NOT NULL,
   cardinality VARCHAR(255) NOT NULL,
-  PRIMARY KEY (
+  PRIMARY KEY CLUSTERED (
 blueprint_name,
 NAME
 )
@@ -465,7 +465,7 @@ CREATE TABLE hostgroup_component (
   blueprint_name VARCHAR(255) NOT NULL,
   hostgroup_name VARCHAR(255) NOT NULL,
   NAME VARCHAR(255) NOT NULL,
-  PRIMARY KEY (
+  PRIMARY KEY CLUSTERED (
 blueprint_name,
 hostgroup_name,
 NAME
@@ -477,7 +477,7 @@ CREATE TABLE blueprint_configuration (
   type_name VARCHAR(255) NOT NULL,
   config_data TEXT NOT NULL,
   config_attributes VARCHAR(8000),
-  PRIMARY KEY (
+  PRIMARY KEY CLUSTERED (
 blueprint_name,
 type_name
 )
@@ -489,7 +489,7 @@ CREATE TABLE hostgroup_configuration (
   type_name VARCHAR(255) NOT NULL,
   config_data TEXT NOT NULL,
   config_attributes TEXT,

ambari git commit: AMBARI-10569 [WinTP2] Stack widgets creation fails on Windows

2015-04-17 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 7f542913b - b392c6861


AMBARI-10569 [WinTP2] Stack widgets creation fails on Windows

Updating the drop tables script too


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b392c686
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b392c686
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b392c686

Branch: refs/heads/trunk
Commit: b392c686171dcfdcc59a6813df1f137149c7107a
Parents: 7f54291
Author: Florian Barca fba...@hortonworks.com
Authored: Fri Apr 17 13:55:11 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri Apr 17 13:55:11 2015 -0700

--
 .../src/main/resources/Ambari-DDL-SQLServer-DROP.sql | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/b392c686/ambari-server/src/main/resources/Ambari-DDL-SQLServer-DROP.sql
--
diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-DROP.sql 
b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-DROP.sql
index 06dca95..8cb3132 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-DROP.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-DROP.sql
@@ -211,7 +211,13 @@ IF OBJECT_ID('adminprincipaltype', 'U') IS NOT NULL DROP 
TABLE adminprincipaltyp
 GO
 IF OBJECT_ID('repo_version', 'U') IS NOT NULL DROP TABLE repo_version
 GO
+IF OBJECT_ID('widget_layout_user_widget', 'U') IS NOT NULL DROP TABLE 
widget_layout_user_widget
+GO
+IF OBJECT_ID('widget_layout', 'U') IS NOT NULL DROP TABLE widget_layout
+GO
+IF OBJECT_ID('widget', 'U') IS NOT NULL DROP TABLE widget
+GO
 IF OBJECT_ID('artifact', 'U') IS NOT NULL DROP TABLE artifact
 GO
 IF OBJECT_ID('stack', 'U') IS NOT NULL DROP TABLE stack
-GO
\ No newline at end of file
+GO



ambari git commit: AMBARI-10491 [WinTP2] Ambari server: Ensure the service can be configured to run under a domain account

2015-04-17 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk bdf5effbe - 180640d94


AMBARI-10491 [WinTP2] Ambari server: Ensure the service can be configured to 
run under a domain account

+Fixed service username handling at registration.
+Fixed service registration workflow.
+Updated unit tests.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/180640d9
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/180640d9
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/180640d9

Branch: refs/heads/trunk
Commit: 180640d943736b90ca2bc03f3ed6512e73e8d5e6
Parents: bdf5eff
Author: Florian Barca fba...@hortonworks.com
Authored: Fri Apr 17 15:33:59 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri Apr 17 15:33:59 2015 -0700

--
 .../main/python/ambari_commons/os_windows.py|  12 +-
 ambari-server/src/main/python/ambari-server.py  |  17 +-
 .../python/ambari_server/serverConfiguration.py |   3 -
 .../main/python/ambari_server/serverSetup.py| 154 ---
 .../src/main/python/ambari_windows_service.py   |  17 +-
 .../src/test/python/TestAmbariServer.py | 142 -
 6 files changed, 201 insertions(+), 144 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/180640d9/ambari-common/src/main/python/ambari_commons/os_windows.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/os_windows.py 
b/ambari-common/src/main/python/ambari_commons/os_windows.py
index edbcc7b..38db310 100644
--- a/ambari-common/src/main/python/ambari_commons/os_windows.py
+++ b/ambari-common/src/main/python/ambari_commons/os_windows.py
@@ -629,7 +629,7 @@ class WinService(win32serviceutil.ServiceFramework):
   installArgs.append(--perfmondll= + perfMonDll)
 installArgs.append(install)
 
-win32serviceutil.HandleCommandLine(cls, classPath, installArgs)
+return win32serviceutil.HandleCommandLine(cls, classPath, installArgs)
 
   @classmethod
   def Start(cls, waitSecs = 30):
@@ -740,6 +740,16 @@ class UserHelper(object):
 return UserHelper.ACTION_FAILED, e.strerror
 return UserHelper.ACTION_OK, User created.
 
+  def find_user(self):
+try:
+  user_info = win32net.NetUserGetInfo(self.dcName, self.userName, 0)
+except pywintypes.error as e:
+  if e.winerror == 2221:
+return False
+  else:
+raise
+return True
+
   def add_user_privilege(self, privilege):
 try:
   acc_sid = win32security.LookupAccountName(self.dcName, self.userName)[0]

http://git-wip-us.apache.org/repos/asf/ambari/blob/180640d9/ambari-server/src/main/python/ambari-server.py
--
diff --git a/ambari-server/src/main/python/ambari-server.py 
b/ambari-server/src/main/python/ambari-server.py
index f1f005d..749a965 100755
--- a/ambari-server/src/main/python/ambari-server.py
+++ b/ambari-server/src/main/python/ambari-server.py
@@ -69,12 +69,6 @@ class UserActionRestart(UserAction):
 self.need_restart = self.fn(*self.args, **self.kwargs)
 
 
-def winsetup(options):
-  from ambari_windows_service import svcsetup
-
-  setup(options)
-  svcsetup()
-
 #
 # Starts the Ambari Server as a standalone process.
 # Ensures only one instance of the process is running.
@@ -269,6 +263,13 @@ def restore(args):
 
 @OsFamilyFuncImpl(OSConst.WINSRV_FAMILY)
 def init_parser_options(parser):
+  parser.add_option('-k', '--service-user-name', dest=svc_user,
+default=None,
+help=User account under which the Ambari Server service 
will run)
+  parser.add_option('-x', '--service-user-password', dest=svc_password,
+default=None,
+help=Password for the Ambari Server service user account)
+
   parser.add_option('-f', '--init-script-file', dest=init_db_script_file,
 default=resources + os.sep + 
Ambari-DDL-SQLServer-CREATE.sql,
 help=File with database setup script)
@@ -302,7 +303,7 @@ def init_parser_options(parser):
 help=Database user password)
   parser.add_option('--jdbc-driver', default=None, dest=jdbc_driver,
 help=Specifies the path to the JDBC driver JAR file)
-  # -b, -i, -k and -x the remaining available short options
+  # -b and -i the remaining available short options
   # -h reserved for help
 
 @OsFamilyFuncImpl(OsFamilyImpl.DEFAULT)
@@ -475,7 +476,7 @@ def fix_database_options(options, parser):
 @OsFamilyFuncImpl(OSConst.WINSRV_FAMILY)
 def create_user_action_map(args, options):
   action_map = {
-SETUP_ACTION: UserAction(winsetup, options),
+SETUP_ACTION: UserAction(setup, options),
 START_ACTION: UserAction(svcstart),
 

ambari git commit: AMBARI-10491 [WinTP2] Ambari server: Ensure the service can be configured to run under a domain account

2015-04-16 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 68c68a6f0 - 962a8a006


AMBARI-10491 [WinTP2] Ambari server: Ensure the service can be configured to 
run under a domain account

+Fixed service username handling at registration.
+Fixed service registration workflow.
+Updated unit tests.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/962a8a00
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/962a8a00
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/962a8a00

Branch: refs/heads/trunk
Commit: 962a8a006e35860d391d10781d0b911d7f602d9d
Parents: 68c68a6
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Apr 16 20:45:03 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Apr 16 20:45:03 2015 -0700

--
 .../main/python/ambari_commons/os_windows.py|  12 +-
 ambari-server/src/main/python/ambari-server.py  |  17 ++-
 .../python/ambari_server/serverConfiguration.py |   3 -
 .../main/python/ambari_server/serverSetup.py| 150 ---
 .../src/main/python/ambari_windows_service.py   |  17 +--
 .../resources/Ambari-DDL-SQLServer-CREATE.sql   |   1 +
 .../src/test/python/TestAmbariServer.py | 142 +-
 7 files changed, 200 insertions(+), 142 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/962a8a00/ambari-common/src/main/python/ambari_commons/os_windows.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/os_windows.py 
b/ambari-common/src/main/python/ambari_commons/os_windows.py
index edbcc7b..38db310 100644
--- a/ambari-common/src/main/python/ambari_commons/os_windows.py
+++ b/ambari-common/src/main/python/ambari_commons/os_windows.py
@@ -629,7 +629,7 @@ class WinService(win32serviceutil.ServiceFramework):
   installArgs.append(--perfmondll= + perfMonDll)
 installArgs.append(install)
 
-win32serviceutil.HandleCommandLine(cls, classPath, installArgs)
+return win32serviceutil.HandleCommandLine(cls, classPath, installArgs)
 
   @classmethod
   def Start(cls, waitSecs = 30):
@@ -740,6 +740,16 @@ class UserHelper(object):
 return UserHelper.ACTION_FAILED, e.strerror
 return UserHelper.ACTION_OK, User created.
 
+  def find_user(self):
+try:
+  user_info = win32net.NetUserGetInfo(self.dcName, self.userName, 0)
+except pywintypes.error as e:
+  if e.winerror == 2221:
+return False
+  else:
+raise
+return True
+
   def add_user_privilege(self, privilege):
 try:
   acc_sid = win32security.LookupAccountName(self.dcName, self.userName)[0]

http://git-wip-us.apache.org/repos/asf/ambari/blob/962a8a00/ambari-server/src/main/python/ambari-server.py
--
diff --git a/ambari-server/src/main/python/ambari-server.py 
b/ambari-server/src/main/python/ambari-server.py
index f1f005d..749a965 100755
--- a/ambari-server/src/main/python/ambari-server.py
+++ b/ambari-server/src/main/python/ambari-server.py
@@ -69,12 +69,6 @@ class UserActionRestart(UserAction):
 self.need_restart = self.fn(*self.args, **self.kwargs)
 
 
-def winsetup(options):
-  from ambari_windows_service import svcsetup
-
-  setup(options)
-  svcsetup()
-
 #
 # Starts the Ambari Server as a standalone process.
 # Ensures only one instance of the process is running.
@@ -269,6 +263,13 @@ def restore(args):
 
 @OsFamilyFuncImpl(OSConst.WINSRV_FAMILY)
 def init_parser_options(parser):
+  parser.add_option('-k', '--service-user-name', dest=svc_user,
+default=None,
+help=User account under which the Ambari Server service 
will run)
+  parser.add_option('-x', '--service-user-password', dest=svc_password,
+default=None,
+help=Password for the Ambari Server service user account)
+
   parser.add_option('-f', '--init-script-file', dest=init_db_script_file,
 default=resources + os.sep + 
Ambari-DDL-SQLServer-CREATE.sql,
 help=File with database setup script)
@@ -302,7 +303,7 @@ def init_parser_options(parser):
 help=Database user password)
   parser.add_option('--jdbc-driver', default=None, dest=jdbc_driver,
 help=Specifies the path to the JDBC driver JAR file)
-  # -b, -i, -k and -x the remaining available short options
+  # -b and -i the remaining available short options
   # -h reserved for help
 
 @OsFamilyFuncImpl(OsFamilyImpl.DEFAULT)
@@ -475,7 +476,7 @@ def fix_database_options(options, parser):
 @OsFamilyFuncImpl(OSConst.WINSRV_FAMILY)
 def create_user_action_map(args, options):
   action_map = {
-SETUP_ACTION: UserAction(winsetup, options),
+SETUP_ACTION: UserAction(setup, 

ambari git commit: AMBARI-10458 [WinTP2] HBase: hbase.regionserver.global.memstore.size is not initialized

2015-04-15 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk cfdb955bd - 4af2453a5


AMBARI-10458 [WinTP2] HBase: hbase.regionserver.global.memstore.size is not 
initialized

Added the missing parameter


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4af2453a
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4af2453a
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4af2453a

Branch: refs/heads/trunk
Commit: 4af2453a52f0079ed779b9df16b4d01b7256df2d
Parents: cfdb955
Author: Florian Barca fba...@hortonworks.com
Authored: Wed Apr 15 10:00:57 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Apr 15 10:00:57 2015 -0700

--
 .../HDPWIN/2.2/services/HBASE/configuration/hbase-site.xml  | 9 +
 1 file changed, 9 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/4af2453a/ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/HBASE/configuration/hbase-site.xml
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/HBASE/configuration/hbase-site.xml
 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/HBASE/configuration/hbase-site.xml
index e5b893f..b1bbe51 100644
--- 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/HBASE/configuration/hbase-site.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.2/services/HBASE/configuration/hbase-site.xml
@@ -61,5 +61,14 @@
 worse, we OOME.
 /description
   /property
+  property
+namehbase.regionserver.global.memstore.size/name
+value0.4/value
+descriptionMaximum size of all memstores in a region server before new
+  updates are blocked and flushes are forced. Defaults to 40% of heap.
+  Updates are blocked and flushes are forced until size of all memstores
+  in a region server hits 
hbase.regionserver.global.memstore.size.lower.limit.
+/description
+  /property
 
 /configuration



ambari git commit: AMBARI-10422 [WinTP2] Error executing HDP setup task results in file not found

2015-04-13 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk e59089b40 - b0d1c232a


AMBARI-10422 [WinTP2] Error executing HDP setup task results in file not found

Added missing parameter, which was invalidating the whole script


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b0d1c232
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b0d1c232
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b0d1c232

Branch: refs/heads/trunk
Commit: b0d1c232ae6a1e855fd9f4fcee1d4855727a9a9c
Parents: e59089b
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Apr 13 08:34:22 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Apr 13 08:34:22 2015 -0700

--
 .../TEZ/0.4.0.2.1/package/scripts/params_windows.py| 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/b0d1c232/ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/params_windows.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/params_windows.py
 
b/ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/params_windows.py
index db34c9f..767ed1c 100644
--- 
a/ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/params_windows.py
+++ 
b/ambari-server/src/main/resources/common-services/TEZ/0.4.0.2.1/package/scripts/params_windows.py
@@ -25,6 +25,8 @@ tez_user = hadoop
 tez_home_dir = None
 tez_conf_dir = conf
 
+hdp_root = os.path.abspath(os.path.join(os.environ[HADOOP_HOME], ..))
+
 if os.environ.has_key(TEZ_HOME):
   tez_home_dir = os.environ[TEZ_HOME]
   tez_conf_dir = os.path.join(tez_home_dir, conf)



ambari git commit: AMBARI-10368 [WinTP2] Hive is broken

2015-04-06 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 4d37ee7d1 - 0de10b795


AMBARI-10368 [WinTP2] Hive is broken

Fixed Hive parameters. Fixed process exit code propagation from cmd script.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0de10b79
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0de10b79
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0de10b79

Branch: refs/heads/trunk
Commit: 0de10b795b66820bb55f1217a4df9e44a9de28c5
Parents: 4d37ee7
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Apr 6 09:50:13 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Apr 6 09:50:13 2015 -0700

--
 .../services/HIVE/configuration/hive-site.xml   |  5 
 .../2.1/services/HIVE/package/scripts/hive.py   | 29 +++-
 .../2.1/services/HIVE/package/scripts/params.py | 16 +++
 3 files changed, 49 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/0de10b79/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HIVE/configuration/hive-site.xml
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HIVE/configuration/hive-site.xml
 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HIVE/configuration/hive-site.xml
index e479f79..5b657ae 100644
--- 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HIVE/configuration/hive-site.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HIVE/configuration/hive-site.xml
@@ -17,6 +17,11 @@
   /property
 
   property
+namedatanucleus.autoCreateSchema/name
+valuefalse/value
+  /property
+
+  property
 namehive.querylog.location/name
 valuec:\hadoop\logs\hive/value
   /property

http://git-wip-us.apache.org/repos/asf/ambari/blob/0de10b79/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HIVE/package/scripts/hive.py
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HIVE/package/scripts/hive.py
 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HIVE/package/scripts/hive.py
index 54b7911..5f21170 100644
--- 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HIVE/package/scripts/hive.py
+++ 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/HIVE/package/scripts/hive.py
@@ -31,4 +31,31 @@ def hive(name=None):
 
configuration_attributes=params.config['configuration_attributes']['hive-site']
   )
   if name in [hiveserver2,metastore]:
-Execute(format(cmd /c hadoop fs -mkdir -p {hive_warehouse_dir}), 
logoutput=True, user=params.hadoop_user)
\ No newline at end of file
+Execute(format(cmd /c hadoop fs -mkdir -p {hive_warehouse_dir}), 
logoutput=True, user=params.hadoop_user)
+
+  if name == 'metastore':
+if params.init_metastore_schema:
+  check_schema_created_cmd = format('cmd /c {hive_bin}\\hive.cmd 
--service schematool -info '
+'-dbType {hive_metastore_db_type} '
+'-userName {hive_metastore_user_name} '
+'-passWord 
{hive_metastore_user_passwd!p}'
+'set EXITCODE=%ERRORLEVEL%exit /B 
%EXITCODE%', #cmd feature, propagate the process exit code manually
+hive_bin=params.hive_bin,
+
hive_metastore_db_type=params.hive_metastore_db_type,
+
hive_metastore_user_name=params.hive_metastore_user_name,
+
hive_metastore_user_passwd=params.hive_metastore_user_passwd)
+  try:
+Execute(check_schema_created_cmd)
+  except Fail:
+create_schema_cmd = format('cmd /c {hive_bin}\\hive.cmd --service 
schematool -initSchema '
+   '-dbType {hive_metastore_db_type} '
+   '-userName {hive_metastore_user_name} '
+   '-passWord {hive_metastore_user_passwd!p}',
+   hive_bin=params.hive_bin,
+   
hive_metastore_db_type=params.hive_metastore_db_type,
+   
hive_metastore_user_name=params.hive_metastore_user_name,
+   
hive_metastore_user_passwd=params.hive_metastore_user_passwd)
+Execute(create_schema_cmd,
+user = params.hive_user,
+logoutput=True
+  )


ambari git commit: AMBARI-10322 [WinTP2] Agent Automatic Bootstrap: Ambari Web UI changes

2015-04-02 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 1487ad371 - fb92ad29f


AMBARI-10322 [WinTP2] Agent Automatic Bootstrap: Ambari Web UI changes

Enabled automatic host bootstrap in WIndows. No SSH key necessary, hence only 
the radio butto with appropriate message needs to be visible.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fb92ad29
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fb92ad29
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fb92ad29

Branch: refs/heads/trunk
Commit: fb92ad29fea52283464b18df7114ffb81989c207
Parents: 1487ad3
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Apr 2 10:39:29 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Apr 2 10:39:29 2015 -0700

--
 .../src/main/windows/ambari-server.cmd  |  2 +-
 ambari-web/app/controllers/wizard.js|  4 +-
 .../app/controllers/wizard/step2_controller.js  | 12 +++---
 ambari-web/app/messages.js  |  8 +++-
 ambari-web/app/templates/wizard/step2.hbs   | 39 +++-
 5 files changed, 44 insertions(+), 21 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/fb92ad29/ambari-server/src/main/windows/ambari-server.cmd
--
diff --git a/ambari-server/src/main/windows/ambari-server.cmd 
b/ambari-server/src/main/windows/ambari-server.cmd
index 34d1ccc..fb42078 100644
--- a/ambari-server/src/main/windows/ambari-server.cmd
+++ b/ambari-server/src/main/windows/ambari-server.cmd
@@ -1,2 +1,2 @@
 @echo off
-powershell -File ambari-server.ps1 %*
\ No newline at end of file
+powershell -ExecutionPolicy unrestricted -File ambari-server.ps1 %*
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/fb92ad29/ambari-web/app/controllers/wizard.js
--
diff --git a/ambari-web/app/controllers/wizard.js 
b/ambari-web/app/controllers/wizard.js
index a8e66bf..0c54fa2 100644
--- a/ambari-web/app/controllers/wizard.js
+++ b/ambari-web/app/controllers/wizard.js
@@ -534,8 +534,8 @@ App.WizardController = 
Em.Controller.extend(App.LocalStorage, App.ThemesMappingM
 
   installWindowsOptionsTemplate: {
 hostNames: , //string
-manualInstall: true, //true, false
-useSsh: false, //bool
+manualInstall: false, //true, false
+useSsh: true, //bool
 javaHome: App.defaultJavaHome, //string
 localRepo: false, //true, false
 sshKey: , //string

http://git-wip-us.apache.org/repos/asf/ambari/blob/fb92ad29/ambari-web/app/controllers/wizard/step2_controller.js
--
diff --git a/ambari-web/app/controllers/wizard/step2_controller.js 
b/ambari-web/app/controllers/wizard/step2_controller.js
index a4de17b..3daf977 100644
--- a/ambari-web/app/controllers/wizard/step2_controller.js
+++ b/ambari-web/app/controllers/wizard/step2_controller.js
@@ -121,7 +121,7 @@ App.WizardStep2Controller = Em.Controller.extend({
*/
   hostsError: null,
 
-  isSSHRegistrationEnabled: function () {
+  useSSH: function () {
 return !App.get('isHadoopWindowsStack');
   }.property('App.isHadoopWindowsStack'),
 
@@ -130,22 +130,22 @@ App.WizardStep2Controller = Em.Controller.extend({
* @type {string|null}
*/
   sshKeyError: function () {
-if (this.get('hasSubmitted')  this.get('manualInstall') === false  
Em.isEmpty(this.get('sshKey').trim())) {
+if (this.get('hasSubmitted')  this.get('manualInstall') === false  
this.get('useSSH')  Em.isEmpty(this.get('sshKey').trim())) {
   return Em.I18n.t('installer.step2.sshKey.error.required');
 }
 return null;
-  }.property('sshKey', 'manualInstall', 'hasSubmitted'),
+  }.property('sshKey', 'useSSH', 'manualInstall', 'hasSubmitted'),
 
   /**
* Error-message if codesshUser/code is empty, null otherwise
* @type {string|null}
*/
   sshUserError: function () {
-if (this.get('manualInstall') === false  
Em.isEmpty(this.get('sshUser').trim())) {
+if (this.get('manualInstall') === false  this.get('useSSH')  
Em.isEmpty(this.get('sshUser').trim())) {
   return Em.I18n.t('installer.step2.sshUser.required');
 }
 return null;
-  }.property('sshUser', 'hasSubmitted', 'manualInstall'),
+  }.property('sshUser', 'useSSH', 'hasSubmitted', 'manualInstall'),
 
   /**
* Error-message if codeagentUser/code is empty, null otherwise
@@ -469,7 +469,7 @@ App.WizardStep2Controller = Em.Controller.extend({
* @method manualInstallWarningPopup
*/
   manualInstallWarningPopup: function () {
-if (this.get('isSSHRegistrationEnabled')  
!this.get('content.installOptions.useSsh')) {
+if (!this.get('content.installOptions.useSsh')) {
 

ambari git commit: AMBARI-10243 [WinTP2] ambari-web build is incomplete

2015-03-31 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk de97e38cd - f72e0bdb1


AMBARI-10243 [WinTP2] ambari-web build is incomplete

Replaced maven-antrun-plugin with exec-maven-plugin. Upgraded to v1.2.1 was 
necessary because v1.2 doesn't process the successCodes tag.
Created Windows scripts with identical functionality for set-ambari-version.sh, 
set-default-stack-version.sh and toggle-experimental.sh.
Fixed slider view build.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f72e0bdb
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f72e0bdb
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f72e0bdb

Branch: refs/heads/trunk
Commit: f72e0bdb1df87242a144fbd43cef462c17f73de1
Parents: de97e38
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Mar 31 14:08:35 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Mar 31 14:08:35 2015 -0700

--
 ambari-agent/pom.xml   |   4 +-
 ambari-client/python-client/pom.xml|   2 +-
 ambari-metrics/ambari-metrics-assembly/pom.xml |   2 +-
 ambari-server/pom.xml  |   4 +-
 ambari-shell/ambari-python-shell/pom.xml   |   2 +-
 ambari-web/pom.xml | 168 
 ambari-web/set-ambari-version.cmd  |  17 ++
 ambari-web/set-ambari-version.ps1  |  27 
 ambari-web/set-default-stack-version.cmd   |  17 ++
 ambari-web/set-default-stack-version.ps1   |  35 
 ambari-web/toggle-experimental.cmd |  17 ++
 ambari-web/toggle-experimental.ps1 |  27 
 contrib/views/slider/pom.xml   | 137 ++--
 13 files changed, 338 insertions(+), 121 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/f72e0bdb/ambari-agent/pom.xml
--
diff --git a/ambari-agent/pom.xml b/ambari-agent/pom.xml
index 110a8d5..4476011 100644
--- a/ambari-agent/pom.xml
+++ b/ambari-agent/pom.xml
@@ -113,7 +113,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 configuration
@@ -799,7 +799,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 idrun-heat/id

http://git-wip-us.apache.org/repos/asf/ambari/blob/f72e0bdb/ambari-client/python-client/pom.xml
--
diff --git a/ambari-client/python-client/pom.xml 
b/ambari-client/python-client/pom.xml
index 3c957ee..73a6825 100644
--- a/ambari-client/python-client/pom.xml
+++ b/ambari-client/python-client/pom.xml
@@ -71,7 +71,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 configuration

http://git-wip-us.apache.org/repos/asf/ambari/blob/f72e0bdb/ambari-metrics/ambari-metrics-assembly/pom.xml
--
diff --git a/ambari-metrics/ambari-metrics-assembly/pom.xml 
b/ambari-metrics/ambari-metrics-assembly/pom.xml
index cf7a92d..296d399 100644
--- a/ambari-metrics/ambari-metrics-assembly/pom.xml
+++ b/ambari-metrics/ambari-metrics-assembly/pom.xml
@@ -925,7 +925,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 idrun-heat-collector/id

http://git-wip-us.apache.org/repos/asf/ambari/blob/f72e0bdb/ambari-server/pom.xml
--
diff --git a/ambari-server/pom.xml b/ambari-server/pom.xml
index 18593bd..1e6be0c 100644
--- a/ambari-server/pom.xml
+++ b/ambari-server/pom.xml
@@ -1133,7 +1133,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 configuration
@@ -1358,7 +1358,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 idrun-heat/id


ambari git commit: AMBARI-10287 [WinTP2] Ambari server fails to start in debug mode on Windows

2015-03-30 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk c86d38823 - 27d351459


AMBARI-10287 [WinTP2] Ambari server fails to start in debug mode on Windows

Fixed Java process command line in debug mode.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/27d35145
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/27d35145
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/27d35145

Branch: refs/heads/trunk
Commit: 27d3514595a9858d68f3d8dc491c5fed78469024
Parents: c86d388
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Mar 30 14:23:31 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Mar 30 14:23:31 2015 -0700

--
 ambari-server/src/main/python/ambari_server_main.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/27d35145/ambari-server/src/main/python/ambari_server_main.py
--
diff --git a/ambari-server/src/main/python/ambari_server_main.py 
b/ambari-server/src/main/python/ambari_server_main.py
index 1847f94..902b457 100644
--- a/ambari-server/src/main/python/ambari_server_main.py
+++ b/ambari-server/src/main/python/ambari_server_main.py
@@ -85,7 +85,7 @@ SERVER_START_CMD_DEBUG_WINDOWS = {0}  \
 -XX:+UseConcMarkSweepGC  \
 {1} {2}  \
 -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend={4}  
\
--cp {3} \
+-cp {3}  \
 org.apache.ambari.server.controller.AmbariServer
 
 SERVER_INIT_TIMEOUT = 5



ambari git commit: AMBARI-10286 [WinTP2] Storm service fails to set up

2015-03-30 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk e426e7151 - c86d38823


AMBARI-10286 [WinTP2] Storm service fails to set up

Fixed STORM metrics file structure.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c86d3882
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c86d3882
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c86d3882

Branch: refs/heads/trunk
Commit: c86d38823fd44c8d4e98088e94e98f786f3b7922
Parents: e426e71
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Mar 30 14:19:15 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Mar 30 14:19:15 2015 -0700

--
 .../common-services/STORM/0.9.1.2.1/metrics.json  | 10 --
 1 file changed, 4 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/c86d3882/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/metrics.json
--
diff --git 
a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/metrics.json 
b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/metrics.json
index 3c746f7..21db93b 100644
--- 
a/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/metrics.json
+++ 
b/ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/metrics.json
@@ -416,7 +416,7 @@
 Component: [
   {
 type: ganglia,
-metrics: {
+metrics: {default:{
   metrics/boottime: {
 metric: boottime,
 pointInTime: true,
@@ -597,15 +597,13 @@
 pointInTime: true,
 temporal: true
   }
-
-
-}
+}}
   }
 ],
 HostComponent: [
   {
 type: ganglia,
-metrics: {
+metrics: {default:{
   metrics/boottime: {
 metric: boottime,
 pointInTime: true,
@@ -786,7 +784,7 @@
 pointInTime: true,
 temporal: true
   }
-}
+}}
   }
 ]
   }



ambari git commit: AMBARI-10220 [WinTP2] Automatic db structure populating is broken

2015-03-30 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 4e5e8dc71 - e426e7151


AMBARI-10220 [WinTP2] Automatic db structure populating is broken

Fixed sqlcmd arguments to allow it to return non-zero codes.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e426e715
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e426e715
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e426e715

Branch: refs/heads/trunk
Commit: e426e715137e8d0dd60a47317990498bac2e8150
Parents: 4e5e8dc
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Mar 30 13:47:47 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Mar 30 13:47:47 2015 -0700

--
 .../src/main/python/ambari_server/dbConfiguration_windows.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/e426e715/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
--
diff --git 
a/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py 
b/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
index 027a84f..f34caeb 100644
--- a/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
+++ b/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
@@ -294,8 +294,8 @@ class SQLServerConfig(DBMSConfig):
 pass
 
   @staticmethod
-  def _execute_db_script(databaseHost, databaseScript):
-dbCmd = 'sqlcmd -S {0} -i {1}'.format(databaseHost, databaseScript)
+  def _execute_db_script(databaseHost, databaseScript, 
minReportedSeverityLevel=10):
+dbCmd = 'sqlcmd -S {0} -b -V {1} -i {2}'.format(databaseHost, 
minReportedSeverityLevel, databaseScript)
 retCode, outData, errData = run_os_command(['cmd', '/C', dbCmd])
 if not retCode == 0:
   err = 'Running database create script failed. Error output: {0} Output: 
{1} Exiting.'.format(errData, outData)



ambari git commit: AMBARI-10243 [WinTP2] ambari-web build is incomplete

2015-03-30 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 6af1c2cb0 - 9a1b0eb4e


AMBARI-10243 [WinTP2] ambari-web build is incomplete

Replaced maven-antrun-plugin with exec-maven-plugin. Upgraded to v1.2.1 was 
necessary because v1.2 doesn't process the successCodes tag.
Created Windows scripts with identical functionality for set-ambari-version.sh, 
set-default-stack-version.sh and toggle-experimental.sh.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9a1b0eb4
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9a1b0eb4
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9a1b0eb4

Branch: refs/heads/trunk
Commit: 9a1b0eb4ec0b54381aa5987574bd98cae1c4ee76
Parents: 6af1c2c
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Mar 30 16:02:34 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Mar 30 16:02:34 2015 -0700

--
 ambari-agent/pom.xml   |   4 +-
 ambari-client/python-client/pom.xml|   2 +-
 ambari-metrics/ambari-metrics-assembly/pom.xml |   2 +-
 ambari-server/pom.xml  |   4 +-
 ambari-shell/ambari-python-shell/pom.xml   |   2 +-
 ambari-web/pom.xml | 168 
 ambari-web/set-ambari-version.cmd  |  17 ++
 ambari-web/set-ambari-version.ps1  |  27 
 ambari-web/set-default-stack-version.cmd   |  17 ++
 ambari-web/set-default-stack-version.ps1   |  35 
 ambari-web/toggle-experimental.cmd |  17 ++
 ambari-web/toggle-experimental.ps1 |  27 
 contrib/views/slider/pom.xml   | 133 ++--
 13 files changed, 336 insertions(+), 119 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/9a1b0eb4/ambari-agent/pom.xml
--
diff --git a/ambari-agent/pom.xml b/ambari-agent/pom.xml
index 110a8d5..4476011 100644
--- a/ambari-agent/pom.xml
+++ b/ambari-agent/pom.xml
@@ -113,7 +113,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 configuration
@@ -799,7 +799,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 idrun-heat/id

http://git-wip-us.apache.org/repos/asf/ambari/blob/9a1b0eb4/ambari-client/python-client/pom.xml
--
diff --git a/ambari-client/python-client/pom.xml 
b/ambari-client/python-client/pom.xml
index 3c957ee..73a6825 100644
--- a/ambari-client/python-client/pom.xml
+++ b/ambari-client/python-client/pom.xml
@@ -71,7 +71,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 configuration

http://git-wip-us.apache.org/repos/asf/ambari/blob/9a1b0eb4/ambari-metrics/ambari-metrics-assembly/pom.xml
--
diff --git a/ambari-metrics/ambari-metrics-assembly/pom.xml 
b/ambari-metrics/ambari-metrics-assembly/pom.xml
index cf7a92d..296d399 100644
--- a/ambari-metrics/ambari-metrics-assembly/pom.xml
+++ b/ambari-metrics/ambari-metrics-assembly/pom.xml
@@ -925,7 +925,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 idrun-heat-collector/id

http://git-wip-us.apache.org/repos/asf/ambari/blob/9a1b0eb4/ambari-server/pom.xml
--
diff --git a/ambari-server/pom.xml b/ambari-server/pom.xml
index 18593bd..1e6be0c 100644
--- a/ambari-server/pom.xml
+++ b/ambari-server/pom.xml
@@ -1133,7 +1133,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 configuration
@@ -1358,7 +1358,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2/version
+version1.2.1/version
 executions
   execution
 idrun-heat/id


ambari git commit: Revert AMBARI-10243 [WinTP2] ambari-web build is incomplete

2015-03-30 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 9a1b0eb4e - c37394ad0


Revert AMBARI-10243 [WinTP2] ambari-web build is incomplete

This reverts commit 9a1b0eb4ec0b54381aa5987574bd98cae1c4ee76.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c37394ad
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c37394ad
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c37394ad

Branch: refs/heads/trunk
Commit: c37394ad06526c8eaec826af95282b99aa4ccb9e
Parents: 9a1b0eb
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Mar 30 16:31:14 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Mar 30 16:31:14 2015 -0700

--
 ambari-agent/pom.xml   |   4 +-
 ambari-client/python-client/pom.xml|   2 +-
 ambari-metrics/ambari-metrics-assembly/pom.xml |   2 +-
 ambari-server/pom.xml  |   4 +-
 ambari-shell/ambari-python-shell/pom.xml   |   2 +-
 ambari-web/pom.xml | 168 
 ambari-web/set-ambari-version.cmd  |  17 --
 ambari-web/set-ambari-version.ps1  |  27 
 ambari-web/set-default-stack-version.cmd   |  17 --
 ambari-web/set-default-stack-version.ps1   |  35 
 ambari-web/toggle-experimental.cmd |  17 --
 ambari-web/toggle-experimental.ps1 |  27 
 contrib/views/slider/pom.xml   | 133 ++--
 13 files changed, 119 insertions(+), 336 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/c37394ad/ambari-agent/pom.xml
--
diff --git a/ambari-agent/pom.xml b/ambari-agent/pom.xml
index 4476011..110a8d5 100644
--- a/ambari-agent/pom.xml
+++ b/ambari-agent/pom.xml
@@ -113,7 +113,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2.1/version
+version1.2/version
 executions
   execution
 configuration
@@ -799,7 +799,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2.1/version
+version1.2/version
 executions
   execution
 idrun-heat/id

http://git-wip-us.apache.org/repos/asf/ambari/blob/c37394ad/ambari-client/python-client/pom.xml
--
diff --git a/ambari-client/python-client/pom.xml 
b/ambari-client/python-client/pom.xml
index 73a6825..3c957ee 100644
--- a/ambari-client/python-client/pom.xml
+++ b/ambari-client/python-client/pom.xml
@@ -71,7 +71,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2.1/version
+version1.2/version
 executions
   execution
 configuration

http://git-wip-us.apache.org/repos/asf/ambari/blob/c37394ad/ambari-metrics/ambari-metrics-assembly/pom.xml
--
diff --git a/ambari-metrics/ambari-metrics-assembly/pom.xml 
b/ambari-metrics/ambari-metrics-assembly/pom.xml
index 296d399..cf7a92d 100644
--- a/ambari-metrics/ambari-metrics-assembly/pom.xml
+++ b/ambari-metrics/ambari-metrics-assembly/pom.xml
@@ -925,7 +925,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2.1/version
+version1.2/version
 executions
   execution
 idrun-heat-collector/id

http://git-wip-us.apache.org/repos/asf/ambari/blob/c37394ad/ambari-server/pom.xml
--
diff --git a/ambari-server/pom.xml b/ambari-server/pom.xml
index 1e6be0c..18593bd 100644
--- a/ambari-server/pom.xml
+++ b/ambari-server/pom.xml
@@ -1133,7 +1133,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2.1/version
+version1.2/version
 executions
   execution
 configuration
@@ -1358,7 +1358,7 @@
   plugin
 groupIdorg.codehaus.mojo/groupId
 artifactIdexec-maven-plugin/artifactId
-version1.2.1/version
+version1.2/version
 executions
   execution
 idrun-heat/id

http://git-wip-us.apache.org/repos/asf/ambari/blob/c37394ad/ambari-shell/ambari-python-shell/pom.xml
--
diff --git a/ambari-shell/ambari-python-shell/pom.xml 
b/ambari-shell/ambari-python-shell/pom.xml
index 

ambari git commit: AMBARI-10220 [WinTP2] Automatic db structure populating is broken

2015-03-26 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 5746ee6d9 - 8c5756519


AMBARI-10220 [WinTP2] Automatic db structure populating is broken

Part 1 of 2: Fixed constraint definitions in the SQL Server db creation script.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8c575651
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8c575651
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8c575651

Branch: refs/heads/trunk
Commit: 8c5756519e0fdbb8c9666906017d6efbada2c003
Parents: 5746ee6
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Mar 26 09:26:40 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Mar 26 09:26:40 2015 -0700

--
 ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql | 2 +-
 ambari-server/src/main/resources/Ambari-DDL-SQLServer-DROP.sql   | 4 
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/8c575651/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
--
diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
index 330945c..a722d2a 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@ -162,7 +162,7 @@ ALTER TABLE hostconfigmapping ADD CONSTRAINT 
FK_hostconfmapping_cluster_id FOREI
 ALTER TABLE hostconfigmapping ADD CONSTRAINT FK_hostconfmapping_host_name 
FOREIGN KEY (host_name) REFERENCES hosts (host_name);
 --ALTER TABLE hostconfigmapping ADD CONSTRAINT FK_hostconfmapping_host_id 
FOREIGN KEY (host_id) REFERENCES hosts (id);
 ALTER TABLE configgroup ADD CONSTRAINT FK_configgroup_cluster_id FOREIGN KEY 
(cluster_id) REFERENCES clusters (cluster_id);
-ALTER TABLE confgroupclusterconfigmapping ADD CONSTRAINT FK_confg FOREIGN KEY 
(version_tag, config_type, cluster_id) REFERENCES clusterconfig (version_tag, 
type_name, cluster_id);
+ALTER TABLE confgroupclusterconfigmapping ADD CONSTRAINT FK_confg FOREIGN KEY 
(cluster_id, config_type, version_tag) REFERENCES clusterconfig (cluster_id, 
type_name, version_tag);
 ALTER TABLE confgroupclusterconfigmapping ADD CONSTRAINT FK_cgccm_gid FOREIGN 
KEY (config_group_id) REFERENCES configgroup (group_id);
 ALTER TABLE configgrouphostmapping ADD CONSTRAINT FK_cghm_cgid FOREIGN KEY 
(config_group_id) REFERENCES configgroup (group_id);
 ALTER TABLE configgrouphostmapping ADD CONSTRAINT FK_cghm_hname FOREIGN KEY 
(host_name) REFERENCES hosts (host_name);

http://git-wip-us.apache.org/repos/asf/ambari/blob/8c575651/ambari-server/src/main/resources/Ambari-DDL-SQLServer-DROP.sql
--
diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-DROP.sql 
b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-DROP.sql
index 87029a2..273a477 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-DROP.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-DROP.sql
@@ -99,6 +99,10 @@ IF OBJECT_ID('confgroupclusterconfigmapping', 'U') IS NOT 
NULL DROP TABLE confgr
 GO
 IF OBJECT_ID('configgroup', 'U') IS NOT NULL DROP TABLE configgroup
 GO
+IF OBJECT_ID('kerberos_principal_host', 'U') IS NOT NULL DROP TABLE 
kerberos_principal_host
+GO
+IF OBJECT_ID('kerberos_principal', 'U') IS NOT NULL DROP TABLE 
kerberos_principal
+GO
 IF OBJECT_ID('ambari_sequences', 'U') IS NOT NULL DROP TABLE ambari_sequences
 GO
 IF OBJECT_ID('metainfo', 'U') IS NOT NULL DROP TABLE metainfo



ambari git commit: AMBARI-10149 Agent Automatic Bootstrap: Install and setup Ambari Agent

2015-03-25 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 7f191208e - 65b5b9c28


AMBARI-10149 Agent Automatic Bootstrap: Install and setup Ambari Agent

Implemented setupAgent.py on Windows.
+Downloading the Agent msi from the URL received as parameter
+Installing, configuring  starting the Agent as a Windows service


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/65b5b9c2
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/65b5b9c2
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/65b5b9c2

Branch: refs/heads/trunk
Commit: 65b5b9c287483deb478f6fc2109703b624952dd5
Parents: 7f19120
Author: Florian Barca fba...@hortonworks.com
Authored: Wed Mar 25 10:22:58 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Mar 25 10:22:58 2015 -0700

--
 ambari-agent/conf/windows/service_wrapper.py|  17 +-
 .../main/python/ambari_agent/AmbariConfig.py|  25 ++
 .../src/main/python/ambari_commons/os_linux.py  |   3 +-
 .../src/main/python/ambari_commons/os_utils.py  |   8 +-
 .../main/python/ambari_commons/os_windows.py| 160 +-
 .../libraries/functions/install_hdp_msi.py  |   2 +-
 ambari-server/src/main/python/setupAgent.py | 291 ++-
 ambari-server/src/test/python/TestSetupAgent.py |  28 +-
 8 files changed, 512 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/65b5b9c2/ambari-agent/conf/windows/service_wrapper.py
--
diff --git a/ambari-agent/conf/windows/service_wrapper.py 
b/ambari-agent/conf/windows/service_wrapper.py
index 5eb06c4..5831e11 100644
--- a/ambari-agent/conf/windows/service_wrapper.py
+++ b/ambari-agent/conf/windows/service_wrapper.py
@@ -15,6 +15,7 @@ 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.
 '''
+import ConfigParser
 import os
 import optparse
 import sys
@@ -29,7 +30,7 @@ from ambari_commons.exceptions import *
 from ambari_commons.logging_utils import *
 from ambari_commons.os_windows import WinServiceController
 from ambari_commons.os_utils import find_in_path
-from ambari_agent.AmbariConfig import AmbariConfig
+from ambari_agent.AmbariConfig import AmbariConfig, updateConfigServerHostname
 from ambari_agent.HeartbeatHandlers import HeartbeatStopHandlers
 
 AMBARI_VERSION_VAR = AMBARI_VERSION_VAR
@@ -120,10 +121,17 @@ def ctrlHandler(ctrlType):
   return True
 
 
-def svcsetup():
+#
+# Configures the Ambari Agent settings and registers the Windows service.
+#
+def setup(options):
+  config = AmbariConfig()
+  configFile = config.getConfigFile()
+
+  updateConfigServerHostname(configFile, options.host_name)
+
   AmbariAgentService.set_ctrl_c_handler(ctrlHandler)
   AmbariAgentService.Install()
-  pass
 
 
 #
@@ -210,8 +218,7 @@ def agent_main():
   options.exit_message = Ambari Agent '%s' completed successfully. % action
   try:
 if action == SETUP_ACTION:
-  #TODO Insert setup(options) here upon need
-  svcsetup()
+  setup(options)
 elif action == START_ACTION:
   svcstart(options)
 elif action == DEBUG_ACTION:

http://git-wip-us.apache.org/repos/asf/ambari/blob/65b5b9c2/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py 
b/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
index 8975729..05af243 100644
--- a/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
+++ b/ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
@@ -23,6 +23,10 @@ import StringIO
 import json
 from NetUtil import NetUtil
 import os
+
+from ambari_commons import OSConst
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
+
 content = 
 
 [server]
@@ -173,6 +177,15 @@ class AmbariConfig:
 return self.config
 
   @staticmethod
+  @OsFamilyFuncImpl(OSConst.WINSRV_FAMILY)
+  def getConfigFile():
+if 'AMBARI_AGENT_CONF_DIR' in os.environ:
+  return os.path.join(os.environ['AMBARI_AGENT_CONF_DIR'], 
ambari-agent.ini)
+else:
+  return ambari-agent.ini
+
+  @staticmethod
+  @OsFamilyFuncImpl(OsFamilyImpl.DEFAULT)
   def getConfigFile():
 if 'AMBARI_AGENT_CONF_DIR' in os.environ:
   return os.path.join(os.environ['AMBARI_AGENT_CONF_DIR'], 
ambari-agent.ini)
@@ -232,6 +245,18 @@ class AmbariConfig:
   return False
 
 
+def updateConfigServerHostname(configFile, new_host):
+  # update agent config file
+  agent_config = ConfigParser.ConfigParser()
+  agent_config.read(configFile)
+  server_host = agent_config.get('server', 'hostname')
+  if new_host is not None and server_host != 

ambari git commit: AMBARI-10069 Lagging child processes block the Agent execution queue

2015-03-18 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 7d4fdd9be - 21602caf6


AMBARI-10069 Lagging child processes block the Agent execution queue

Fixed Windows-specific process kill arguments. Refactored OS-specific routine 
dispatch. Updated unit tests.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/21602caf
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/21602caf
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/21602caf

Branch: refs/heads/trunk
Commit: 21602caf64cfc88381de882b4ed566711342ab22
Parents: 7d4fdd9
Author: Florian Barca fba...@hortonworks.com
Authored: Wed Mar 18 09:27:26 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Mar 18 09:27:26 2015 -0700

--
 .../test/python/ambari_agent/TestStatusCheck.py | 19 +--
 .../src/main/python/ambari_commons/shell.py | 53 ++--
 .../HIVE/0.12.0.2.0/metainfo.xml|  2 +-
 3 files changed, 43 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/21602caf/ambari-agent/src/test/python/ambari_agent/TestStatusCheck.py
--
diff --git a/ambari-agent/src/test/python/ambari_agent/TestStatusCheck.py 
b/ambari-agent/src/test/python/ambari_agent/TestStatusCheck.py
index a872e7f..32be4a8 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestStatusCheck.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestStatusCheck.py
@@ -21,11 +21,19 @@ import string
 import random
 import os
 from unittest import TestCase
+from ambari_commons import OSCheck
 from ambari_agent.StatusCheck import StatusCheck
-import AmbariConfig
 import logging
-from mock.mock import patch, Mock
 
+from mock.mock import patch
+from mock.mock import MagicMock
+
+from only_for_platform import only_for_platform, get_platform, PLATFORM_LINUX, 
PLATFORM_WINDOWS
+
+if get_platform() != PLATFORM_WINDOWS:
+  os_distro_value = ('Suse','11','Final')
+else:
+  os_distro_value = ('win2012serverr2','6.3','WindowsServer')
 
 USERNAME_LENGTH=10
 USERNAME_CHARS=string.ascii_uppercase +string.ascii_lowercase + string.digits 
+ '-_'
@@ -81,6 +89,7 @@ class TestStatusCheck(TestCase):
 
 
   # Ensure that status checker return True for running process
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch.object(StatusCheck, 'getIsLive')
   def test_live(self, get_is_live_mock):
 
@@ -96,7 +105,8 @@ class TestStatusCheck(TestCase):
 
 status = statusCheck.getStatus(COMPONENT_LIVE)
 self.assertEqual(status, True)
-
+
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch.object(logger, 'info')
   def test_dont_relog_serToPidDict(self, logger_info_mock):
 TestStatusCheck.timesLogged = 0
@@ -119,6 +129,7 @@ class TestStatusCheck(TestCase):
 
   # Ensure that status checker return True for running process even if multiple
   # pids for a service component exist
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch.object(StatusCheck, 'getIsLive')
   def test_live_if_multiple_pids(self, get_is_live_mock):
 
@@ -141,6 +152,7 @@ class TestStatusCheck(TestCase):
 
   # Ensure that status checker prints error message if there is no linux user
   # for service, which pid depends on user
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch.object(StatusCheck, 'getIsLive')
   @patch.object(logger, error)
   def test_no_user_mapping(self, error_mock, get_is_live_mock):
@@ -160,6 +172,7 @@ class TestStatusCheck(TestCase):
 self.assertTrue(error_mock.called)
 
   # Ensure that status checker return False for dead process
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch.object(StatusCheck, 'getIsLive')
   def test_dead(self, get_is_live_mock):
 statusCheck = StatusCheck(self.serviceToPidDict, self.pidPathVars,

http://git-wip-us.apache.org/repos/asf/ambari/blob/21602caf/ambari-common/src/main/python/ambari_commons/shell.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/shell.py 
b/ambari-common/src/main/python/ambari_commons/shell.py
index 42b60f9..4531cf9 100644
--- a/ambari-common/src/main/python/ambari_commons/shell.py
+++ b/ambari-common/src/main/python/ambari_commons/shell.py
@@ -30,11 +30,8 @@ import traceback
 import pprint
 import platform
 
-if platform.system() != Windows:
-  try:
-import pwd
-  except ImportError:
-import winpwd as pwd
+from ambari_commons import OSConst
+from ambari_commons.os_family_impl import OsFamilyImpl, OsFamilyFuncImpl
 
 logger = 

ambari git commit: AMBARI-10061 Alert Failures on Windows (echekanskiy via fbarca)

2015-03-17 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk de3667a21 - 80afc9f02


AMBARI-10061 Alert Failures on Windows (echekanskiy via fbarca)

Alerts for oozie, storm and ams are broken on windows os.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/80afc9f0
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/80afc9f0
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/80afc9f0

Branch: refs/heads/trunk
Commit: 80afc9f027244eb17cd32c778f47e0bfd2398bf0
Parents: de3667a
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Mar 17 03:25:57 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Mar 17 03:25:57 2015 -0700

--
 .../alerts/alert_ambari_metrics_monitor.py  |  18 ++
 .../configuration/falcon-startup.properties.xml |  26 ---
 .../package/alerts/alert_check_oozie_server.py  | 105 ++-
 .../HDPWIN/2.1/services/STORM/alerts.json   | 174 +++
 .../package/alerts/check_supervisor_process.py  |  49 ++
 5 files changed, 304 insertions(+), 68 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/80afc9f0/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/alerts/alert_ambari_metrics_monitor.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/alerts/alert_ambari_metrics_monitor.py
 
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/alerts/alert_ambari_metrics_monitor.py
index 3e87e25..04a2e01 100644
--- 
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/alerts/alert_ambari_metrics_monitor.py
+++ 
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/alerts/alert_ambari_metrics_monitor.py
@@ -23,7 +23,11 @@ import socket
 
 from resource_management.libraries.functions.check_process_status import 
check_process_status
 from resource_management.core.exceptions import ComponentIsNotRunning
+from ambari_commons import OSCheck, OSConst
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
 
+if OSCheck.is_windows_family():
+  from resource_management.libraries.functions.windows_service_utils import 
check_windows_service_status
 RESULT_CODE_OK = 'OK'
 RESULT_CODE_CRITICAL = 'CRITICAL'
 RESULT_CODE_UNKNOWN = 'UNKNOWN'
@@ -37,7 +41,21 @@ def get_tokens():
   
   return (AMS_MONITOR_PID_DIR,)
 
+@OsFamilyFuncImpl(OSConst.WINSRV_FAMILY)
+def is_monitor_process_live(pid_file=None):
+  
+  Gets whether the Metrics Monitor Service is running.
+  :param pid_file: ignored
+  :return: True if the monitor is running, False otherwise
+  
+  try:
+check_windows_service_status(AmbariMetricsHostMonitoring)
+ams_monitor_process_running = True
+  except:
+ams_monitor_process_running = False
+  return ams_monitor_process_running
 
+@OsFamilyFuncImpl(OsFamilyImpl.DEFAULT)
 def is_monitor_process_live(pid_file):
   
   Gets whether the Metrics Monitor represented by the specified file is 
running.

http://git-wip-us.apache.org/repos/asf/ambari/blob/80afc9f0/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/configuration/falcon-startup.properties.xml
--
diff --git 
a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/configuration/falcon-startup.properties.xml
 
b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/configuration/falcon-startup.properties.xml
index 252fed4..6a35c17 100644
--- 
a/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/configuration/falcon-startup.properties.xml
+++ 
b/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/configuration/falcon-startup.properties.xml
@@ -183,30 +183,4 @@
 valueDEFAULT/value
 descriptionThe kerberos names rules is to resolve kerberos principal 
names, refer to Hadoop's KerberosName for more details./description
   /property
-  !--kerberos params, must be set during security enabling--
-  property
-name*.falcon.service.authentication.kerberos.principal/name
-valuefalcon/_h...@example.com/value
-description/description
-  /property
-  property
-name*.falcon.service.authentication.kerberos.keytab/name
-value/etc/security/keytabs/falcon.service.keytab/value
-description/description
-  /property
-  property
-name*.dfs.namenode.kerberos.principal/name
-valuenn/_h...@example.com/value
-descriptionname node principal to talk to config store/description
-  /property
-  property
-name*.falcon.http.authentication.kerberos.principal/name
-valueHTTP/_h...@example.com/value
-descriptionIndicates the Kerberos principal to be used for HTTP 
endpoint

ambari git commit: AMBARI-9525 Enable refresh-stack-hash command on windows

2015-03-12 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 4530322bd - 190bd0b04


AMBARI-9525 Enable refresh-stack-hash command on windows

Added the refresh-stask-hash command to the main script and to the batch file. 
Fixed stacks directory retrieval. Fixed resources directory retrieval 
inconsistencies. Updated unit tests.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/190bd0b0
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/190bd0b0
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/190bd0b0

Branch: refs/heads/trunk
Commit: 190bd0b0433923fa0db9c9d91900aa0d5f59a18b
Parents: 4530322
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Mar 12 10:37:43 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Mar 12 10:37:43 2015 -0700

--
 .../src/main/python/ambari_commons/os_check.py  | 15 ++-
 ambari-server/src/main/python/ambari-server.py  |  3 +-
 .../python/ambari_server/dbConfiguration.py | 14 +--
 .../ambari_server/dbConfiguration_linux.py  | 11 +--
 .../python/ambari_server/resourceFilesKeeper.py | 96 ++--
 .../python/ambari_server/serverConfiguration.py | 21 -
 .../main/python/ambari_server/serverSetup.py| 57 +---
 .../main/python/ambari_server/serverUtils.py|  9 +-
 .../src/main/python/ambari_server_main.py   | 14 +--
 .../src/main/windows/ambari-server.ps1  | 10 +-
 .../src/test/python/TestAmbariServer.py | 71 +++
 ambari-server/src/test/python/TestOSCheck.py| 12 +--
 .../src/test/python/TestResourceFilesKeeper.py  | 32 ---
 .../python/host_scripts/TestAlertDiskSpace.py   |  9 ++
 14 files changed, 213 insertions(+), 161 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/190bd0b0/ambari-common/src/main/python/ambari_commons/os_check.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/os_check.py 
b/ambari-common/src/main/python/ambari_commons/os_check.py
index 39d8202..4e93feb 100644
--- a/ambari-common/src/main/python/ambari_commons/os_check.py
+++ b/ambari-common/src/main/python/ambari_commons/os_check.py
@@ -70,6 +70,17 @@ VER_NT_WORKSTATION = 1
 VER_NT_DOMAIN_CONTROLLER = 2
 VER_NT_SERVER = 3
 
+# Linux specific releases, caching them since they are execution invariants
+_IS_ORACLE_LINUX = os.path.exists('/etc/oracle-release')
+_IS_REDHAT_LINUX = os.path.exists('/etc/redhat-release')
+
+def _is_oracle_linux():
+  return _IS_ORACLE_LINUX
+
+def _is_redhat_linux():
+  return _IS_REDHAT_LINUX
+
+
 class OS_CONST_TYPE(type):
 
   # Declare here os type mapping
@@ -148,7 +159,7 @@ class OSCheck:
 
   if PYTHON_VER  26:
 distribution = platform.dist()
-  elif os.path.exists('/etc/redhat-release'):
+  elif _is_redhat_linux():
 distribution = platform.dist()
   else:
 distribution = platform.linux_distribution()
@@ -171,7 +182,7 @@ class OSCheck:
 operatingSystem = dist[0].lower()
 
 # special cases
-if os.path.exists('/etc/oracle-release'):
+if _is_oracle_linux():
   return 'oraclelinux'
 elif operatingSystem.startswith('suse linux enterprise server'):
   return 'sles'

http://git-wip-us.apache.org/repos/asf/ambari/blob/190bd0b0/ambari-server/src/main/python/ambari-server.py
--
diff --git a/ambari-server/src/main/python/ambari-server.py 
b/ambari-server/src/main/python/ambari-server.py
index 22ab70f..9114abe 100755
--- a/ambari-server/src/main/python/ambari-server.py
+++ b/ambari-server/src/main/python/ambari-server.py
@@ -307,7 +307,7 @@ def init_parser_options(parser):
 
 @OsFamilyFuncImpl(OsFamilyImpl.DEFAULT)
 def init_parser_options(parser):
-  optparse.Option('-f', '--init-script-file',
+  parser.add_option('-f', '--init-script-file',
 default='/var/lib/ambari-server/'
 
'resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql',
 help=File with setup script)
@@ -484,6 +484,7 @@ def create_user_action_map(args, options):
 UPGRADE_ACTION: UserAction(upgrade, options),
 LDAP_SETUP_ACTION: UserAction(setup_ldap),
 SETUP_SECURITY_ACTION: UserActionRestart(setup_security, options),
+REFRESH_STACK_HASH_ACTION: UserAction(refresh_stack_hash_action),
   }
   return action_map
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/190bd0b0/ambari-server/src/main/python/ambari_server/dbConfiguration.py
--
diff --git a/ambari-server/src/main/python/ambari_server/dbConfiguration.py 
b/ambari-server/src/main/python/ambari_server/dbConfiguration.py
index 9962a5d..2913e3f 100644
--- 

ambari git commit: AMBARI-9505 Hive service with HDPWIN 2.2 fails to start

2015-03-11 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk da3a88f2c - 04f54294e


AMBARI-9505 Hive service with HDPWIN 2.2 fails to start

Copying the SQL Server JDBC driver into the hadoop shared lib directory.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/04f54294
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/04f54294
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/04f54294

Branch: refs/heads/trunk
Commit: 04f54294eb182c719c2998c67b9865d3e0b3fc9c
Parents: da3a88f
Author: Florian Barca fba...@hortonworks.com
Authored: Wed Mar 11 16:09:45 2015 -0700
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Mar 11 16:09:45 2015 -0700

--
 .../libraries/functions/__init__.py |  1 +
 .../libraries/functions/install_jdbc_driver.py  | 48 
 .../2.1/hooks/after-INSTALL/scripts/hook.py | 11 -
 3 files changed, 58 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/04f54294/ambari-common/src/main/python/resource_management/libraries/functions/__init__.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/__init__.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/__init__.py
index f6db722..e55a2cf 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/__init__.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/__init__.py
@@ -43,4 +43,5 @@ IS_WINDOWS = platform.system() == Windows
 if IS_WINDOWS:
   from resource_management.libraries.functions.windows_service_utils import *
   from resource_management.libraries.functions.install_hdp_msi import *
+  from resource_management.libraries.functions.install_jdbc_driver import *
   from resource_management.libraries.functions.reload_windows_env import *

http://git-wip-us.apache.org/repos/asf/ambari/blob/04f54294/ambari-common/src/main/python/resource_management/libraries/functions/install_jdbc_driver.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/install_jdbc_driver.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_jdbc_driver.py
new file mode 100644
index 000..be77cfd
--- /dev/null
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_jdbc_driver.py
@@ -0,0 +1,48 @@
+
+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
+
+from ambari_commons.inet_utils import download_file
+from ambari_commons.os_utils import copy_file, search_file
+from resource_management.core.logger import Logger
+
+
+__all__ = [ensure_jdbc_driver_is_in_classpath]
+
+
+def ensure_jdbc_driver_is_in_classpath(dest_dir, cache_location, driver_url, 
driver_files):
+  #Attempt to find the JDBC driver installed locally
+  #If not, attempt to download it from the server resources URL
+  for driver_file in driver_files:
+dest_path = os.path.join(dest_dir, driver_file)
+Logger.info(JDBC driver file(s) {0}: Attempting to copy from {1} or 
download from {2} to {3}.format(
+  str(driver_files), cache_location, driver_url, dest_dir))
+if not os.path.exists(dest_path):
+  search_path = os.environ[PATH]
+  if cache_location:
+search_path += os.pathsep + cache_location  #The locally installed 
version takes precedence over the cache
+
+  local_path = search_file(driver_file, search_path)
+  if not local_path:
+download_file(driver_url + / + driver_file, dest_path)
+  else:
+copy_file(local_path, dest_path)

http://git-wip-us.apache.org/repos/asf/ambari/blob/04f54294/ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/after-INSTALL/scripts/hook.py
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.1/hooks/after-INSTALL/scripts/hook.py
 

[1/2] ambari git commit: AMBARI-9953 Ambari Metrics monitor restart failed with error JAVA_HOME is not set

2015-03-06 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/branch-2.0.0 3432564fa - d6b0fff63
  refs/heads/trunk 31a497f45 - ee6754a72


AMBARI-9953 Ambari Metrics monitor restart failed with error JAVA_HOME is not 
set

Ensure config() gets called on restart(), when this one is invoked before 
start().


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ee6754a7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ee6754a7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ee6754a7

Branch: refs/heads/trunk
Commit: ee6754a7258e6ed43df8bda86506cceaba410989
Parents: 31a497f
Author: Florian Barca fba...@hortonworks.com
Authored: Fri Mar 6 09:24:11 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri Mar 6 09:24:11 2015 -0800

--
 .../AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/ee6754a7/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py
 
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py
index a5cb74c..6ffe0e6 100644
--- 
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py
+++ 
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/metrics_collector.py
@@ -51,6 +51,9 @@ class AmsCollector(Script):
 import params
 env.set_params(params)
 
+# Sometimes, stop() may be called before start(), in case restart() is 
initiated right after installation
+self.configure(env) # for security
+
 ams_service( 'collector', action = 'stop')
 
   def status(self, env):



ambari git commit: AMBARI-9912 Config validation error while trying to install a 3 node cluster on Ubuntu

2015-03-03 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/branch-2.0.0 f65f17e44 - 66f8ecbef


AMBARI-9912 Config validation error while trying to install a 3 node cluster on 
Ubuntu

Fixed shell script shebang line. Fixed OS-dependent disk capacity retrieval 
routines. Normalized imports.

No new/updated unit tests needed. The existing unit tests provide the necessary 
coverage.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/66f8ecbe
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/66f8ecbe
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/66f8ecbe

Branch: refs/heads/branch-2.0.0
Commit: 66f8ecbefbff68e9cfe811fe08a8c4bcaab2a7e4
Parents: f65f17e
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Mar 3 17:15:21 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Mar 3 17:15:21 2015 -0800

--
 ambari-agent/conf/unix/ambari-sudo.sh   |  2 +-
 .../src/main/python/ambari_agent/Controller.py  | 18 +++
 .../src/main/python/ambari_agent/Hardware.py| 14 
 .../src/main/python/ambari_agent/Heartbeat.py   | 24 ++--
 .../stacks/HDP/2.0.6/services/stack_advisor.py  |  3 +++
 5 files changed, 35 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/66f8ecbe/ambari-agent/conf/unix/ambari-sudo.sh
--
diff --git a/ambari-agent/conf/unix/ambari-sudo.sh 
b/ambari-agent/conf/unix/ambari-sudo.sh
index 0909594..80761c5 100755
--- a/ambari-agent/conf/unix/ambari-sudo.sh
+++ b/ambari-agent/conf/unix/ambari-sudo.sh
@@ -1,4 +1,4 @@
-#/bin/bash
+#!/bin/bash
 # 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.

http://git-wip-us.apache.org/repos/asf/ambari/blob/66f8ecbe/ambari-agent/src/main/python/ambari_agent/Controller.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/Controller.py 
b/ambari-agent/src/main/python/ambari_agent/Controller.py
index bd961c1..6a4ecde 100644
--- a/ambari-agent/src/main/python/ambari_agent/Controller.py
+++ b/ambari-agent/src/main/python/ambari_agent/Controller.py
@@ -36,15 +36,15 @@ import security
 import ssl
 import AmbariConfig
 
-from Heartbeat import Heartbeat
-from Register import Register
-from ActionQueue import ActionQueue
-from FileCache import FileCache
-from NetUtil import NetUtil
-from LiveStatus import LiveStatus
-from AlertSchedulerHandler import AlertSchedulerHandler
-from ClusterConfiguration import  ClusterConfiguration
-from HeartbeatHandlers import HeartbeatStopHandlers, bind_signal_handlers
+from ambari_agent.Heartbeat import Heartbeat
+from ambari_agent.Register import Register
+from ambari_agent.ActionQueue import ActionQueue
+from ambari_agent.FileCache import FileCache
+from ambari_agent.NetUtil import NetUtil
+from ambari_agent.LiveStatus import LiveStatus
+from ambari_agent.AlertSchedulerHandler import AlertSchedulerHandler
+from ambari_agent.ClusterConfiguration import  ClusterConfiguration
+from ambari_agent.HeartbeatHandlers import HeartbeatStopHandlers, 
bind_signal_handlers
 
 logger = logging.getLogger()
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/66f8ecbe/ambari-agent/src/main/python/ambari_agent/Hardware.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/Hardware.py 
b/ambari-agent/src/main/python/ambari_agent/Hardware.py
index 54276af..5fbe2f8 100644
--- a/ambari-agent/src/main/python/ambari_agent/Hardware.py
+++ b/ambari-agent/src/main/python/ambari_agent/Hardware.py
@@ -26,6 +26,7 @@ from ambari_commons.constants import AMBARI_SUDO_BINARY
 from ambari_commons.shell import shellRunner
 from Facter import Facter
 from ambari_commons.os_check import OSConst, OSCheck
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
 logger = logging.getLogger()
 
 class Hardware:
@@ -34,7 +35,7 @@ class Hardware:
 
   def __init__(self):
 self.hardware = {}
-osdisks = self.osdisks()
+osdisks = Hardware.osdisks()
 self.hardware['mounts'] = osdisks
 otherInfo = Facter().facterInfo()
 self.hardware.update(otherInfo)
@@ -62,14 +63,8 @@ class Hardware:
   return None
 
   @staticmethod
+  @OsFamilyFuncImpl(OsFamilyImpl.DEFAULT)
   def osdisks():
-if OSCheck.get_os_family() == OSConst.WINSRV_FAMILY:
-  return Hardware._osdisks_win()
-else:
-  return Hardware._osdisks_linux()
-
-  @staticmethod
-  def _osdisks_linux():
  Run df to find out the disks on the host. Only works on linux
 platforms. Note 

ambari git commit: AMBARI-9912 Config validation error while trying to install a 3 node cluster on Ubuntu

2015-03-03 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 3dc44a429 - 63bf08e09


AMBARI-9912 Config validation error while trying to install a 3 node cluster on 
Ubuntu

Fixed shell script shebang line. Fixed OS-dependent disk capacity retrieval 
routines. Normalized imports.

No new/updated unit tests needed. The existing unit tests provide the necessary 
coverage.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/63bf08e0
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/63bf08e0
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/63bf08e0

Branch: refs/heads/trunk
Commit: 63bf08e09bd3827a6baa86a86d6ac2caf9d41d19
Parents: 3dc44a4
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Mar 3 17:14:39 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Mar 3 17:14:39 2015 -0800

--
 ambari-agent/conf/unix/ambari-sudo.sh   |  2 +-
 .../src/main/python/ambari_agent/Controller.py  | 18 +++
 .../src/main/python/ambari_agent/Hardware.py| 14 
 .../src/main/python/ambari_agent/Heartbeat.py   | 24 ++--
 .../stacks/HDP/2.0.6/services/stack_advisor.py  |  3 +++
 5 files changed, 35 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/63bf08e0/ambari-agent/conf/unix/ambari-sudo.sh
--
diff --git a/ambari-agent/conf/unix/ambari-sudo.sh 
b/ambari-agent/conf/unix/ambari-sudo.sh
index 0909594..80761c5 100755
--- a/ambari-agent/conf/unix/ambari-sudo.sh
+++ b/ambari-agent/conf/unix/ambari-sudo.sh
@@ -1,4 +1,4 @@
-#/bin/bash
+#!/bin/bash
 # 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.

http://git-wip-us.apache.org/repos/asf/ambari/blob/63bf08e0/ambari-agent/src/main/python/ambari_agent/Controller.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/Controller.py 
b/ambari-agent/src/main/python/ambari_agent/Controller.py
index bd961c1..6a4ecde 100644
--- a/ambari-agent/src/main/python/ambari_agent/Controller.py
+++ b/ambari-agent/src/main/python/ambari_agent/Controller.py
@@ -36,15 +36,15 @@ import security
 import ssl
 import AmbariConfig
 
-from Heartbeat import Heartbeat
-from Register import Register
-from ActionQueue import ActionQueue
-from FileCache import FileCache
-from NetUtil import NetUtil
-from LiveStatus import LiveStatus
-from AlertSchedulerHandler import AlertSchedulerHandler
-from ClusterConfiguration import  ClusterConfiguration
-from HeartbeatHandlers import HeartbeatStopHandlers, bind_signal_handlers
+from ambari_agent.Heartbeat import Heartbeat
+from ambari_agent.Register import Register
+from ambari_agent.ActionQueue import ActionQueue
+from ambari_agent.FileCache import FileCache
+from ambari_agent.NetUtil import NetUtil
+from ambari_agent.LiveStatus import LiveStatus
+from ambari_agent.AlertSchedulerHandler import AlertSchedulerHandler
+from ambari_agent.ClusterConfiguration import  ClusterConfiguration
+from ambari_agent.HeartbeatHandlers import HeartbeatStopHandlers, 
bind_signal_handlers
 
 logger = logging.getLogger()
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/63bf08e0/ambari-agent/src/main/python/ambari_agent/Hardware.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/Hardware.py 
b/ambari-agent/src/main/python/ambari_agent/Hardware.py
index 54276af..5fbe2f8 100644
--- a/ambari-agent/src/main/python/ambari_agent/Hardware.py
+++ b/ambari-agent/src/main/python/ambari_agent/Hardware.py
@@ -26,6 +26,7 @@ from ambari_commons.constants import AMBARI_SUDO_BINARY
 from ambari_commons.shell import shellRunner
 from Facter import Facter
 from ambari_commons.os_check import OSConst, OSCheck
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
 logger = logging.getLogger()
 
 class Hardware:
@@ -34,7 +35,7 @@ class Hardware:
 
   def __init__(self):
 self.hardware = {}
-osdisks = self.osdisks()
+osdisks = Hardware.osdisks()
 self.hardware['mounts'] = osdisks
 otherInfo = Facter().facterInfo()
 self.hardware.update(otherInfo)
@@ -62,14 +63,8 @@ class Hardware:
   return None
 
   @staticmethod
+  @OsFamilyFuncImpl(OsFamilyImpl.DEFAULT)
   def osdisks():
-if OSCheck.get_os_family() == OSConst.WINSRV_FAMILY:
-  return Hardware._osdisks_win()
-else:
-  return Hardware._osdisks_linux()
-
-  @staticmethod
-  def _osdisks_linux():
  Run df to find out the disks on the host. Only works on linux
 platforms. Note that this parser 

ambari git commit: AMBARI-9913 Ambari Agent failed start blocks all future bootstrap attempts

2015-03-03 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 63bf08e09 - 99cc49b78


AMBARI-9913 Ambari Agent failed start blocks all future bootstrap attempts

Saving the PID only on successful start, after ensuring that the current 
instance is the only one running locally.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/99cc49b7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/99cc49b7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/99cc49b7

Branch: refs/heads/trunk
Commit: 99cc49b784e0abeb754b20e0ea6d24ed7c6d6f3b
Parents: 63bf08e
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Mar 3 17:54:11 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Mar 3 17:54:11 2015 -0800

--
 ambari-agent/src/main/python/ambari_agent/main.py| 8 +---
 .../ambari-metrics-host-monitoring/src/main/python/main.py   | 4 ++--
 2 files changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/99cc49b7/ambari-agent/src/main/python/ambari_agent/main.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/main.py 
b/ambari-agent/src/main/python/ambari_agent/main.py
index 33c1bc8..ebf0781 100644
--- a/ambari-agent/src/main/python/ambari_agent/main.py
+++ b/ambari-agent/src/main/python/ambari_agent/main.py
@@ -233,11 +233,10 @@ def main(heartbeat_stop_callback=None):
 
   perform_prestart_checks(expected_hostname)
 
-  if not OSCheck.get_os_family() == OSConst.WINSRV_FAMILY:
-daemonize()
-
   # Starting ping port listener
   try:
+#This acts as a single process machine-wide lock (albeit incomplete, since
+# we still need an extra file to track the Agent PID)
 ping_port_listener = PingPortListener(config)
   except Exception as ex:
 err_message = Failed to start ping port listener of:  + str(ex)
@@ -251,6 +250,9 @@ def main(heartbeat_stop_callback=None):
   server_hostname = config.get('server', 'hostname')
   server_url = config.get_api_url()
 
+  if not OSCheck.get_os_family() == OSConst.WINSRV_FAMILY:
+daemonize()
+
   try:
 server_ip = socket.gethostbyname(server_hostname)
 logger.info('Connecting to Ambari server at %s (%s)', server_url, 
server_ip)

http://git-wip-us.apache.org/repos/asf/ambari/blob/99cc49b7/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/main.py
--
diff --git 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/main.py 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/main.py
index ce8ffc6..d218015 100644
--- a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/main.py
+++ b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/main.py
@@ -58,8 +58,6 @@ def server_process_main(stop_handler, scmStatus=None):
   if scmStatus is not None:
 scmStatus.reportStartPending()
 
-  save_pid(os.getpid(), PID_OUT_FILE)
-
   config = Configuration()
   _init_logging(config)
   controller = Controller(config, stop_handler)
@@ -70,6 +68,8 @@ def server_process_main(stop_handler, scmStatus=None):
   print Server out at:  + SERVER_OUT_FILE
   print Server log at:  + SERVER_LOG_FILE
 
+  save_pid(os.getpid(), PID_OUT_FILE)
+
   if scmStatus is not None:
 scmStatus.reportStarted()
 



ambari git commit: AMBARI-9913 Ambari Agent failed start blocks all future bootstrap attempts

2015-03-03 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/branch-2.0.0 66f8ecbef - 6df638843


AMBARI-9913 Ambari Agent failed start blocks all future bootstrap attempts

Saving the PID only on successful start, after ensuring that the current 
instance is the only one running locally.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/6df63884
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/6df63884
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/6df63884

Branch: refs/heads/branch-2.0.0
Commit: 6df6388430c4864b89646745e11d6ca3854bb074
Parents: 66f8ecb
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Mar 3 17:55:01 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Mar 3 17:55:01 2015 -0800

--
 ambari-agent/src/main/python/ambari_agent/main.py| 8 +---
 .../ambari-metrics-host-monitoring/src/main/python/main.py   | 4 ++--
 2 files changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/6df63884/ambari-agent/src/main/python/ambari_agent/main.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/main.py 
b/ambari-agent/src/main/python/ambari_agent/main.py
index 33c1bc8..ebf0781 100644
--- a/ambari-agent/src/main/python/ambari_agent/main.py
+++ b/ambari-agent/src/main/python/ambari_agent/main.py
@@ -233,11 +233,10 @@ def main(heartbeat_stop_callback=None):
 
   perform_prestart_checks(expected_hostname)
 
-  if not OSCheck.get_os_family() == OSConst.WINSRV_FAMILY:
-daemonize()
-
   # Starting ping port listener
   try:
+#This acts as a single process machine-wide lock (albeit incomplete, since
+# we still need an extra file to track the Agent PID)
 ping_port_listener = PingPortListener(config)
   except Exception as ex:
 err_message = Failed to start ping port listener of:  + str(ex)
@@ -251,6 +250,9 @@ def main(heartbeat_stop_callback=None):
   server_hostname = config.get('server', 'hostname')
   server_url = config.get_api_url()
 
+  if not OSCheck.get_os_family() == OSConst.WINSRV_FAMILY:
+daemonize()
+
   try:
 server_ip = socket.gethostbyname(server_hostname)
 logger.info('Connecting to Ambari server at %s (%s)', server_url, 
server_ip)

http://git-wip-us.apache.org/repos/asf/ambari/blob/6df63884/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/main.py
--
diff --git 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/main.py 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/main.py
index ce8ffc6..d218015 100644
--- a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/main.py
+++ b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/main.py
@@ -58,8 +58,6 @@ def server_process_main(stop_handler, scmStatus=None):
   if scmStatus is not None:
 scmStatus.reportStartPending()
 
-  save_pid(os.getpid(), PID_OUT_FILE)
-
   config = Configuration()
   _init_logging(config)
   controller = Controller(config, stop_handler)
@@ -70,6 +68,8 @@ def server_process_main(stop_handler, scmStatus=None):
   print Server out at:  + SERVER_OUT_FILE
   print Server log at:  + SERVER_LOG_FILE
 
+  save_pid(os.getpid(), PID_OUT_FILE)
+
   if scmStatus is not None:
 scmStatus.reportStarted()
 



ambari git commit: AMBARI-8994 AMS : Yarn service - RPC metrics returns duplicate array elements.

2015-02-27 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 812656756 - b1dccde13


AMBARI-8994 AMS : Yarn service - RPC metrics returns duplicate array elements.

Implemented proper downsampling algorithm. Fixed test data to reflect real 
production scenarios.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b1dccde1
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b1dccde1
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b1dccde1

Branch: refs/heads/trunk
Commit: b1dccde13efabd2c06575d76cd02f05e60366893
Parents: 8126567
Author: Florian Barca fba...@hortonworks.com
Authored: Fri Feb 27 16:10:22 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri Feb 27 16:14:04 2015 -0800

--
 .../internal/AbstractPropertyProvider.java  |  36 +-
 .../metrics/MetricReportingAdapter.java |  34 ++
 .../metrics/MetricsDataTransferMethod.java  |  22 ++
 .../MetricsDataTransferMethodFactory.java   |  66 
 .../metrics/MetricsDownsamplingMethod.java  |  24 ++
 .../MetricsDownsamplingMethodFactory.java   | 114 ++
 .../timeline/AMSPropertyProviderTest.java   |   4 +-
 .../resources/ams/multiple_host_metrics.json| 395 ++-
 .../test/resources/ams/single_host_metric.json  | 223 +--
 9 files changed, 576 insertions(+), 342 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/b1dccde1/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
--
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
index abd242e..3d88dda 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
@@ -31,10 +31,10 @@ import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.ambari.server.controller.metrics.MetricReportingAdapter;
 import org.apache.ambari.server.controller.spi.PropertyProvider;
 import org.apache.ambari.server.controller.utilities.PropertyHelper;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
-import org.apache.http.client.utils.URIBuilder;
 
 /**
  *  Abstract property provider implementation.
@@ -69,20 +69,8 @@ public abstract class AbstractPropertyProvider extends 
BaseProvider implements P
*/
   private static final String FIND_REGEX_IN_METRIC_REGEX = \\([^)]+\\);
 
-  private static final SetString PERCENTAGE_METRIC;
   private static final DecimalFormat decimalFormat = new DecimalFormat(#.00);
 
-  static {
-SetString temp = new HashSetString();
-temp.add(cpu_wio);
-temp.add(cpu_idle);
-temp.add(cpu_nice);
-temp.add(cpu_aidle);
-temp.add(cpu_system);
-temp.add(cpu_user);
-PERCENTAGE_METRIC = Collections.unmodifiableSet(temp);
-  }
-
   // - Constructors --
 
   /**
@@ -369,26 +357,10 @@ public abstract class AbstractPropertyProvider extends 
BaseProvider implements P
 
   // Normalize percent values: Copied over from Ganglia Metric
   private static Number[][] getGangliaLikeDatapoints(TimelineMetric metric) {
-Number[][] datapointsArray = new 
Number[metric.getMetricValues().size()][2];
-int cnt = 0;
-
-for (Map.EntryLong, Double metricEntry : 
metric.getMetricValues().entrySet()) {
-  Double value = metricEntry.getValue();
-  Long time = metricEntry.getKey();
-  if (time  99l) {
-time = time / 1000;
-  }
-
-  if (PERCENTAGE_METRIC.contains(metric.getMetricName())) {
-value = new Double(decimalFormat.format(value / 100));
-  }
-
-  datapointsArray[cnt][0] = value;
-  datapointsArray[cnt][1] = time;
-  cnt++;
-}
+MetricReportingAdapter rpt = new MetricReportingAdapter(metric);
 
-return datapointsArray;
+//TODO Don't we always need to downsample?
+return rpt.reportMetricData(metric);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/b1dccde1/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricReportingAdapter.java
--
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricReportingAdapter.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricReportingAdapter.java
new file mode 100644
index 000..d015097
--- /dev/null
+++ 

ambari git commit: AMBARI-8994 AMS : Yarn service - RPC metrics returns duplicate array elements.

2015-02-27 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/branch-2.0.0 efe4e6ce8 - ac44c1f99


AMBARI-8994 AMS : Yarn service - RPC metrics returns duplicate array elements.

Implemented proper downsampling algorithm. Fixed test data to reflect real 
production scenarios.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ac44c1f9
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ac44c1f9
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ac44c1f9

Branch: refs/heads/branch-2.0.0
Commit: ac44c1f99dfd4e9eaf814a649b274a85e4646070
Parents: efe4e6c
Author: Florian Barca fba...@hortonworks.com
Authored: Fri Feb 27 16:18:18 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri Feb 27 16:18:18 2015 -0800

--
 .../internal/AbstractPropertyProvider.java  |  36 +-
 .../metrics/MetricReportingAdapter.java |  34 ++
 .../metrics/MetricsDataTransferMethod.java  |  22 ++
 .../MetricsDataTransferMethodFactory.java   |  66 
 .../metrics/MetricsDownsamplingMethod.java  |  24 ++
 .../MetricsDownsamplingMethodFactory.java   | 114 ++
 .../timeline/AMSPropertyProviderTest.java   |   4 +-
 .../resources/ams/multiple_host_metrics.json| 395 ++-
 .../test/resources/ams/single_host_metric.json  | 223 +--
 9 files changed, 576 insertions(+), 342 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/ac44c1f9/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
--
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
index abd242e..3d88dda 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractPropertyProvider.java
@@ -31,10 +31,10 @@ import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.ambari.server.controller.metrics.MetricReportingAdapter;
 import org.apache.ambari.server.controller.spi.PropertyProvider;
 import org.apache.ambari.server.controller.utilities.PropertyHelper;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
-import org.apache.http.client.utils.URIBuilder;
 
 /**
  *  Abstract property provider implementation.
@@ -69,20 +69,8 @@ public abstract class AbstractPropertyProvider extends 
BaseProvider implements P
*/
   private static final String FIND_REGEX_IN_METRIC_REGEX = \\([^)]+\\);
 
-  private static final SetString PERCENTAGE_METRIC;
   private static final DecimalFormat decimalFormat = new DecimalFormat(#.00);
 
-  static {
-SetString temp = new HashSetString();
-temp.add(cpu_wio);
-temp.add(cpu_idle);
-temp.add(cpu_nice);
-temp.add(cpu_aidle);
-temp.add(cpu_system);
-temp.add(cpu_user);
-PERCENTAGE_METRIC = Collections.unmodifiableSet(temp);
-  }
-
   // - Constructors --
 
   /**
@@ -369,26 +357,10 @@ public abstract class AbstractPropertyProvider extends 
BaseProvider implements P
 
   // Normalize percent values: Copied over from Ganglia Metric
   private static Number[][] getGangliaLikeDatapoints(TimelineMetric metric) {
-Number[][] datapointsArray = new 
Number[metric.getMetricValues().size()][2];
-int cnt = 0;
-
-for (Map.EntryLong, Double metricEntry : 
metric.getMetricValues().entrySet()) {
-  Double value = metricEntry.getValue();
-  Long time = metricEntry.getKey();
-  if (time  99l) {
-time = time / 1000;
-  }
-
-  if (PERCENTAGE_METRIC.contains(metric.getMetricName())) {
-value = new Double(decimalFormat.format(value / 100));
-  }
-
-  datapointsArray[cnt][0] = value;
-  datapointsArray[cnt][1] = time;
-  cnt++;
-}
+MetricReportingAdapter rpt = new MetricReportingAdapter(metric);
 
-return datapointsArray;
+//TODO Don't we always need to downsample?
+return rpt.reportMetricData(metric);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/ac44c1f9/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricReportingAdapter.java
--
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricReportingAdapter.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricReportingAdapter.java
new file mode 100644
index 000..d015097
--- /dev/null
+++ 

ambari git commit: AMBARI-9612 AMS : Kafka Metrics - Log flush status metrics do not show up.

2015-02-18 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 9b176b5ff - cd3ae1e62


AMBARI-9612 AMS : Kafka Metrics - Log flush status metrics do not show up.

Feeding the data into AMS in legacy format


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/cd3ae1e6
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/cd3ae1e6
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/cd3ae1e6

Branch: refs/heads/trunk
Commit: cd3ae1e6229740fb6feba7e64e50fa63570a20a3
Parents: 9b176b5
Author: Florian Barca fba...@hortonworks.com
Authored: Wed Feb 18 09:22:53 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Feb 18 09:22:53 2015 -0800

--
 .../kafka/KafkaTimelineMetricsReporter.java | 237 ---
 1 file changed, 99 insertions(+), 138 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/cd3ae1e6/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java
--
diff --git 
a/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java
 
b/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java
index 762b5f2..63097e5 100644
--- 
a/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java
+++ 
b/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java
@@ -51,6 +51,7 @@ import com.yammer.metrics.core.Metric;
 import com.yammer.metrics.core.MetricName;
 import com.yammer.metrics.core.MetricProcessor;
 import com.yammer.metrics.core.MetricsRegistry;
+import com.yammer.metrics.core.Summarizable;
 import com.yammer.metrics.core.Timer;
 import com.yammer.metrics.stats.Snapshot;
 
@@ -69,7 +70,7 @@ public class KafkaTimelineMetricsReporter extends 
AbstractTimelineMetricsSink im
 
   private boolean initialized = false;
   private boolean running = false;
-  private Object lock = new Object();
+  private final Object lock = new Object();
   private String collectorUri;
   private String hostname;
   private SocketAddress socketAddress;
@@ -242,33 +243,9 @@ public class KafkaTimelineMetricsReporter extends 
AbstractTimelineMetricsSink im
 public void processMeter(MetricName name, Metered meter, Context context) 
throws Exception {
   final long currentTimeMillis = System.currentTimeMillis();
   final String sanitizedName = sanitizeName(name);
-  final String meterCountName = sanitizedName + COUNT_SUFIX;
-  final TimelineMetric countMetric = 
createTimelineMetric(currentTimeMillis, APP_ID, meterCountName, meter.count());
 
-  final String meterOneMinuteRateName = sanitizedName + 
ONE_MINUTE_RATE_SUFIX;
-  final TimelineMetric oneMinuteRateMetric = 
createTimelineMetric(currentTimeMillis, APP_ID,
-  meterOneMinuteRateName, meter.oneMinuteRate());
+  String[] metricNames = cacheKafkaMetered(currentTimeMillis, 
sanitizedName, meter);
 
-  final String meterMeanRateName = sanitizedName + MEAN_RATE_SUFIX;
-  final TimelineMetric meanMetric = 
createTimelineMetric(currentTimeMillis, APP_ID, meterMeanRateName,
-  meter.meanRate());
-
-  final String meterFiveMinuteRateName = sanitizedName + 
FIVE_MINUTE_RATE_SUFIX;
-  final TimelineMetric fiveMinuteRateMetric = 
createTimelineMetric(currentTimeMillis, APP_ID,
-  meterFiveMinuteRateName, meter.fiveMinuteRate());
-
-  final String meterFifteenMinuteRateName = sanitizedName + 
FIFTEEN_MINUTE_RATE_SUFIX;
-  final TimelineMetric fifteenMinuteRateMetric = 
createTimelineMetric(currentTimeMillis, APP_ID,
-  meterFifteenMinuteRateName, meter.fifteenMinuteRate());
-
-  metricsCache.putTimelineMetric(countMetric);
-  metricsCache.putTimelineMetric(oneMinuteRateMetric);
-  metricsCache.putTimelineMetric(meanMetric);
-  metricsCache.putTimelineMetric(fiveMinuteRateMetric);
-  metricsCache.putTimelineMetric(fifteenMinuteRateMetric);
-
-  String[] metricNames = new String[] { meterCountName, 
meterOneMinuteRateName, meterMeanRateName,
-  meterFiveMinuteRateName, meterFifteenMinuteRateName };
   populateMetricsList(context, metricNames);
 }
 
@@ -276,9 +253,10 @@ public class KafkaTimelineMetricsReporter extends 
AbstractTimelineMetricsSink im
 public void processCounter(MetricName name, Counter counter, Context 
context) throws Exception {
   final long currentTimeMillis = System.currentTimeMillis();
   final String sanitizedName = sanitizeName(name);
-  final String metricCountName = 

ambari git commit: AMBARI-9542 Ams Service Check failed on 3-node cluster

2015-02-10 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 631d913da - f5fe049eb


AMBARI-9542 Ams Service Check failed on 3-node cluster

Fixed HTTP ping retry loop


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f5fe049e
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f5fe049e
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f5fe049e

Branch: refs/heads/trunk
Commit: f5fe049eb7f078f34cada0258c441c9affa5a6d0
Parents: 631d913
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Feb 10 09:35:31 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Feb 10 09:35:31 2015 -0800

--
 .../0.1.0/package/scripts/service_check.py| 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/f5fe049e/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/service_check.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/service_check.py
 
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/service_check.py
index dc5a330..b5a5745 100644
--- 
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/service_check.py
+++ 
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/service_check.py
@@ -85,13 +85,13 @@ class AMSServiceCheck(Script):
 conn.request(POST, self.AMS_METRICS_POST_URL, metric_json, headers)
 break
   except (httplib.HTTPException, socket.error) as ex:
-time.sleep(self.AMS_CONNECT_TIMEOUT)
-Logger.info(Connection failed. Next retry in %s seconds.
-% (self.AMS_CONNECT_TIMEOUT))
-
-if i == self.AMS_CONNECT_TRIES:
-  raise Fail(Metrics were not saved. Service check has failed. 
-   \nConnection failed.)
+if i  self.AMS_CONNECT_TRIES - 1:  #range/xrange returns items from 
start to end-1
+  time.sleep(self.AMS_CONNECT_TIMEOUT)
+  Logger.info(Connection failed. Next retry in %s seconds.
+  % (self.AMS_CONNECT_TIMEOUT))
+else:
+  raise Fail(Metrics were not saved. Service check has failed. 
+   \nConnection failed.)
 
 response = conn.getresponse()
 Logger.info(Http response: %s %s % (response.status, response.reason))



ambari git commit: AMBARI-9503 AMS monitor alert failing on Windows

2015-02-05 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 50ee8e029 - 9f2eb9f16


AMBARI-9503 AMS monitor alert failing on Windows

Implemented the Windows-specific Monitor service status check


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9f2eb9f1
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9f2eb9f1
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9f2eb9f1

Branch: refs/heads/trunk
Commit: 9f2eb9f16210bec63166816732d071afc8675192
Parents: 50ee8e0
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Feb 5 16:06:10 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Feb 5 16:06:10 2015 -0800

--
 .../0.1.0/package/alerts/alert_ambari_metrics_monitor.py  | 10 ++
 1 file changed, 10 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/9f2eb9f1/ambari-server/src/main/resources/common-services/AMS/0.1.0/package/alerts/alert_ambari_metrics_monitor.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/AMS/0.1.0/package/alerts/alert_ambari_metrics_monitor.py
 
b/ambari-server/src/main/resources/common-services/AMS/0.1.0/package/alerts/alert_ambari_metrics_monitor.py
index 40f8c60..a9eb6fa 100644
--- 
a/ambari-server/src/main/resources/common-services/AMS/0.1.0/package/alerts/alert_ambari_metrics_monitor.py
+++ 
b/ambari-server/src/main/resources/common-services/AMS/0.1.0/package/alerts/alert_ambari_metrics_monitor.py
@@ -21,6 +21,8 @@ limitations under the License.
 import os
 import socket
 
+from ambari_commons import OSConst
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
 from resource_management.libraries.functions.check_process_status import 
check_process_status
 from resource_management.core.exceptions import ComponentIsNotRunning
 
@@ -38,6 +40,14 @@ def get_tokens():
   return (AMS_MONITOR_PID_DIR,)
 
 
+@OsFamilyFuncImpl(OSConst.WINSRV_FAMILY)
+def is_monitor_process_live(pid_file):
+  from ambari_commons.os_windows import WinServiceController, 
SERVICE_STATUS_RUNNING
+
+  svcStatus = WinServiceController.QueryStatus(AmbariMetricsHostMonitoring)
+  return (SERVICE_STATUS_RUNNING == svcStatus)
+
+@OsFamilyFuncImpl(OsFamilyImpl.DEFAULT)
 def is_monitor_process_live(pid_file):
   
   Gets whether the AMS monitor represented by the specified file is running.



ambari git commit: AMBARI-9341 Failing to register hosts on Centos5

2015-02-03 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 45d67f60f - 5ff857cd2


AMBARI-9341 Failing to register hosts on Centos5

sys.exit() should never be braced in a try/except. The behavior changed in 
Python 2.5. See the doc.

Replaced sys.exit() calls with return statements. Normalized the return data 
structures.
Fixed unit tests


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5ff857cd
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5ff857cd
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5ff857cd

Branch: refs/heads/trunk
Commit: 5ff857cd2259c91286934ed522f54502d4f15fae
Parents: 45d67f6
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Feb 3 14:56:02 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Feb 3 14:56:02 2015 -0800

--
 ambari-server/src/main/python/setupAgent.py |  90 +
 ambari-server/src/test/python/TestSetupAgent.py | 190 +++
 2 files changed, 161 insertions(+), 119 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/5ff857cd/ambari-server/src/main/python/setupAgent.py
--
diff --git a/ambari-server/src/main/python/setupAgent.py 
b/ambari-server/src/main/python/setupAgent.py
index b2c2d25..3595e2f 100755
--- a/ambari-server/src/main/python/setupAgent.py
+++ b/ambari-server/src/main/python/setupAgent.py
@@ -63,11 +63,13 @@ def configureAgent(server_hostname, user_run_as):
Configure the agent so that it has all the configs knobs properly 
installed 
   osCommand = [sed, -i.bak, s/hostname=localhost/hostname= + 
server_hostname +
 /g, 
/etc/ambari-agent/conf/ambari-agent.ini]
-  execOsCommand(osCommand)
+  ret = execOsCommand(osCommand)
+  if ret['exitstatus'] != 0:
+return ret
   osCommand = [sed, -i.bak, s/run_as_user=.*$/run_as_user= + user_run_as 
+
 /g, 
/etc/ambari-agent/conf/ambari-agent.ini]
-  execOsCommand(osCommand)
-  return
+  ret = execOsCommand(osCommand)
+  return ret
 
 def runAgent(passPhrase, expected_hostname, user_run_as, verbose):
   os.environ[AMBARI_PASSPHRASE_VAR] = passPhrase
@@ -75,18 +77,21 @@ def runAgent(passPhrase, expected_hostname, user_run_as, 
verbose):
   if verbose:
 vo =  -v
   cmd = su - %1s -c '/usr/sbin/ambari-agent restart --expected-hostname=%2s 
%3s' % (user_run_as, expected_hostname, vo)
-  agent_retcode = subprocess.call(cmd, shell=True)
+  log = 
+  p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
+  p.communicate()
+  agent_retcode = p.returncode
   for i in range(3):
 time.sleep(1)
 ret = execOsCommand([tail, -20, 
/var/log/ambari-agent/ambari-agent.log])
-if (not ret is None) and (0 == ret['exitstatus']):
+if (0 == ret['exitstatus']):
   try:
 log = ret['log']
   except Exception:
 log = Log not found
   print log
-  return agent_retcode
-  return agent_retcode
+  break
+  return {exitstatus: agent_retcode, log: log}
  
 def tryStopAgent():
   verbose = False
@@ -160,15 +165,14 @@ def checkServerReachability(host, port):
   ret = {}
   s = socket.socket()
   try:
-   s.connect((host, port))
-   return
+s.connect((host, port))
+ret = {exitstatus: 0, log: }
   except Exception:
-   ret[exitstatus] = 1
-   ret[log] = Host registration aborted. Ambari Agent host cannot reach 
Ambari Server ' +\
+ret[exitstatus] = 1
+ret[log] = Host registration aborted. Ambari Agent host cannot reach 
Ambari Server ' +\
 host+:+str(port) + '.  +\
 Please check the network connectivity between the Ambari 
Agent host and the Ambari Server
-   sys.exit(ret)
-  pass
+  return ret
 
 
 #  Command line syntax help
@@ -183,10 +187,10 @@ def checkServerReachability(host, port):
 
 def parseArguments(argv=None):
   if argv is None:  # make sure that arguments was passed
- sys.exit(1)
+return {exitstatus: 2, log: No arguments were passed}
   args = argv[1:]  # shift path to script
   if len(args)  3:
-sys.exit({exitstatus: 1, log: Was passed not all required arguments})
+return {exitstatus: 1, log: Not all required arguments were passed}
 
   expected_hostname = args[0]
   passPhrase = args[1]
@@ -204,48 +208,62 @@ def parseArguments(argv=None):
 except (Exception):
   server_port = 8080
 
-  return expected_hostname, passPhrase, hostname, user_run_as, projectVersion, 
server_port
+  parsed_args = (expected_hostname, passPhrase, hostname, user_run_as, 
projectVersion, server_port)
+  return {exitstatus: 0, log: , parsed_args: parsed_args}
 
 
 def run_setup(argv=None):
   # Parse passed arguments
-  expected_hostname, passPhrase, hostname, user_run_as, projectVersion, 
server_port = 

ambari git commit: AMBARI-9390 Ambari Server Setup issues on Windows

2015-02-02 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk a2f3be6c9 - 314ae0b10


AMBARI-9390 Ambari Server Setup issues on Windows

+Fixed erroneous exit when re-running setup after JDK/JCE were installed (Linux 
primarily, but Windows is affected too)
+Fixed SQL Server properties update when passing them via command-line arguments


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/314ae0b1
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/314ae0b1
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/314ae0b1

Branch: refs/heads/trunk
Commit: 314ae0b10feb3ddb1884ff031d598627e0ba9977
Parents: a2f3be6
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Feb 2 15:17:29 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Feb 2 18:23:07 2015 -0800

--
 .../src/main/python/ambari_commons/str_utils.py |  16 ++
 ambari-server/src/main/python/ambari-server.py  |   3 +-
 .../python/ambari_server/dbConfiguration.py |   6 +-
 .../ambari_server/dbConfiguration_windows.py|   8 +-
 .../python/ambari_server/serverConfiguration.py |   6 +-
 .../main/python/ambari_server/serverSetup.py| 152 +++
 .../src/test/python/TestAmbariServer.py |  55 ---
 7 files changed, 143 insertions(+), 103 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/314ae0b1/ambari-common/src/main/python/ambari_commons/str_utils.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/str_utils.py 
b/ambari-common/src/main/python/ambari_commons/str_utils.py
index 9a9e954..538d7c6 100644
--- a/ambari-common/src/main/python/ambari_commons/str_utils.py
+++ b/ambari-common/src/main/python/ambari_commons/str_utils.py
@@ -28,3 +28,19 @@ def ensure_double_backslashes(s):
   s1 = compress_backslashes(s)
   s2 = s1.replace('\\', '')
   return s2
+
+def cbool(obj):
+  
+  Interprets an object as a boolean value.
+
+  :rtype: bool
+  
+  if isinstance(obj, str):
+obj = obj.strip().lower()
+if obj in ('true', 'yes', 'on', 'y', 't', '1'):
+  return True
+if obj in ('false', 'no', 'off', 'n', 'f', '0'):
+  return False
+raise ValueError('Unable to interpret value %s as boolean' % obj)
+  return bool(obj)
+

http://git-wip-us.apache.org/repos/asf/ambari/blob/314ae0b1/ambari-server/src/main/python/ambari-server.py
--
diff --git a/ambari-server/src/main/python/ambari-server.py 
b/ambari-server/src/main/python/ambari-server.py
index bf8f806..3c4c9c7 100755
--- a/ambari-server/src/main/python/ambari-server.py
+++ b/ambari-server/src/main/python/ambari-server.py
@@ -302,8 +302,7 @@ def init_parser_options(parser):
   parser.add_option('-p', '--databasepassword', dest=database_password, 
default=None,
 help=Database user password)
   parser.add_option('--jdbc-driver', default=None, dest=jdbc_driver,
-help=Specifies the path to the JDBC driver JAR file for 
the  \
- database type specified with the --jdbc-db option. 
Used only with --jdbc-db option.)
+help=Specifies the path to the JDBC driver JAR file)
   # -b, -i, -k and -x the remaining available short options
   # -h reserved for help
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/314ae0b1/ambari-server/src/main/python/ambari_server/dbConfiguration.py
--
diff --git a/ambari-server/src/main/python/ambari_server/dbConfiguration.py 
b/ambari-server/src/main/python/ambari_server/dbConfiguration.py
index 819c5c3..9962a5d 100644
--- a/ambari-server/src/main/python/ambari_server/dbConfiguration.py
+++ b/ambari-server/src/main/python/ambari_server/dbConfiguration.py
@@ -24,6 +24,7 @@ from ambari_commons import OSConst
 from ambari_commons.exceptions import FatalException
 from ambari_commons.logging_utils import get_silent, print_error_msg, 
print_info_msg, print_warning_msg, set_silent
 from ambari_commons.os_family_impl import OsFamilyImpl
+from ambari_commons.str_utils import cbool
 from ambari_server.serverConfiguration import decrypt_password_for_alias, 
get_value_from_properties, get_is_secure, \
   is_alias_string, \
   JDBC_PASSWORD_PROPERTY, JDBC_RCA_PASSWORD_ALIAS, PRESS_ENTER_MSG, 
get_ambari_properties, update_properties, \
@@ -150,9 +151,8 @@ class DBMSConfig(object):
   raise FatalException(-1, msg)
 
 if result != 1:
-  if self._install_jdbc_driver(properties, result):
-return True
-return False
+  result = self._install_jdbc_driver(properties, result)
+return cbool(result)
 
   def change_db_files_owner(self):
 if self._is_local_database():


ambari git commit: AMBARI-9390 Ambari Server Setup issues on Windows

2015-01-29 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 79aced639 - a4f16b954


AMBARI-9390 Ambari Server Setup issues on Windows

Fixed SQL Server database attribute retrieval at setup
Fixed Metrics msi installation check


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a4f16b95
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a4f16b95
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a4f16b95

Branch: refs/heads/trunk
Commit: a4f16b954759145f7cf5a0e5c492e3e9ba6c6312
Parents: 79aced6
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Jan 29 13:31:02 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Jan 29 13:31:02 2015 -0800

--
 .../libraries/functions/install_hdp_msi.py  |  2 +-
 .../libraries/functions/reload_windows_env.py   |  6 +--
 .../ambari_server/dbConfiguration_windows.py| 10 ++---
 .../AMS/0.1.0/package/scripts/ams.py|  8 +++-
 .../0.1.0/package/scripts/metric_collector.py   | 47 ++--
 .../AMS/0.1.0/package/scripts/metric_monitor.py |  3 +-
 .../AMS/0.1.0/package/scripts/service_check.py  | 42 +
 7 files changed, 71 insertions(+), 47 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/a4f16b95/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
index d20dd42..8f32378 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
@@ -144,7 +144,7 @@ def _is_msi_installed():
 # check if msi was installed correctly and raise Fail in case of broken install
 def _validate_msi_install():
   if not _is_msi_installed() and os.path.exists(os.path.join(_working_dir, 
INSTALL_MARKER_FAILED)):
-Fail(Current or previous hdp.msi install failed. Check hdp.msi install 
logs)
+raise Fail(Current or previous hdp.msi install failed. Check hdp.msi 
install logs)
   return _is_msi_installed()
 
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/a4f16b95/ambari-common/src/main/python/resource_management/libraries/functions/reload_windows_env.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/reload_windows_env.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/reload_windows_env.py
index 49cb812..eaa2582 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/reload_windows_env.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/reload_windows_env.py
@@ -29,9 +29,9 @@ default_whitelist = [FALCON_CONF_DIR, FALCON_DATA_DIR, 
FALCON_HOME, FALCO
  HDFS_AUDIT_LOGGER, HDFS_DATA_DIR, HIVE_CONF_DIR, 
HIVE_HOME, HIVE_LIB_DIR, HIVE_LOG_DIR,
  HIVE_OPTS, KNOX_CONF_DIR, KNOX_HOME, 
KNOX_LOG_DIR, MAHOUT_HOME, OOZIE_DATA,
  OOZIE_HOME, OOZIE_LOG, OOZIE_ROOT, PIG_HOME, 
SQOOP_HOME, STORM_CONF_DIR, STORM_HOME,
- STORM_LOG_DIR, WEBHCAT_CONF_DIR, YARN_LOG_DIR, 
ZOOKEEPER_CONF_DIR, ZOOKEEPER_HOME,
- ZOOKEEPER_LIB_DIR, ZOO_LOG_DIR, COLLECTOR_CONF_DIR, 
COLLECTOR_HOME, MONITOR_CONF_DIR,
- MONITOR_HOME, SINK_HOME]
+ STORM_LOG_DIR, TEZ_HOME, WEBHCAT_CONF_DIR, 
YARN_LOG_DIR, ZOOKEEPER_CONF_DIR,
+ ZOOKEEPER_HOME, ZOOKEEPER_LIB_DIR, ZOO_LOG_DIR, 
COLLECTOR_CONF_DIR, COLLECTOR_HOME,
+ MONITOR_CONF_DIR, MONITOR_HOME, SINK_HOME]
 def reload_windows_env(keys_white_list=default_whitelist):
   root = HKEY_LOCAL_MACHINE
   subkey = r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment'

http://git-wip-us.apache.org/repos/asf/ambari/blob/a4f16b95/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
--
diff --git 
a/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py 
b/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
index 742fa8b..60308a0 100644
--- a/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
+++ b/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
@@ -65,10 +65,9 @@ class SQLServerConfig(DBMSConfig):
 self.JDBC_DRIVER_INSTALL_MSG = 'Before starting Ambari Server, you must 
install the SQL Server JDBC driver.'
 
 # The values from 

ambari git commit: AMBARI-9298 Many alerts triggered on windows (echekanskiy via fbarca)

2015-01-28 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk dafcd4510 - 760e15583


AMBARI-9298 Many alerts triggered on windows (echekanskiy via fbarca)

On windows address 0.0.0.0 is incorrect for connection but ok for binding(in 
linux it resolved to 127.0.0.1) and this causing alerts on windows when 
services binded to 0.0.0.0.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/760e1558
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/760e1558
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/760e1558

Branch: refs/heads/trunk
Commit: 760e15583369b0834abac92e3a2ea321328f62cd
Parents: dafcd45
Author: Florian Barca fba...@hortonworks.com
Authored: Wed Jan 28 08:29:42 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Jan 28 08:29:42 2015 -0800

--
 .../python/ambari_agent/alerts/port_alert.py|  6 +-
 .../python/ambari_agent/alerts/web_alert.py |  6 +-
 .../main/python/ambari_commons/inet_utils.py| 13 +
 .../package/alerts/alert_nodemanager_health.py  |  9 ++-
 .../resources/host_scripts/alert_disk_space.py  | 59 
 5 files changed, 77 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/760e1558/ambari-agent/src/main/python/ambari_agent/alerts/port_alert.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/alerts/port_alert.py 
b/ambari-agent/src/main/python/ambari_agent/alerts/port_alert.py
index f981b28..1ae625c 100644
--- a/ambari-agent/src/main/python/ambari_agent/alerts/port_alert.py
+++ b/ambari-agent/src/main/python/ambari_agent/alerts/port_alert.py
@@ -23,7 +23,8 @@ import socket
 import time
 from alerts.base_alert import BaseAlert
 from resource_management.libraries.functions.get_port_from_url import 
get_port_from_url
-
+from ambari_commons import OSCheck
+from ambari_commons.inet_utils import resolve_address
 logger = logging.getLogger()
 
 # default timeouts
@@ -114,6 +115,9 @@ class PortAlert(BaseAlert):
   s.settimeout(self.critical_timeout)
 
   t = time.time()
+  if OSCheck.is_windows_family():
+# on windows 0.0.0.0 is invalid address to connect but on linux it 
resolved to 127.0.0.1
+host = resolve_address(host)
   s.connect((host, port))
   milliseconds = time.time() - t
   seconds = milliseconds/1000.0

http://git-wip-us.apache.org/repos/asf/ambari/blob/760e1558/ambari-agent/src/main/python/ambari_agent/alerts/web_alert.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/alerts/web_alert.py 
b/ambari-agent/src/main/python/ambari_agent/alerts/web_alert.py
index cc0022d..f736135 100644
--- a/ambari-agent/src/main/python/ambari_agent/alerts/web_alert.py
+++ b/ambari-agent/src/main/python/ambari_agent/alerts/web_alert.py
@@ -24,6 +24,8 @@ import urllib2
 from alerts.base_alert import BaseAlert
 from collections import namedtuple
 from resource_management.libraries.functions.get_port_from_url import 
get_port_from_url
+from ambari_commons import OSCheck
+from ambari_commons.inet_utils import resolve_address
 
 logger = logging.getLogger()
 
@@ -93,7 +95,9 @@ class WebAlert(BaseAlert):
 scheme = 'http'
 if alert_uri.is_ssl_enabled is True:
   scheme = 'https'
-
+if OSCheck.is_windows_family():
+  # on windows 0.0.0.0 is invalid address to connect but on linux it 
resolved to 127.0.0.1
+  host = resolve_address(host)
 return {0}://{1}:{2}.format(scheme, host, str(port))
 
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/760e1558/ambari-common/src/main/python/ambari_commons/inet_utils.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/inet_utils.py 
b/ambari-common/src/main/python/ambari_commons/inet_utils.py
index 5c9275c..f6211ff 100644
--- a/ambari-common/src/main/python/ambari_commons/inet_utils.py
+++ b/ambari-common/src/main/python/ambari_commons/inet_utils.py
@@ -24,6 +24,7 @@ import urllib2
 
 from exceptions import *
 from logging_utils import *
+from os_check import OSCheck
 
 def download_file(link, destination, chunk_size=16 * 1024):
   print_info_msg(Downloading {0} to {1}.format(link, destination))
@@ -146,3 +147,15 @@ def force_download_file(link, destination, chunk_size = 16 
* 1024, progress_func
 #Windows behavior: rename fails if the destination file exists
 os.unlink(destination)
   os.rename(temp_dest, destination)
+
+def resolve_address(address):
+  
+  Resolves address to proper one in special cases, for example 0.0.0.0 to 
127.0.0.1 on windows os.
+
+  :param address: address to resolve
+  :return: resulting address
+  
+  if OSCheck.is_windows_family

ambari git commit: AMBARI-9341 Failing to register hosts on Centos5

2015-01-27 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 4cbf3a876 - f27c22b0c


AMBARI-9341 Failing to register hosts on Centos5

+Fixed the ambari_commons imports to only include the bare minimum required to 
function
+Fixed the incompartibilities with Python 2.4


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f27c22b0
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f27c22b0
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f27c22b0

Branch: refs/heads/trunk
Commit: f27c22b0c57c1b48ba372abb0c0fa6b74f6eda0e
Parents: 4cbf3a8
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jan 27 15:17:23 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jan 27 15:17:23 2015 -0800

--
 .../src/main/python/ambari_agent/HostInfo.py| 22 +++-
 .../test/python/ambari_agent/TestHostInfo.py|  4 ++--
 .../python/ambari_agent/TestRegistration.py |  2 +-
 .../src/main/python/ambari_commons/__init__.py  |  5 +
 .../libraries/functions/packages_analyzer.py|  4 ++--
 ambari-server/src/main/python/bootstrap.py  | 15 +++--
 ambari-server/src/main/python/setupAgent.py | 10 +++--
 .../src/test/python/TestAmbariServer.py |  3 ++-
 8 files changed, 30 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/f27c22b0/ambari-agent/src/main/python/ambari_agent/HostInfo.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/HostInfo.py 
b/ambari-agent/src/main/python/ambari_agent/HostInfo.py
index 7a1dbb7..2c707b2 100644
--- a/ambari-agent/src/main/python/ambari_agent/HostInfo.py
+++ b/ambari-agent/src/main/python/ambari_agent/HostInfo.py
@@ -18,23 +18,25 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 '''
 
-import os
 import glob
+import hostname
 import logging
+import os
 import re
-import time
-import subprocess
-import threading
 import shlex
-import platform
-import hostname
-from HostCheckReportFileHandler import HostCheckReportFileHandler
-from Hardware import Hardware
-from ambari_commons import OSCheck, OSConst, Firewall
-from resource_management.libraries.functions import packages_analyzer
 import socket
+import subprocess
+import time
+
+from ambari_commons import OSCheck, OSConst
+from ambari_commons.firewall import Firewall
 from ambari_commons.os_family_impl import OsFamilyImpl
 
+from resource_management.libraries.functions import packages_analyzer
+from ambari_agent.Hardware import Hardware
+from ambari_agent.HostCheckReportFileHandler import HostCheckReportFileHandler
+
+
 logger = logging.getLogger()
 
 # service cmd

http://git-wip-us.apache.org/repos/asf/ambari/blob/f27c22b0/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
--
diff --git a/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py 
b/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
index adeb798..c1b93d6 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
@@ -39,14 +39,14 @@ else:
   os_distro_value = ('win2012serverr2','6.3','WindowsServer')
 
 with patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value)):
+  from ambari_commons.firewall import Firewall
+  from ambari_commons.os_check import OSCheck, OSConst
   from ambari_agent.HostCheckReportFileHandler import 
HostCheckReportFileHandler
   from ambari_agent.HostInfo import HostInfo, HostInfoLinux
   from ambari_agent.Hardware import Hardware
   from ambari_agent.AmbariConfig import AmbariConfig
   from resource_management.core.system import System
-  from ambari_commons import OSCheck, Firewall, FirewallChecks, OSConst
   from resource_management.libraries.functions import packages_analyzer
-  import ambari_commons
 
 @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
 class TestHostInfo(TestCase):

http://git-wip-us.apache.org/repos/asf/ambari/blob/f27c22b0/ambari-agent/src/test/python/ambari_agent/TestRegistration.py
--
diff --git a/ambari-agent/src/test/python/ambari_agent/TestRegistration.py 
b/ambari-agent/src/test/python/ambari_agent/TestRegistration.py
index 92e4b36..b7a7f89 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestRegistration.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestRegistration.py
@@ -26,9 +26,9 @@ from mock.mock import MagicMock
 from only_for_platform import not_for_platform, PLATFORM_WINDOWS
 
 with patch(platform.linux_distribution, return_value = 
('Suse','11','Final')):
+  from 

[2/5] ambari git commit: AMBARI-8317 AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components - Part 2

2015-01-24 Thread fbarca
http://git-wip-us.apache.org/repos/asf/ambari/blob/244f1879/ambari-server/src/main/python/ambari_server/userInput.py
--
diff --git a/ambari-server/src/main/python/ambari_server/userInput.py 
b/ambari-server/src/main/python/ambari_server/userInput.py
index c15d335..db08dac 100644
--- a/ambari-server/src/main/python/ambari_server/userInput.py
+++ b/ambari-server/src/main/python/ambari_server/userInput.py
@@ -119,3 +119,36 @@ def get_prompt_default(defaultStr=None):
 return 
   else:
 return '(' + defaultStr + ')'
+
+
+def read_password(passwordDefault,
+  passwordPattern,
+  passwordPrompt=None,
+  passwordDescr=None):
+
+  input = True
+  while(input):
+# setup password
+if passwordPrompt is None:
+  passwordPrompt = 'Password (' + passwordDefault + '): '
+
+if passwordDescr is None:
+  passwordDescr = Invalid characters in password. Use only alphanumeric 
or  \
+  _ or - characters
+
+password = get_validated_string_input(passwordPrompt, passwordDefault,
+  passwordPattern, passwordDescr, True)
+if not password:
+  print 'Password cannot be blank.'
+  continue
+
+if password != passwordDefault:
+  password1 = get_validated_string_input(Re-enter password: ,
+ passwordDefault, passwordPattern, 
passwordDescr, True)
+  if password != password1:
+print Passwords do not match
+continue
+
+input = False
+
+  return password
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/244f1879/ambari-server/src/main/python/ambari_server_main.py
--
diff --git a/ambari-server/src/main/python/ambari_server_main.py 
b/ambari-server/src/main/python/ambari_server_main.py
new file mode 100644
index 000..e655eb2
--- /dev/null
+++ b/ambari-server/src/main/python/ambari_server_main.py
@@ -0,0 +1,361 @@
+#!/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.
+'''
+import getpass
+
+import os
+import stat
+import subprocess
+import tempfile
+import sys
+
+from ambari_commons.exceptions import FatalException
+from ambari_commons.logging_utils import get_debug_mode, get_verbose, 
print_warning_msg, print_info_msg, \
+  set_debug_mode_from_options
+from ambari_commons.os_check import OSConst
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
+from ambari_commons.os_utils import is_root
+from ambari_server.dbConfiguration import ensure_dbms_is_running, 
ensure_jdbc_driver_is_installed
+from ambari_server.serverConfiguration import configDefaults, find_jdk, 
get_ambari_classpath, get_ambari_properties, \
+  get_conf_dir, get_is_persisted, get_is_secure, get_java_exe_path, 
get_original_master_key, read_ambari_user, \
+  PID_NAME, RESOURCES_DIR_DEFAULT, RESOURCES_DIR_PROPERTY, 
SECURITY_KEY_ENV_VAR_NAME, SECURITY_MASTER_KEY_LOCATION, \
+  SETUP_OR_UPGRADE_MSG, check_database_name_property, parse_properties_file
+from ambari_server.serverUtils import is_server_runing, refresh_stack_hash
+from ambari_server.setupHttps import get_fqdn
+from ambari_server.setupSecurity import save_master_key
+from ambari_server.utils import check_reverse_lookup, save_pid, locate_file, 
looking_for_pid, wait_for_pid, \
+  save_main_pid_ex, check_exitcode
+
+
+# debug settings
+SERVER_START_DEBUG = False
+SUSPEND_START_MODE = False
+
+# server commands
+ambari_provider_module_option = 
+ambari_provider_module = os.environ.get('AMBARI_PROVIDER_MODULE')
+if ambari_provider_module is not None:
+  ambari_provider_module_option = -Dprovider.module.class= + \
+  ambari_provider_module +  
+
+jvm_args = os.getenv('AMBARI_JVM_ARGS', '-Xms512m -Xmx2048m')
+
+SERVER_START_CMD = {0}  \
+-server -XX:NewRatio=3  \
+-XX:+UseConcMarkSweepGC  + \
+-XX:-UseGCOverheadLimit -XX:CMSInitiatingOccupancyFraction=60  + \
+{1} {2}  \
+-cp {3} \
+org.apache.ambari.server.controller.AmbariServer  \
+ {4} 21 || echo $?  {5} 
+SERVER_START_CMD_DEBUG = {0}  \
+-server -XX:NewRatio=2  \
+

[1/5] ambari git commit: AMBARI-8317 AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components - Part 2

2015-01-24 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 85f61a73e - 244f1879e


http://git-wip-us.apache.org/repos/asf/ambari/blob/244f1879/ambari-server/src/test/python/TestAmbariServer.py
--
diff --git a/ambari-server/src/test/python/TestAmbariServer.py 
b/ambari-server/src/test/python/TestAmbariServer.py
index d11e4fe..a847bd1 100644
--- a/ambari-server/src/test/python/TestAmbariServer.py
+++ b/ambari-server/src/test/python/TestAmbariServer.py
@@ -70,15 +70,24 @@ with patch(platform.linux_distribution, return_value = 
os_distro_value):
   RESOURCES_DIR_PROPERTY, JDBC_RCA_PASSWORD_ALIAS, 
JDBC_RCA_SCHEMA_PROPERTY, IS_LDAP_CONFIGURED, \
   LDAP_MGR_PASSWORD_PROPERTY, LDAP_MGR_PASSWORD_ALIAS, 
JDBC_PASSWORD_FILENAME, NR_USER_PROPERTY, SECURITY_KEY_IS_PERSISTED, \
   SSL_TRUSTSTORE_PASSWORD_PROPERTY, SECURITY_IS_ENCRYPTION_ENABLED, 
SSL_TRUSTSTORE_PASSWORD_ALIAS, \
-  SECURITY_MASTER_KEY_LOCATION, SECURITY_KEYS_DIR
+  SECURITY_MASTER_KEY_LOCATION, SECURITY_KEYS_DIR, 
LDAP_PRIMARY_URL_PROPERTY, store_password_file, \
+  get_pass_file_path, GET_FQDN_SERVICE_URL, 
JDBC_USE_INTEGRATED_AUTH_PROPERTY, SECURITY_KEY_ENV_VAR_NAME
+from ambari_server.serverUtils import is_server_runing, 
refresh_stack_hash
 from ambari_server.serverSetup import check_selinux, 
check_ambari_user, proceedJDBCProperties, SE_STATUS_DISABLED, 
SE_MODE_ENFORCING, configure_os_settings, \
   download_and_install_jdk, prompt_db_properties, setup, \
-  AmbariUserChecks, AmbariUserChecksLinux, AmbariUserChecksWindows, 
JDKSetup, reset, is_server_runing
+  AmbariUserChecks, AmbariUserChecksLinux, AmbariUserChecksWindows, 
JDKSetup, reset
 from ambari_server.serverUpgrade import upgrade, upgrade_local_repo, 
change_objects_owner, upgrade_stack, \
   run_stack_upgrade, run_metainfo_upgrade, run_schema_upgrade, 
move_user_custom_actions
-from ambari_server.setupSecurity import get_pass_file_path, 
store_password_file, read_password, \
-  adjust_directory_permissions, get_alias_string
-from ambari_server.userInput import get_YN_input, 
get_choice_string_input, get_validated_string_input
+from ambari_server.setupHttps import is_valid_https_port, setup_https, 
import_cert_and_key_action, get_fqdn, \
+  generate_random_string, get_cert_info, COMMON_NAME_ATTR, 
is_valid_cert_exp, NOT_AFTER_ATTR, NOT_BEFORE_ATTR, \
+  SSL_DATE_FORMAT, import_cert_and_key, is_valid_cert_host, 
setup_component_https, \
+  SRVR_ONE_WAY_SSL_PORT_PROPERTY, SRVR_TWO_WAY_SSL_PORT_PROPERTY, 
GANGLIA_HTTPS
+from ambari_server.setupSecurity import adjust_directory_permissions, 
get_alias_string, get_ldap_event_spec_names, sync_ldap, LdapSyncOptions, \
+  configure_ldap_password, setup_ldap, REGEX_HOSTNAME_PORT, 
REGEX_TRUE_FALSE, REGEX_ANYTHING, setup_master_key, \
+  setup_ambari_krb5_jaas
+from ambari_server.userInput import get_YN_input, 
get_choice_string_input, get_validated_string_input, \
+  read_password
+from ambari_server_main import get_ulimit_open_files, 
ULIMIT_OPEN_FILES_KEY, ULIMIT_OPEN_FILES_DEFAULT
 
 CURR_AMBARI_VERSION = 2.0.0
 
@@ -247,7 +256,7 @@ class TestAmbariServer(TestCase):
 self.assertEquals(/etc/ambari/password.dat, result)
 pass
 
-
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch.object(_ambari_server_, setup_security)
   @patch(optparse.OptionParser)
   def test_main_test_setup_security(self, OptionParserMock,
@@ -268,40 +277,41 @@ class TestAmbariServer(TestCase):
 self.assertFalse(False, get_silent())
 pass
 
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch.object(_ambari_server_, setup_ambari_krb5_jaas)
   @patch.object(_ambari_server_, setup_master_key)
-  @patch.object(_ambari_server_, setup_component_https)
+  @patch(ambari_server.setupHttps.setup_component_https)
   @patch.object(_ambari_server_, setup_https)
   @patch.object(_ambari_server_, get_validated_string_input)
-  def test_setup_security(self, get_validated_string_input_mock, setup_https,
-  setup_component_https, setup_master_key,
-  setup_ambari_krb5_jaas):
+  def test_setup_security(self, get_validated_string_input_mock, 
setup_https_mock,
+  setup_component_https_mock, setup_master_key_mock,
+  setup_ambari_krb5_jaas_mock):
 
 args = {}
 get_validated_string_input_mock.return_value = '1'
 _ambari_server_.setup_security(args)
-self.assertTrue(setup_https.called)
+self.assertTrue(setup_https_mock.called)
 
 get_validated_string_input_mock.return_value = '2'
 _ambari_server_.setup_security(args)
-self.assertTrue(setup_component_https.called)
-

[3/5] ambari git commit: AMBARI-8317 AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components - Part 2

2015-01-24 Thread fbarca
http://git-wip-us.apache.org/repos/asf/ambari/blob/244f1879/ambari-server/src/main/python/ambari_server/dbConfiguration_linux.py
--
diff --git 
a/ambari-server/src/main/python/ambari_server/dbConfiguration_linux.py 
b/ambari-server/src/main/python/ambari_server/dbConfiguration_linux.py
index 04dbb61..2f48c2a 100644
--- a/ambari-server/src/main/python/ambari_server/dbConfiguration_linux.py
+++ b/ambari-server/src/main/python/ambari_server/dbConfiguration_linux.py
@@ -30,7 +30,7 @@ import time
 from ambari_commons import OSCheck, OSConst
 from ambari_commons.logging_utils import get_silent, get_verbose, 
print_error_msg, print_info_msg, print_warning_msg
 from ambari_commons.exceptions import NonFatalException, FatalException
-from ambari_commons.os_utils import copy_files, remove_file, run_os_command, 
find_in_path
+from ambari_commons.os_utils import copy_files, find_in_path, is_root, 
remove_file, run_os_command
 from ambari_server.dbConfiguration import DBMSConfig, USERNAME_PATTERN, 
SETUP_DB_CONNECT_ATTEMPTS, \
 SETUP_DB_CONNECT_TIMEOUT, STORAGE_TYPE_LOCAL, DEFAULT_USERNAME, 
DEFAULT_PASSWORD
 from ambari_server.serverConfiguration import get_ambari_properties, 
get_value_from_properties, configDefaults, \
@@ -41,9 +41,8 @@ from ambari_server.serverConfiguration import 
get_ambari_properties, get_value_f
 JDBC_DRIVER_PROPERTY, JDBC_URL_PROPERTY, \
 JDBC_RCA_USER_NAME_PROPERTY, JDBC_RCA_PASSWORD_ALIAS, 
JDBC_RCA_PASSWORD_FILE_PROPERTY, \
 JDBC_RCA_DRIVER_PROPERTY, JDBC_RCA_URL_PROPERTY, \
-PERSISTENCE_TYPE_PROPERTY
-from ambari_server.setupSecurity import read_password, store_password_file, 
encrypt_password
-from ambari_server.userInput import get_YN_input, get_validated_string_input
+PERSISTENCE_TYPE_PROPERTY, encrypt_password, store_password_file
+from ambari_server.userInput import get_YN_input, get_validated_string_input, 
read_password
 from ambari_server.utils import get_postgre_hba_dir, get_postgre_running_status
 
 ORACLE_DB_ID_TYPES = [Service Name, SID]
@@ -365,6 +364,17 @@ class PGConfig(LinuxDBMSConfig):
   #
   # Public methods
   #
+  def ensure_dbms_is_running(self, options, properties, scmStatus=None):
+if self._is_local_database():
+  if is_root():
+(pg_status, retcode, out, err) = PGConfig._check_postgre_up()
+if not retcode == 0:
+  err = 'Unable to start PostgreSQL server. Status {0}. {1}. 
Exiting'.format(pg_status, err)
+  raise FatalException(retcode, err)
+  else:
+print Unable to check PostgreSQL server status when starting  \
+  without root privileges.
+print Please do not forget to start PostgreSQL server.
 
   #
   # Private implementation

http://git-wip-us.apache.org/repos/asf/ambari/blob/244f1879/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
--
diff --git 
a/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py 
b/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
index 58fa7c4..742fa8b 100644
--- a/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
+++ b/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
@@ -26,17 +26,16 @@ from ambari_commons.logging_utils import print_info_msg, 
print_warning_msg
 from ambari_commons.os_utils import search_file, run_os_command
 from ambari_commons.os_windows import WinServiceController
 from ambari_commons.str_utils import compress_backslashes, 
ensure_double_backslashes
-from ambari_server.dbConfiguration import AMBARI_DATABASE_NAME, 
DEFAULT_USERNAME, DBMSConfig, DbPropKeys, DbAuthenticationKeys
+from ambari_server.dbConfiguration import AMBARI_DATABASE_NAME, 
DEFAULT_USERNAME, DEFAULT_PASSWORD, \
+  DBMSConfig, DbPropKeys, DbAuthenticationKeys
 from ambari_server.serverConfiguration import JDBC_DRIVER_PROPERTY, 
JDBC_DRIVER_PATH_PROPERTY, JDBC_URL_PROPERTY, \
   JDBC_DATABASE_PROPERTY, JDBC_DATABASE_NAME_PROPERTY, \
   JDBC_HOSTNAME_PROPERTY, JDBC_PORT_PROPERTY, 
JDBC_USE_INTEGRATED_AUTH_PROPERTY, JDBC_USER_NAME_PROPERTY, 
JDBC_PASSWORD_PROPERTY, \
   JDBC_PASSWORD_FILENAME, \
-  JDBC_RCA_DRIVER_PROPERTY, JDBC_RCA_URL_PROPERTY, JDBC_RCA_DATABASE_PROPERTY, 
JDBC_RCA_SCHEMA_PROPERTY, \
-  JDBC_RCA_HOSTNAME_PROPERTY, JDBC_RCA_PORT_PROPERTY, 
JDBC_RCA_USE_INTEGRATED_AUTH_PROPERTY, \
-  JDBC_RCA_USER_NAME_PROPERTY, JDBC_RCA_PASSWORD_FILE_PROPERTY, 
JDBC_RCA_PASSWORD_FILENAME, JDBC_RCA_PASSWORD_ALIAS, \
+  JDBC_RCA_DRIVER_PROPERTY, JDBC_RCA_URL_PROPERTY, JDBC_RCA_HOSTNAME_PROPERTY, 
JDBC_RCA_PORT_PROPERTY, \
+  JDBC_RCA_USE_INTEGRATED_AUTH_PROPERTY, JDBC_RCA_USER_NAME_PROPERTY, 
JDBC_RCA_PASSWORD_FILE_PROPERTY, JDBC_RCA_PASSWORD_ALIAS, \
   PERSISTENCE_TYPE_PROPERTY, \
-  get_value_from_properties, configDefaults
-from ambari_server.setupSecurity import encrypt_password, store_password_file
+  

[3/8] ambari git commit: AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components - Part 1.4

2015-01-23 Thread fbarca
http://git-wip-us.apache.org/repos/asf/ambari/blob/49955a35/ambari-server/src/main/python/ambari_server/serverSetup_windows.py
--
diff --git a/ambari-server/src/main/python/ambari_server/serverSetup_windows.py 
b/ambari-server/src/main/python/ambari_server/serverSetup_windows.py
deleted file mode 100644
index dce404d..000
--- a/ambari-server/src/main/python/ambari_server/serverSetup_windows.py
+++ /dev/null
@@ -1,300 +0,0 @@
-#!/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.
-'''
-
-import optparse
-import os
-import socket
-import string
-
-from _winreg import (OpenKey, EnumValue, HKEY_LOCAL_MACHINE, KEY_READ, 
CloseKey, KEY_WRITE, QueryValueEx, SetValueEx,
- REG_EXPAND_SZ)
-
-from ambari_commons import os_utils
-
-from ambari_commons.exceptions import *
-from ambari_commons.logging_utils import *
-from ambari_commons.os_windows import run_powershell_script, UserHelper, 
CHECK_FIREWALL_SCRIPT
-from ambari_server.dbConfiguration import DBMSConfig
-from ambari_server.serverConfiguration import *
-from ambari_server.userInput import get_validated_string_input
-
-# Non-root user setup commands
-NR_USER_COMMENT = Ambari user
-NR_GET_OWNER_CMD = 'stat -c %U {0}'
-NR_USERADD_CMD = 'cmd /C net user {0} {1} /ADD'
-NR_SET_USER_COMMENT_CMD = 'usermod -c {0} {1}'
-
-NR_USER_CHANGE_PROMPT = Ambari-server service is configured to run under user 
'{0}'. Change this setting [y/n] (n)? 
-NR_USER_CUSTOMIZE_PROMPT = Customize user account for ambari-server service 
[y/n] (n)? 
-NR_DEFAULT_USER = NT AUTHORITY\SYSTEM
-
-SERVICE_USERNAME_KEY = TMP_AMBARI_USERNAME
-SERVICE_PASSWORD_KEY = TMP_AMBARI_PASSWORD
-
-# JDK setup choices
-JDK_DEFAULT_CONFIGS = [
-  JDKRelease(jdk7.67, Oracle JDK 7.67,
- 
http://public-repo-1.hortonworks.com/ARTIFACTS/jdk-7u67-windows-x64.exe;, 
jdk-7u67-windows-x64.exe,
- 
http://public-repo-1.hortonworks.com/ARTIFACTS/UnlimitedJCEPolicyJDK7.zip;, 
UnlimitedJCEPolicyJDK7.zip,
- None)
-]
-
-JDK_VERSION_REs = [(jdk.*)/jre, Creating (jdk.*)/jre]
-JDK_PROMPT = [{0}] {1}\n
-JDK_CUSTOM_CHOICE_PROMPT = [{0}] - Custom 
JDK\n==\nEnter
 choice ({1}): 
-JDK_VALID_CHOICES = ^[{0}{1:d}]$
-CUSTOM_JDK_NUMBER = 4
-JDK_MIN_FILESIZE = 5000
-MAKE_FILE_EXECUTABLE_CMD = chmod a+x {0}
-
-JDK_DOWNLOAD_CMD = curl --create-dirs -o {0} {1}
-JDK_DOWNLOAD_SIZE_CMD = curl -I {0}
-
-# use --no-same-owner when running as root to prevent uucp as the user 
(AMBARI-6478)
-UNTAR_JDK_ARCHIVE = tar --no-same-owner -xvf {0}
-
-
-#JDBC
-USERNAME_PATTERN = ^[a-zA-Z_][a-zA-Z0-9_\-]*$
-DATABASE_DBMS = sqlserver
-DATABASE_NAME = ambari
-DATABASE_SERVER = localhostSQLEXPRESS
-DATABASE_DRIVER_NAME = com.microsoft.sqlserver.jdbc.SQLServerDriver
-
-JDBC_PATTERNS = {sqlserver: sqljdbc*.jar}
-DATABASE_FULL_NAMES = {sqlserver: SQL Server}
-JDBC_DB_OPTION_VALUES = [sqlserver]
-JDBC_DB_DEFAULT_DRIVER = {sqlserver : sqljdbc4.jar}
-
-
-ERROR_NOT_ROOT = 'Ambari-server setup should be run with administrator-level 
privileges'
-
-MESSAGE_CHECK_FIREWALL = 'Checking firewall status...'
-
-def os_check_firewall():
-  out = run_powershell_script(CHECK_FIREWALL_SCRIPT)
-  if out[0] != 0:
-print_warning_msg(Unable to check firewall status:{0}.format(out[2]))
-return False
-  profiles_status = [i for i in out[1].split(\n) if not i == ]
-  if 1 in profiles_status:
-enabled_profiles = []
-if profiles_status[0] == 1:
-  enabled_profiles.append(DomainProfile)
-if profiles_status[1] == 1:
-  enabled_profiles.append(StandardProfile)
-if profiles_status[2] == 1:
-  enabled_profiles.append(PublicProfile)
-print_warning_msg(Following firewall profiles enabled:{0}. Make sure that 
firewall properly configured..format(,.join(enabled_profiles)))
-return False
-  return True
-
-# No security enhancements in Windows
-def disable_security_enhancements():
-  retcode = 0
-  err = ''
-  return (retcode, err)
-
-
-#
-# User account creation
-#
-
-def os_create_custom_user():
-  user = get_validated_string_input(
-Enter user account for ambari-server service 
({0}):.format(NR_DEFAULT_USER),
-

[5/8] ambari git commit: AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components - Part 1.4

2015-01-23 Thread fbarca
http://git-wip-us.apache.org/repos/asf/ambari/blob/49955a35/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
--
diff --git 
a/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py 
b/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
index ab038db..58fa7c4 100644
--- a/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
+++ b/ambari-server/src/main/python/ambari_server/dbConfiguration_windows.py
@@ -21,12 +21,12 @@ limitations under the License.
 import os
 import socket
 import string
-
 from ambari_commons.exceptions import FatalException
 from ambari_commons.logging_utils import print_info_msg, print_warning_msg
 from ambari_commons.os_utils import search_file, run_os_command
 from ambari_commons.os_windows import WinServiceController
 from ambari_commons.str_utils import compress_backslashes, 
ensure_double_backslashes
+from ambari_server.dbConfiguration import AMBARI_DATABASE_NAME, 
DEFAULT_USERNAME, DBMSConfig, DbPropKeys, DbAuthenticationKeys
 from ambari_server.serverConfiguration import JDBC_DRIVER_PROPERTY, 
JDBC_DRIVER_PATH_PROPERTY, JDBC_URL_PROPERTY, \
   JDBC_DATABASE_PROPERTY, JDBC_DATABASE_NAME_PROPERTY, \
   JDBC_HOSTNAME_PROPERTY, JDBC_PORT_PROPERTY, 
JDBC_USE_INTEGRATED_AUTH_PROPERTY, JDBC_USER_NAME_PROPERTY, 
JDBC_PASSWORD_PROPERTY, \
@@ -35,59 +35,35 @@ from ambari_server.serverConfiguration import 
JDBC_DRIVER_PROPERTY, JDBC_DRIVER_
   JDBC_RCA_HOSTNAME_PROPERTY, JDBC_RCA_PORT_PROPERTY, 
JDBC_RCA_USE_INTEGRATED_AUTH_PROPERTY, \
   JDBC_RCA_USER_NAME_PROPERTY, JDBC_RCA_PASSWORD_FILE_PROPERTY, 
JDBC_RCA_PASSWORD_FILENAME, JDBC_RCA_PASSWORD_ALIAS, \
   PERSISTENCE_TYPE_PROPERTY, \
-  PRESS_ENTER_MSG
+  get_value_from_properties, configDefaults
 from ambari_server.setupSecurity import encrypt_password, store_password_file
-from dbConfiguration import DBMSConfig, DB_STATUS_RUNNING_DEFAULT
-from userInput import get_validated_string_input
+from ambari_server.userInput import get_validated_string_input
 
-#Import the SQL Server libraries
 
 # SQL Server settings
-DBPATH = 'C:\\Program Files\\Microsoft SQL 
Server\\MSSQL12.SQLEXPRESS\\MSSQL\\DATA\\'
-# DBPATH = 'C:\\Program Files\\Microsoft SQL 
Server\\MSSQL10_50.MSSQLSERVER\\MSSQL\\DATA\\'
-
-DATABASE_DBMS = sqlserver
-DATABASE_DRIVER_NAME = com.microsoft.sqlserver.jdbc.SQLServerDriver
-LOCAL_DATABASE_SERVER = localhost\\SQLEXPRESS
-AMBARI_DATABASE_NAME = ambari
-
-class DbPropKeys:
-  def __init__(self, i_dbms_key, i_driver_key, i_server_key, i_port_key, 
i_db_name_key, i_db_url_key):
-self.reset(i_dbms_key, i_driver_key, i_server_key, i_port_key, 
i_db_name_key, i_db_url_key)
-pass
-
-  def reset(self, i_dbms_key, i_driver_key, i_server_key, i_port_key, 
i_db_name_key, i_db_url_key):
-self.dbms_key = i_dbms_key
-self.driver_key = i_driver_key
-self.server_key = i_server_key
-self.port_key = i_port_key
-self.db_name_key = i_db_name_key
-self.db_url_key = i_db_url_key
-pass
+DATABASE_DBMS_SQLSERVER = sqlserver
+DATABASE_DRIVER_NAME_SQLSERVER = com.microsoft.sqlserver.jdbc.SQLServerDriver
+DATABASE_SERVER_SQLSERVER_DEFAULT = localhost\\SQLEXPRESS
 
-class AuthenticationKeys:
+class SqlServerAuthenticationKeys(DbAuthenticationKeys):
   def __init__(self, i_integrated_auth_key, i_user_name_key, i_password_key, 
i_password_alias, i_password_filename):
-self.reset(i_integrated_auth_key, i_user_name_key, i_password_key, 
i_password_alias, i_password_filename)
-pass
-
-  def reset(self, i_integrated_auth_key, i_user_name_key, i_password_key, 
i_password_alias, i_password_filename):
 self.integrated_auth_key = i_integrated_auth_key
-self.user_name_key = i_user_name_key
-self.password_key = i_password_key
-self.password_alias = i_password_alias
-self.password_filename = i_password_filename
-pass
+DbAuthenticationKeys.__init__(self, i_user_name_key, i_password_key, 
i_password_alias, i_password_filename)
 
+#
 # SQL Server configuration and setup
+#
 class SQLServerConfig(DBMSConfig):
-  def __init__(self, options, properties):
-super(SQLServerConfig, self).__init__(options, properties)
+  def __init__(self, options, properties, storage_type):
+super(SQLServerConfig, self).__init__(options, properties, storage_type)
 
 
 #Just load the defaults. The derived classes will be able to modify them 
later
 
-self.dbms = DATABASE_DBMS
-self.driver_name = DATABASE_DRIVER_NAME
+self.dbms = DATABASE_DBMS_SQLSERVER
+self.driver_class_name = DATABASE_DRIVER_NAME_SQLSERVER
+
+self.JDBC_DRIVER_INSTALL_MSG = 'Before starting Ambari Server, you must 
install the SQL Server JDBC driver.'
 
 # The values from options supersede the values from properties
 self.database_host = options.database_host if options.database_host is not 
None and options.database_host is not  else \
@@ -98,27 +74,26 @@ class 

[7/8] ambari git commit: AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components - Part 1.4

2015-01-23 Thread fbarca
http://git-wip-us.apache.org/repos/asf/ambari/blob/49955a35/ambari-server/src/main/python/ambari-server.py
--
diff --git a/ambari-server/src/main/python/ambari-server.py 
b/ambari-server/src/main/python/ambari-server.py
index ea072ab..f67d697 100755
--- a/ambari-server/src/main/python/ambari-server.py
+++ b/ambari-server/src/main/python/ambari-server.py
@@ -41,25 +41,49 @@ import random
 import json
 import base64
 
-from ambari_commons import OSCheck, OSConst, Firewall
+from ambari_commons import OSCheck, OSConst
 from ambari_commons.exceptions import FatalException, NonFatalException
 from ambari_commons.logging_utils import get_verbose, set_verbose, get_silent, 
set_silent, get_debug_mode, \
-  set_debug_mode, print_info_msg, print_warning_msg, print_error_msg
-from ambari_commons.os_utils import is_root, run_in_shell, run_os_command, 
search_file
+  set_debug_mode, print_info_msg, print_warning_msg, print_error_msg, 
set_debug_mode_from_options
+from ambari_commons.os_utils import is_root, run_os_command, search_file, 
copy_file, remove_file, \
+  set_file_permissions
 from ambari_server.BackupRestore import main as BackupRestore_main
+from ambari_server.dbConfiguration import DATABASE_NAMES, DATABASE_FULL_NAMES
 from ambari_server.properties import Properties
 from ambari_server.resourceFilesKeeper import ResourceFilesKeeper, 
KeeperException
 from ambari_server.serverConfiguration import AMBARI_PROPERTIES_FILE, 
configDefaults, \
-  backup_file_in_temp, find_properties_file, get_conf_dir, 
get_value_from_properties, is_alias_string, is_local_database, \
-  read_ambari_user, remove_property, update_ambari_properties, write_property, 
SCHEMA_UPGRADE_HELPER_CMD
+  backup_file_in_temp, check_database_name_property, find_jdbc_driver, 
find_jdk, find_properties_file, get_ambari_classpath, \
+  get_ambari_properties, get_conf_dir, get_full_ambari_classpath, 
get_value_from_properties, is_alias_string, \
+  parse_properties_file, read_ambari_user, \
+  BLIND_PASSWORD, SETUP_OR_UPGRADE_MSG, JDBC_RCA_PASSWORD_ALIAS, \
+  JDBC_PASSWORD_PROPERTY, JDBC_PASSWORD_FILENAME, 
JDBC_RCA_PASSWORD_FILE_PROPERTY, \
+  GET_FQDN_SERVICE_URL, get_stack_location, IS_LDAP_CONFIGURED, 
LDAP_PRIMARY_URL_PROPERTY, LDAP_MGR_PASSWORD_PROPERTY, \
+  LDAP_MGR_PASSWORD_ALIAS, LDAP_MGR_PASSWORD_FILENAME, 
LDAP_MGR_USERNAME_PROPERTY, PID_NAME, \
+  read_passwd_for_alias, get_credential_store_location, 
get_master_key_location, get_is_secure, get_is_persisted, \
+  get_original_master_key, SECURITY_PROVIDER_PUT_CMD, get_java_exe_path, 
SECURITY_PROVIDER_KEY_CMD, \
+  SECURITY_IS_ENCRYPTION_ENABLED, SECURITY_KERBEROS_JASS_FILENAME, 
SECURITY_KEY_ENV_VAR_NAME, \
+  SECURITY_MASTER_KEY_FILENAME, SECURITY_MASTER_KEY_LOCATION, \
+  SSL_TRUSTSTORE_PASSWORD_ALIAS, SSL_TRUSTSTORE_PASSWORD_PROPERTY, 
SSL_TRUSTSTORE_PATH_PROPERTY, SSL_TRUSTSTORE_TYPE_PROPERTY, \
+  update_debug_mode
+from ambari_server.serverSetup import reset, setup, is_server_runing
+from ambari_server.serverUpgrade import upgrade, upgrade_stack
+
+if not OSCheck.is_windows_family():
+  from ambari_server.dbConfiguration_linux import PGConfig
+
+from ambari_server.setupActions import SETUP_ACTION, START_ACTION, 
STOP_ACTION, RESET_ACTION, STATUS_ACTION, \
+  UPGRADE_ACTION, UPGRADE_STACK_ACTION, LDAP_SETUP_ACTION, LDAP_SYNC_ACTION, 
SETUP_SECURITY_ACTION, \
+  REFRESH_STACK_HASH_ACTION, BACKUP_ACTION, RESTORE_ACTION, 
ACTION_REQUIRE_RESTART
+from ambari_server.setupSecurity import adjust_directory_permissions, 
read_password, store_password_file, \
+  remove_password_file, encrypt_password, get_truststore_password
 from ambari_server.userInput import get_YN_input, get_validated_string_input, 
get_validated_filepath_input, \
   get_prompt_default
-from ambari_server.utils import check_exitcode, get_postgre_hba_dir, 
get_postgre_running_status, locate_file, \
+from ambari_server.utils import check_exitcode, locate_file, \
   looking_for_pid, save_main_pid_ex, wait_for_pid
 
 # debug settings
-
 SERVER_START_DEBUG = False
+SUSPEND_START_MODE = False
 
 # ldap settings
 LDAP_SYNC_ALL = False
@@ -67,55 +91,10 @@ LDAP_SYNC_EXISTING = False
 LDAP_SYNC_USERS = None
 LDAP_SYNC_GROUPS = None
 
-# OS info
-OS_VERSION = OSCheck().get_os_major_version()
-OS_TYPE = OSCheck.get_os_type()
-OS_FAMILY = OSCheck.get_os_family()
-
-# action commands
-SETUP_ACTION = setup
-START_ACTION = start
-STOP_ACTION = stop
-RESET_ACTION = reset
-UPGRADE_ACTION = upgrade
-UPGRADE_STACK_ACTION = upgradestack
-STATUS_ACTION = status
-SETUP_HTTPS_ACTION = setup-https
-LDAP_SETUP_ACTION = setup-ldap
-LDAP_SYNC_ACTION = sync-ldap
-SETUP_GANGLIA_HTTPS_ACTION = setup-ganglia-https
-ENCRYPT_PASSWORDS_ACTION = encrypt-passwords
-SETUP_SECURITY_ACTION = setup-security
-REFRESH_STACK_HASH_ACTION = refresh-stack-hash
-BACKUP_ACTION = backup
-RESTORE_ACTION = restore
-
-ACTION_REQUIRE_RESTART = [RESET_ACTION, UPGRADE_ACTION, UPGRADE_STACK_ACTION,
-

[8/8] ambari git commit: AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components - Part 1.4

2015-01-23 Thread fbarca
AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components - Part 
1.4

+Further decomposing ambari-server.py: Moved setup, reset and upgrade into 
their own files
+Made them OS-independent - now the same routines are being used in Windows too 
(save upgrade, which is not active in Windows yet)
+Merged the OS-dependent code for JDBC  JDK setup, database interface 
creation, firewall checks
+Refactored the database setup: split the supported DBMSes into distinct objects
+Replaced recursive calls in the user input routines


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/49955a35
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/49955a35
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/49955a35

Branch: refs/heads/trunk
Commit: 49955a35971f723dcc8d4acee57fbd9d6bec58f5
Parents: ccc58c1
Author: Florian Barca fba...@hortonworks.com
Authored: Fri Jan 23 17:36:55 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Fri Jan 23 17:36:55 2015 -0800

--
 .../src/main/python/ambari_commons/firewall.py  |   90 +-
 .../main/python/ambari_commons/inet_utils.py|6 +-
 .../main/python/ambari_commons/logging_utils.py |   16 +-
 ambari-server/conf/unix/ambari.properties   |   17 +-
 ambari-server/conf/windows/ambari.properties|2 +-
 .../src/main/python/ambari-server-windows.py|   51 +-
 ambari-server/src/main/python/ambari-server.py  | 2789 +---
 .../python/ambari_server/dbConfiguration.py |  432 ++-
 .../ambari_server/dbConfiguration_linux.py  | 1300 
 .../ambari_server/dbConfiguration_windows.py|  298 +-
 .../python/ambari_server/serverConfiguration.py |  449 ++-
 .../main/python/ambari_server/serverSetup.py| 1075 --
 .../python/ambari_server/serverSetup_linux.py   |  793 -
 .../python/ambari_server/serverSetup_windows.py |  300 --
 .../main/python/ambari_server/serverUpgrade.py  |  305 ++
 .../main/python/ambari_server/setupActions.py   |4 +-
 .../main/python/ambari_server/setupSecurity.py  |  275 +-
 .../src/main/python/ambari_server/userInput.py  |   29 +-
 .../custom_actions/scripts/check_host.py|2 +-
 .../2.1/hooks/before-ANY/scripts/setup_jdk.py   |4 +-
 .../package/scripts/mapred_service_check.py |4 +-
 .../src/test/python/TestAmbariServer.py | 3081 ++
 ambari-server/src/test/python/TestOSCheck.py|7 +-
 23 files changed, 4782 insertions(+), 6547 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/49955a35/ambari-common/src/main/python/ambari_commons/firewall.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/firewall.py 
b/ambari-common/src/main/python/ambari_commons/firewall.py
index 76d9890..311e6d5 100644
--- a/ambari-common/src/main/python/ambari_commons/firewall.py
+++ b/ambari-common/src/main/python/ambari_commons/firewall.py
@@ -18,9 +18,14 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 '''
 
+import subprocess
+import shlex
 from ambari_commons import OSCheck, OSConst
+from ambari_commons.logging_utils import print_warning_msg
+from ambari_commons.os_family_impl import OsFamilyImpl
 from ambari_commons.os_utils import run_os_command
 
+
 class Firewall(object):
   def __init__(self):
 # OS info
@@ -29,6 +34,16 @@ class Firewall(object):
 self.OS_FAMILY = OSCheck.get_os_family()
 
   def getFirewallObject(self):
+pass
+
+@OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY)
+class FirewallWindows(Firewall):
+  def getFirewallObject(self):
+return WindowsFirewallChecks()
+
+@OsFamilyImpl(os_family=OsFamilyImpl.DEFAULT)
+class FirewallLinux(Firewall):
+  def getFirewallObject(self):
 if self.OS_TYPE == OSConst.OS_UBUNTU:
   return UbuntuFirewallChecks()
 elif self.OS_TYPE == OSConst.OS_FEDORA and int(self.OS_VERSION) = 18:
@@ -47,23 +62,31 @@ class FirewallChecks(object):
 self.returncode = None
 self.stdoutdata = None
 self.stderrdata = None
+# stdout message
+self.MESSAGE_CHECK_FIREWALL = 'Checking iptables...'
 
   def get_command(self):
 return %s %s %s % (self.SERVICE_CMD, self.FIREWALL_SERVICE_NAME, 
self.SERVICE_SUBCMD)
 
-  def check_result(self, retcode, out, err):
+  def check_result(self):
 result = False
-if retcode == 3:
+if self.returncode == 3:
   result = False
-elif retcode == 0:
-  if Table: filter in out:
+elif self.returncode == 0:
+  if Table: filter in self.stdoutdata:
 result = True
 return result
 
+  def run_command(self):
+retcode, out, err = run_os_command(self.get_command())
+self.returncode = retcode
+self.stdoutdata = out
+self.stderrdata = err
+
   

[1/8] ambari git commit: AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components - Part 1.4

2015-01-23 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk ccc58c1cd - 49955a359


http://git-wip-us.apache.org/repos/asf/ambari/blob/49955a35/ambari-server/src/test/python/TestOSCheck.py
--
diff --git a/ambari-server/src/test/python/TestOSCheck.py 
b/ambari-server/src/test/python/TestOSCheck.py
index 9ec2db3..3cebe13 100644
--- a/ambari-server/src/test/python/TestOSCheck.py
+++ b/ambari-server/src/test/python/TestOSCheck.py
@@ -38,7 +38,8 @@ with patch(platform.linux_distribution, return_value = 
('Suse','11','Final')):
 with patch.object(utils, get_postgre_hba_dir):
   ambari_server = __import__('ambari-server')
 
-  from ambari_server.serverConfiguration import update_ambari_properties
+  from ambari_server.serverConfiguration import update_ambari_properties, 
configDefaults
+
 
 class TestOSCheck(TestCase):
   @patch.object(OSCheck, os_distribution)
@@ -203,10 +204,10 @@ class TestOSCheck(TestCase):
 
 (tf1, fn1) = tempfile.mkstemp()
 (tf2, fn2) = tempfile.mkstemp()
-serverConfiguration.AMBARI_PROPERTIES_BACKUP_FILE = fn1
+configDefaults.AMBARI_PROPERTIES_BACKUP_FILE = fn1
 serverConfiguration.AMBARI_PROPERTIES_FILE = fn2
 
-with open(serverConfiguration.AMBARI_PROPERTIES_BACKUP_FILE, 'w') as f:
+with open(configDefaults.AMBARI_PROPERTIES_BACKUP_FILE, 'w') as f:
   for line in properties:
 f.write(line)
 



[4/8] ambari git commit: AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components - Part 1.4

2015-01-23 Thread fbarca
http://git-wip-us.apache.org/repos/asf/ambari/blob/49955a35/ambari-server/src/main/python/ambari_server/serverSetup.py
--
diff --git a/ambari-server/src/main/python/ambari_server/serverSetup.py 
b/ambari-server/src/main/python/ambari_server/serverSetup.py
index 7d45445..b012fc4 100644
--- a/ambari-server/src/main/python/ambari_server/serverSetup.py
+++ b/ambari-server/src/main/python/ambari_server/serverSetup.py
@@ -18,267 +18,396 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 '''
 
-import socket
+import optparse
+import os
+import re
+import shutil
 import sys
-import urllib2
-from ambari_commons.inet_utils import force_download_file
-from ambari_commons.logging_utils import print_warning_msg, print_error_msg
-from ambari_commons.os_utils import is_root
 
-from serverConfiguration import *
-from setupSecurity import adjust_directory_permissions, get_is_secure, 
store_password_file, encrypt_password, \
+from ambari_commons.exceptions import FatalException, NonFatalException
+from ambari_commons.firewall import Firewall
+from ambari_commons.inet_utils import force_download_file
+from ambari_commons.logging_utils import get_silent, print_info_msg, 
print_warning_msg, print_error_msg
+from ambari_commons.os_check import OSConst
+from ambari_commons.os_family_impl import OsFamilyFuncImpl, OsFamilyImpl
+from ambari_commons.os_utils import run_os_command, is_root
+from ambari_commons.str_utils import compress_backslashes
+from ambari_server.dbConfiguration import DBMSConfigFactory, check_jdbc_drivers
+from ambari_server.serverConfiguration import configDefaults, JDKRelease, \
+  get_ambari_properties, get_full_ambari_classpath, get_java_exe_path, 
get_JAVA_HOME, get_value_from_properties, \
+  read_ambari_user, update_properties, validate_jdk, write_property, \
+  JAVA_HOME, JAVA_HOME_PROPERTY, JCE_NAME_PROPERTY, JDBC_RCA_URL_PROPERTY, 
JDBC_URL_PROPERTY, \
+  JDK_NAME_PROPERTY, JDK_RELEASES, NR_USER_PROPERTY, OS_FAMILY, 
OS_FAMILY_PROPERTY, OS_TYPE, OS_TYPE_PROPERTY, OS_VERSION, \
+  RESOURCES_DIR_PROPERTY, SERVICE_PASSWORD_KEY, SERVICE_USERNAME_KEY, 
VIEWS_DIR_PROPERTY, PID_NAME, get_is_secure, \
   get_is_persisted
-from userInput import *
-from utils import *
+from ambari_server.setupSecurity import adjust_directory_permissions
+from ambari_server.userInput import get_YN_input, get_validated_string_input
+from ambari_server.utils import locate_file
 
-if OSCheck.is_windows_family():
-  from serverSetup_windows import *
-else:
-  # MacOS not supported
-  from serverSetup_linux import *
 
-JDK_INDEX = 0
+# selinux commands
+GET_SE_LINUX_ST_CMD = locate_file('sestatus', '/usr/sbin')
+SE_SETENFORCE_CMD = setenforce 0
+SE_STATUS_DISABLED = disabled
+SE_STATUS_ENABLED = enabled
+SE_MODE_ENFORCING = enforcing
+SE_MODE_PERMISSIVE = permissive
 
-def verify_setup_allowed():
-  properties = get_ambari_properties()
-  if properties == -1:
-print_error_msg(Error getting ambari properties)
-return -1
+# Non-root user setup commands
+NR_USER_COMMENT = Ambari user
 
-  isSecure = get_is_secure(properties)
-  (isPersisted, masterKeyFile) = get_is_persisted(properties)
-  if isSecure and not isPersisted and get_silent():
-print ERROR: Cannot run silent 'setup' with password encryption enabled  
\
-  and Master Key not persisted.
-print Ambari Server 'setup' exiting.
-return 1
-  return 0
+VIEW_EXTRACT_CMD = {0} -cp {1} + \
+   org.apache.ambari.server.view.ViewRegistry extract {2}  + 
\
+ + configDefaults.SERVER_OUT_FILE +  21
 
+MAKE_FILE_EXECUTABLE_CMD = chmod a+x {0}
 
-def check_ambari_user():
-  try:
-user = read_ambari_user()
-create_user = False
-update_user_setting = False
-if user is not None:
-  create_user = get_YN_input(NR_USER_CHANGE_PROMPT.format(user), False)
-  update_user_setting = create_user  # Only if we will create another user
-else:  # user is not configured yet
-  update_user_setting = True  # Write configuration anyway
-  create_user = get_YN_input(NR_USER_CUSTOMIZE_PROMPT, False)
-  if not create_user:
-user = NR_DEFAULT_USER
-
-if create_user:
-  (retcode, user) = create_custom_user()
-  if retcode != 0:
-return retcode
+# use --no-same-owner when running as root to prevent uucp as the user 
(AMBARI-6478)
+UNTAR_JDK_ARCHIVE = tar --no-same-owner -xvf {0}
 
-if update_user_setting:
-  write_property(NR_USER_PROPERTY, user)
+JDK_PROMPT = [{0}] {1}\n
+JDK_CUSTOM_CHOICE_PROMPT = [{0}] - Custom 
JDK\n==\nEnter
 choice ({1}): 
+JDK_VALID_CHOICES = ^[{0}{1:d}]$
 
-adjust_directory_permissions(user)
-  except OSError as e:
-print_error_msg(Failed: %s % e.strerror)
-return 4
-  except Exception as e:
-print_error_msg(Unexpected error %s % e)
-return 

[2/2] ambari git commit: AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components

2015-01-14 Thread fbarca
AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components

+Merged serviceConfiguration*.py into serviceConfiguration.py
+Moved a series of configuration settings away from ambari-server.py
+Further optimized imports


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/cd2a67c8
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/cd2a67c8
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/cd2a67c8

Branch: refs/heads/trunk
Commit: cd2a67c8277bb899bb886f00f044a95fbf88fc06
Parents: 5620318
Author: Florian Barca fba...@hortonworks.com
Authored: Wed Jan 14 23:04:04 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Wed Jan 14 23:04:04 2015 -0800

--
 .../src/main/python/ambari_agent/HostCleanup.py |   8 -
 .../src/main/python/ambari-server-windows.py|  68 +-
 ambari-server/src/main/python/ambari-server.py  | 684 +++
 .../ambari_server/dbConfiguration_windows.py|  34 +-
 .../src/main/python/ambari_server/properties.py |  15 +-
 .../python/ambari_server/serverConfiguration.py | 291 +---
 .../ambari_server/serverConfiguration_linux.py  |  67 --
 .../serverConfiguration_windows.py  |  98 ---
 .../main/python/ambari_server/serverSetup.py|  85 ++-
 .../python/ambari_server/serverSetup_linux.py   |  15 +-
 .../python/ambari_server/serverSetup_windows.py |   4 +-
 .../main/python/ambari_server/setupSecurity.py  |  82 +--
 .../src/main/python/ambari_server/userInput.py  |   6 +
 .../src/test/python/TestAmbariServer.py | 542 +++
 ambari-server/src/test/python/TestOSCheck.py|  20 +-
 15 files changed, 750 insertions(+), 1269 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/cd2a67c8/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/HostCleanup.py 
b/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
index a128dad..7aeb70a 100644
--- a/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
+++ b/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
@@ -475,14 +475,6 @@ class HostCleanup:
 (stdoutdata, stderrdata) = process.communicate()
 return process.returncode, stdoutdata, stderrdata
 
-
-  def search_file(self, filename, search_path, pathsep=os.pathsep):
- Given a search path, find file with requested name 
-for path in string.split(search_path, pathsep):
-  candidate = os.path.join(path, filename)
-  if os.path.exists(candidate): return os.path.abspath(candidate)
-return None
-
 # Copy file and save with file.# (timestamp)
 def backup_file(filePath):
   if filePath is not None and os.path.exists(filePath):

http://git-wip-us.apache.org/repos/asf/ambari/blob/cd2a67c8/ambari-server/src/main/python/ambari-server-windows.py
--
diff --git a/ambari-server/src/main/python/ambari-server-windows.py 
b/ambari-server/src/main/python/ambari-server-windows.py
index 5f9d58f..acd91ab 100644
--- a/ambari-server/src/main/python/ambari-server-windows.py
+++ b/ambari-server/src/main/python/ambari-server-windows.py
@@ -19,22 +19,32 @@ limitations under the License.
 '''
 
 import optparse
+import os
+import sys
 import subprocess
 
-from ambari_commons.ambari_service import AmbariService, ENV_PYTHON_PATH
-from ambari_commons.logging_utils import get_verbose, set_verbose, get_silent, 
set_silent, get_debug_mode, set_debug_mode
+from ambari_commons.ambari_service import AmbariService
+from ambari_commons.exceptions import FatalException, NonFatalException
+from ambari_commons.logging_utils import print_info_msg, print_warning_msg, 
print_error_msg, \
+  get_verbose, set_verbose, get_silent, set_silent, get_debug_mode, 
set_debug_mode
+from ambari_commons.os_utils import remove_file, set_open_files_limit
 from ambari_commons.os_windows import SvcStatusCallback
 
 from ambari_server import utils
 from ambari_server.dbConfiguration import DBMSConfig
 from ambari_server.resourceFilesKeeper import ResourceFilesKeeper, 
KeeperException
-from ambari_server.serverConfiguration import *
+from ambari_server.serverConfiguration import find_jdk, get_ambari_classpath, 
get_ambari_properties, get_conf_dir, \
+  get_value_from_properties, configDefaults, DEBUG_MODE_KEY, 
RESOURCES_DIR_DEFAULT, RESOURCES_DIR_PROPERTY, \
+  SERVER_OUT_FILE_KEY, STACK_LOCATION_DEFAULT, STACK_LOCATION_KEY, 
SUSPEND_START_MODE_KEY, VERBOSE_OUTPUT_KEY
 from ambari_server.serverSetup import setup, reset, is_server_running, upgrade
-from ambari_server.setupActions import *
-from ambari_server.setupSecurity import *
 from ambari_server.serverSetup_windows import SERVICE_PASSWORD_KEY, 
SERVICE_USERNAME_KEY
+from 

[1/2] ambari git commit: AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components

2015-01-14 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 562031851 - cd2a67c82


http://git-wip-us.apache.org/repos/asf/ambari/blob/cd2a67c8/ambari-server/src/main/python/ambari_server/setupSecurity.py
--
diff --git a/ambari-server/src/main/python/ambari_server/setupSecurity.py 
b/ambari-server/src/main/python/ambari_server/setupSecurity.py
index e6879b9..277dd12 100644
--- a/ambari-server/src/main/python/ambari_server/setupSecurity.py
+++ b/ambari-server/src/main/python/ambari_server/setupSecurity.py
@@ -19,18 +19,33 @@ limitations under the License.
 '''
 import datetime
 import fileinput
+import os
 import random
+import re
+import shutil
 import socket
 import stat
+import string
 import sys
 import tempfile
 import urllib2
 
-from ambari_commons.exceptions import *
-from ambari_commons.os_utils import run_os_command
-from serverConfiguration import *
-from setupActions import *
-from userInput import *
+from ambari_commons.exceptions import NonFatalException, FatalException
+from ambari_commons.logging_utils import get_silent, print_warning_msg, 
print_error_msg, print_info_msg
+from ambari_commons.os_check import OSCheck, OSConst
+from ambari_commons.os_utils import copy_file, is_root, is_valid_filepath, 
remove_file, set_file_permissions, \
+  run_os_command, search_file
+from ambari_server.serverConfiguration import configDefaults, 
get_ambari_properties, read_ambari_user, \
+  get_value_from_properties, find_jdk, get_ambari_classpath, get_conf_dir, 
is_alias_string, find_properties_file, \
+  update_properties_2, \
+  JDBC_USE_INTEGRATED_AUTH_PROPERTY, JDBC_PASSWORD_PROPERTY, 
JDBC_PASSWORD_FILENAME, \
+  JDBC_RCA_PASSWORD_FILE_PROPERTY, JDBC_RCA_PASSWORD_ALIAS, \
+  JDBC_METRICS_USE_INTEGRATED_AUTH_PROPERTY, JDBC_METRICS_PASSWORD_PROPERTY, 
JDBC_METRICS_PASSWORD_FILENAME, \
+  JDBC_METRICS_PASSWORD_ALIAS, \
+  BOOTSTRAP_DIR_PROPERTY, GET_FQDN_SERVICE_URL, BLIND_PASSWORD
+from setupActions import SETUP_ACTION, LDAP_SETUP_ACTION
+from ambari_server.userInput import get_YN_input, get_validated_string_input, 
get_validated_filepath_input, \
+  get_prompt_default
 
 
 SSL_PASSWORD_FILE = pass.txt
@@ -59,19 +74,19 @@ SECURITY_PROVIDER_GET_CMD = {0} + os.sep + bin + os.sep 
+ java_bin +  -cp {
   os.pathsep + {2}  +\
   org.apache.ambari.server.security.encryption +\
   .CredentialProvider GET {3} {4} {5}  +\
-+ SERVER_OUT_FILE +  21
++ configDefaults.SERVER_OUT_FILE +  21
 
 SECURITY_PROVIDER_PUT_CMD = {0} + os.sep + bin + os.sep + java_bin +  -cp 
{1} +\
   os.pathsep + {2}  +\
   org.apache.ambari.server.security.encryption +\
   .CredentialProvider PUT {3} {4} {5}  +\
-+ SERVER_OUT_FILE +  21
++ configDefaults.SERVER_OUT_FILE +  21
 
 SECURITY_PROVIDER_KEY_CMD = {0} + os.sep + bin + os.sep + java_bin +  -cp 
{1} +\
   os.pathsep + {2}  +\
   org.apache.ambari.server.security.encryption +\
   .MasterKeyServiceImpl {3} {4} {5}  +\
-+ SERVER_OUT_FILE +  21
++ configDefaults.SERVER_OUT_FILE +  21
 
 SSL_KEY_DIR = 'security.server.keys_dir'
 SSL_API_PORT = 'client.api.ssl.port'
@@ -128,32 +143,6 @@ REGEX_ANYTHING = .*
 
 CLIENT_SECURITY_KEY = client.security
 
-# ownership/permissions mapping
-# path - permissions - user - group - recursive
-# Rules are executed in the same order as they are listed
-# {0} in user/group will be replaced by customized ambari-server username
-NR_ADJUST_OWNERSHIP_LIST = [
-
-  (/var/log/ambari-server, 644, {0}, True),
-  (/var/log/ambari-server, 755, {0}, False),
-  (/var/run/ambari-server, 644, {0}, True),
-  (/var/run/ambari-server, 755, {0}, False),
-  (/var/run/ambari-server/bootstrap, 755, {0}, False),
-  (/var/lib/ambari-server/ambari-env.sh, 700, {0}, False),
-  (/var/lib/ambari-server/keys, 600, {0}, True),
-  (/var/lib/ambari-server/keys, 700, {0}, False),
-  (/var/lib/ambari-server/keys/db, 700, {0}, False),
-  (/var/lib/ambari-server/keys/db/newcerts, 700, {0}, False),
-  (/var/lib/ambari-server/keys/.ssh, 700, {0}, False),
-  (/var/lib/ambari-server/resources/stacks/, 755, {0}, True),
-  (/var/lib/ambari-server/resources/custom_actions/, 755, {0}, True),
-  (/etc/ambari-server/conf, 644, {0}, True),
-  (/etc/ambari-server/conf, 755, {0}, False),
-  (/etc/ambari-server/conf/password.dat, 640, {0}, False),
-  # Also, /etc/ambari-server/conf/password.dat
-  # is generated later at store_password_file
-]
-
 
 def is_valid_https_port(port):
   properties = get_ambari_properties()
@@ -502,15 +491,6 @@ def get_encrypted_password(alias, password, properties):
 
   return password
 
-def is_alias_string(passwdStr):
-  regex = 

[3/3] ambari git commit: AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components

2015-01-13 Thread fbarca
AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components

+Fixed ambari_server import in TestAmbariServer.py, to allow future imports 
from modules in the ambari_server subdir
+Moved SILENT, VERBOSE and DEBUG_MODE to logging_utils.py, to allow future use 
from modular code
+Moved run_os_command to os_utils
+Extended the set of test platform primitives
+Optimized imports


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/16bee385
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/16bee385
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/16bee385

Branch: refs/heads/trunk
Commit: 16bee3858711178dd4025b56211f03b11fa75954
Parents: fb947b0
Author: Florian Barca fba...@hortonworks.com
Authored: Tue Jan 13 13:46:04 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Tue Jan 13 13:46:04 2015 -0800

--
 .../test/python/ambari_agent/TestHostInfo.py|   40 +-
 .../python/ambari_agent/TestRegistration.py |6 +-
 .../src/main/python/ambari_commons/firewall.py  |   21 +-
 .../main/python/ambari_commons/logging_utils.py |   32 +-
 .../src/main/python/ambari_commons/os_linux.py  |   14 +-
 .../src/main/python/ambari_commons/os_utils.py  |   21 +-
 .../main/python/ambari_commons/os_windows.py|  168 +-
 .../core/providers/windows/system.py|4 +-
 .../functions/get_unique_id_and_date.py |2 +-
 .../src/test/python/only_for_platform.py|   12 +
 ambari-server/conf/windows/ambari.properties|1 +
 .../src/main/python/ambari-server-windows.py|   22 +-
 ambari-server/src/main/python/ambari-server.py  |   57 +-
 .../ambari_server/dbConfiguration_linux.py  |8 +-
 .../python/ambari_server/serverConfiguration.py |8 +
 .../main/python/ambari_server/serverSetup.py|5 +-
 .../python/ambari_server/serverSetup_linux.py   |5 +-
 .../python/ambari_server/serverSetup_windows.py |2 +-
 .../main/python/ambari_server/setupSecurity.py  |6 +-
 .../src/main/python/ambari_server/userInput.py  |   12 +-
 .../custom_actions/scripts/install_packages.py  |8 +-
 .../src/test/python/TestAmbariServer.py | 2614 +-
 .../test/python/custom_actions/TestCheckHost.py |   18 +-
 23 files changed, 1574 insertions(+), 1512 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/16bee385/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
--
diff --git a/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py 
b/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
index 338d080..adeb798 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestHostInfo.py
@@ -31,7 +31,7 @@ from mock.mock import create_autospec
 import ambari_commons
 from ambari_commons import OSCheck
 import os
-from only_for_platform import only_for_platform, get_platform, 
PLATFORM_WINDOWS, PLATFORM_LINUX
+from only_for_platform import not_for_platform, get_platform, 
PLATFORM_WINDOWS, PLATFORM_LINUX
 
 if get_platform() != PLATFORM_WINDOWS:
   os_distro_value = ('Suse','11','Final')
@@ -51,7 +51,7 @@ with patch.object(OSCheck, os_distribution, new = 
MagicMock(return_value = os_
 @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
 class TestHostInfo(TestCase):
 
-  @only_for_platform(PLATFORM_LINUX)
+  @not_for_platform(PLATFORM_WINDOWS)
   @patch.object(OSCheck, 'get_os_family')
   
@patch('resource_management.libraries.functions.packages_analyzer.subprocessWithTimeout')
   def test_analyze_zypper_out(self, spwt_mock, get_os_family_mock):
@@ -82,7 +82,7 @@ class TestHostInfo(TestCase):
 self.assertTrue(installedPackages[3][2], HDP)
 self.assertTrue(installedPackages[6][1], 11-38.13.9)
 
-  @only_for_platform(PLATFORM_LINUX)
+  @not_for_platform(PLATFORM_WINDOWS)
   def test_getReposToRemove(self):
 l1 = [Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.15, 
Ambari 1.x, HDP]
 l2 = [Ambari, HDP-UTIL]
@@ -96,7 +96,7 @@ class TestHostInfo(TestCase):
 self.assertTrue(1, len(l3))
 self.assertEqual(l3[0], HDP-1.3.0)
 
-  @only_for_platform(PLATFORM_LINUX)
+  @not_for_platform(PLATFORM_WINDOWS)
   def test_perform_package_analysis(self):
 installedPackages = [
   [hadoop-a, 2.3, HDP], [zk, 3.1, HDP], [webhcat, 3.1, 
HDP],
@@ -143,7 +143,7 @@ class TestHostInfo(TestCase):
 for package in expected:
   self.assertTrue(package in allPackages)
 
-  @only_for_platform(PLATFORM_LINUX)
+  @not_for_platform(PLATFORM_WINDOWS)
   @patch.object(OSCheck, 'get_os_family')
   
@patch('resource_management.libraries.functions.packages_analyzer.subprocessWithTimeout')
   def test_analyze_yum_output(self, 

[1/3] ambari git commit: AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components

2015-01-13 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk fb947b0cc - 16bee3858


http://git-wip-us.apache.org/repos/asf/ambari/blob/16bee385/ambari-server/src/test/python/custom_actions/TestCheckHost.py
--
diff --git a/ambari-server/src/test/python/custom_actions/TestCheckHost.py 
b/ambari-server/src/test/python/custom_actions/TestCheckHost.py
index f910d06..cb4c540 100644
--- a/ambari-server/src/test/python/custom_actions/TestCheckHost.py
+++ b/ambari-server/src/test/python/custom_actions/TestCheckHost.py
@@ -23,7 +23,7 @@ import json
 import os
 import socket
 import subprocess
-from ambari_commons import inet_utils
+from ambari_commons import inet_utils, OSCheck
 from resource_management import Script, ConfigDictionary
 from mock.mock import patch
 from mock.mock import MagicMock
@@ -31,6 +31,13 @@ from unittest import TestCase
 
 from check_host import CheckHost
 
+from only_for_platform import only_for_platform, get_platform, PLATFORM_LINUX, 
PLATFORM_WINDOWS
+
+if get_platform() != PLATFORM_WINDOWS:
+  os_distro_value = ('Suse','11','Final')
+else:
+  os_distro_value = ('win2012serverr2','6.3','WindowsServer')
+
 
 class TestCheckHost(TestCase):
 
@@ -232,7 +239,7 @@ class TestCheckHost(TestCase):
 structured_out_mock.assert_called_with({})
 
 
-  @patch(platform.linux_distribution)
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch(platform.system)
   @patch.object(Script, 'get_config')
   @patch.object(Script, 'get_tmp_dir')
@@ -246,12 +253,7 @@ class TestCheckHost(TestCase):
   @patch('time.time')
   def testLastAgentEnv(self, time_mock, checkReverseLookup_mock, 
checkIptables_mock, getTransparentHugePage_mock,
getUMask_mock, checkLiveServices_mock, javaProcs_mock, 
put_structured_out_mock,
-   get_tmp_dir_mock, get_config_mock, systemMock, 
distMock):
-
-
-systemMock.return_value = Linux
-distMock.return_value = (CentOS, 6.3, None)
-
+   get_tmp_dir_mock, get_config_mock, systemmock):
 jsonFilePath = os.path.join(../resources/custom_actions, 
check_last_agent_env.json)
 with open(jsonFilePath, r) as jsonFile:
   jsonPayload = json.load(jsonFile)



ambari git commit: AMBARI-9032 [WinGA] Zookeeper on Windows fails to start after cluster setup

2015-01-08 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 61f3c0227 - 4bc86e37e


AMBARI-9032 [WinGA] Zookeeper on Windows fails to start after cluster setup

Adjusted the default ZK dataDir, to account for the internal character escaping.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4bc86e37
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4bc86e37
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4bc86e37

Branch: refs/heads/trunk
Commit: 4bc86e37e33d072c289d3bd36d9860464f5a33ed
Parents: 61f3c02
Author: Florian Barca fba...@hortonworks.com
Authored: Thu Jan 8 00:06:08 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Thu Jan 8 00:06:08 2015 -0800

--
 .../libraries/functions/install_hdp_msi.py| 2 +-
 .../HDPWIN/2.1/services/ZOOKEEPER/configuration/zoo.cfg.xml   | 2 +-
 .../HDPWIN/2.1/services/ZOOKEEPER/package/scripts/params.py   | 7 +--
 3 files changed, 7 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/4bc86e37/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
--
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
index c016fbc..bbedd2c 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/install_hdp_msi.py
@@ -169,7 +169,7 @@ def install_windows_msi(msi_url, save_dir, save_file, 
hadoop_password, stack_ver
 hdp_stack_version = format_hdp_stack_version(stack_version)
 hdp_22_specific_props = ''
 if hdp_stack_version !=  and compare_versions(hdp_stack_version, '2.2') 
= 0:
-  hdp_22_specific_props = hdp_22
+  hdp_22_specific_props = hdp_22.format(hdp_data_dir=hdp_data_dir)
 
 # install msi
 download_file(msi_url, os.path.join(msi_save_dir, save_file))

http://git-wip-us.apache.org/repos/asf/ambari/blob/4bc86e37/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/ZOOKEEPER/configuration/zoo.cfg.xml
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/ZOOKEEPER/configuration/zoo.cfg.xml
 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/ZOOKEEPER/configuration/zoo.cfg.xml
index 244f75e..6505500 100644
--- 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/ZOOKEEPER/configuration/zoo.cfg.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/ZOOKEEPER/configuration/zoo.cfg.xml
@@ -23,7 +23,7 @@
 configuration
   property
 namedataDir/name
-valuec:\hadoop\zookeeper/value
+valuec:hadoopzookeeper/value
 descriptionData directory for ZooKeeper./description
   /property
 /configuration
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/4bc86e37/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/ZOOKEEPER/package/scripts/params.py
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/ZOOKEEPER/package/scripts/params.py
 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/ZOOKEEPER/package/scripts/params.py
index 930b6f0..de5b9bb 100644
--- 
a/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/ZOOKEEPER/package/scripts/params.py
+++ 
b/ambari-server/src/main/resources/stacks/HDPWIN/2.1/services/ZOOKEEPER/package/scripts/params.py
@@ -18,6 +18,7 @@ limitations under the License.
 Ambari Agent
 
 
+from ambari_commons.str_utils import ensure_double_backslashes
 
 from resource_management import *
 
@@ -30,14 +31,16 @@ hdp_root = os.environ[HADOOP_NODE_INSTALL_ROOT]
 zk_user = hadoop
 
 # notused zk_log_dir = config['configurations']['zookeeper-env']['zk_log_dir']
-zk_data_dir = config['configurations']['zoo.cfg']['dataDir']
+zk_data_dir = 
ensure_double_backslashes(config['configurations']['zoo.cfg']['dataDir'])
 tickTime = config['configurations']['zoo.cfg']['tickTime']
 initLimit = config['configurations']['zoo.cfg']['initLimit']
 syncLimit = config['configurations']['zoo.cfg']['syncLimit']
 clientPort = config['configurations']['zoo.cfg']['clientPort']
 
 if 'zoo.cfg' in config['configurations']:
-  zoo_cfg_properties_map = config['configurations']['zoo.cfg']
+  zoo_cfg_properties_map = config['configurations']['zoo.cfg'].copy()
+  # Fix the data dir - ZK won't start unless the backslashes are doubled
+  zoo_cfg_properties_map['dataDir'] = zk_data_dir
 else:
   zoo_cfg_properties_map = {}
 

ambari git commit: AMBARI-8980 [WinGA] Ambari Metrics Monitor service fails to import the psutil module

2015-01-05 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 8a7a4f2e3 - 3247aa461


AMBARI-8980 [WinGA] Ambari Metrics Monitor service fails to import the psutil 
module

Replaced the psutil egg generation and registration with a plain build which 
yields a readily-usable pyd module + scripts.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3247aa46
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3247aa46
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3247aa46

Branch: refs/heads/trunk
Commit: 3247aa4617154579bd426054f3a1b809225fa860
Parents: 8a7a4f2
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Jan 5 08:50:58 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Jan 5 08:50:58 2015 -0800

--
 ambari-metrics/ambari-metrics-assembly/pom.xml  |  1 +
 .../src/main/assembly/monitor-windows.xml   |  7 +---
 .../ambari-metrics-host-monitoring/pom.xml  |  8 ++--
 .../src/main/python/amhm_service.py | 42 +---
 .../src/main/python/core/__init__.py| 11 +++--
 5 files changed, 15 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/3247aa46/ambari-metrics/ambari-metrics-assembly/pom.xml
--
diff --git a/ambari-metrics/ambari-metrics-assembly/pom.xml 
b/ambari-metrics/ambari-metrics-assembly/pom.xml
index 10fbab9..69ed536 100644
--- a/ambari-metrics/ambari-metrics-assembly/pom.xml
+++ b/ambari-metrics/ambari-metrics-assembly/pom.xml
@@ -779,6 +779,7 @@
 
assemblydescriptor.monitorsrc/main/assembly/monitor-windows.xml/assemblydescriptor.monitor
 
assemblydescriptor.sinksrc/main/assembly/sink-windows.xml/assemblydescriptor.sink
 packagingFormatjar/packagingFormat
+python.build.version2.7/python.build.version
   /properties
 /profile
 profile

http://git-wip-us.apache.org/repos/asf/ambari/blob/3247aa46/ambari-metrics/ambari-metrics-assembly/src/main/assembly/monitor-windows.xml
--
diff --git 
a/ambari-metrics/ambari-metrics-assembly/src/main/assembly/monitor-windows.xml 
b/ambari-metrics/ambari-metrics-assembly/src/main/assembly/monitor-windows.xml
index 3b877a7..7372e13 100644
--- 
a/ambari-metrics/ambari-metrics-assembly/src/main/assembly/monitor-windows.xml
+++ 
b/ambari-metrics/ambari-metrics-assembly/src/main/assembly/monitor-windows.xml
@@ -51,11 +51,8 @@
   /includes
 /fileSet
 fileSet
-  directory${monitor.dir}/target/psutil_build/directory
-  outputDirectory/sbin/psutil/build/outputDirectory
-  includes
-include*.egg/include
-  /includes
+  
directory${monitor.dir}/target/psutil_build/lib.win-amd64-${python.build.version}/directory
+  outputDirectory/sbin/outputDirectory
 /fileSet
 fileSet
   directory${monitor.dir}/conf/windows/directory

http://git-wip-us.apache.org/repos/asf/ambari/blob/3247aa46/ambari-metrics/ambari-metrics-host-monitoring/pom.xml
--
diff --git a/ambari-metrics/ambari-metrics-host-monitoring/pom.xml 
b/ambari-metrics/ambari-metrics-host-monitoring/pom.xml
index 3a130ff..efe7112 100644
--- a/ambari-metrics/ambari-metrics-host-monitoring/pom.xml
+++ b/ambari-metrics/ambari-metrics-host-monitoring/pom.xml
@@ -164,10 +164,10 @@
   target name=psutils-compile
 exec dir=${basedir}/src/main/python/psutil 
executable=${executable.python} failonerror=true
   arg value=setup.py /
-  arg value=bdist_egg /
-  arg value=--bdist-dir /
-  arg value=${basedir}/target/psutil_build_temp /
-  arg value=--dist-dir /
+  arg value=build /
+  arg value=--build-temp /
+  arg value=${basedir}\target\psutil_build_temp /
+  arg value=--build-base /
   arg value=${basedir}/target/psutil_build /
 /exec
   /target

http://git-wip-us.apache.org/repos/asf/ambari/blob/3247aa46/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/amhm_service.py
--
diff --git 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/amhm_service.py 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/amhm_service.py
index 0f8daab..9d74f27 100644
--- 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/amhm_service.py
+++ 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/amhm_service.py
@@ -17,7 +17,6 @@ WITHOUT WARRANTIES 

ambari git commit: AMBARI-8824 Create AMS msi packages for windows server (echekanskyi via fbarca)

2015-01-05 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 3247aa461 - aa90346ec


AMBARI-8824 Create AMS msi packages for windows server
 (echekanskyi via fbarca)

Msi with all sinks, collector and monitor was created.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/aa90346e
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/aa90346e
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/aa90346e

Branch: refs/heads/trunk
Commit: aa90346ec0937348639fe70ce87ce385f8c9ac87
Parents: 3247aa4
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Jan 5 08:57:24 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Jan 5 08:57:24 2015 -0800

--
 ambari-metrics/ambari-metrics-assembly/pom.xml  | 212 +++
 .../src/main/assembly/collector-windows.xml |   7 +
 .../src/main/assembly/monitor-windows.xml   |   7 +
 .../src/main/assembly/sink-windows.xml  |   7 +-
 .../src/main/package/msi/collector.wxs  |  70 ++
 .../src/main/package/msi/monitor.wxs|  70 ++
 .../src/main/package/msi/sink.wxs   |  63 ++
 7 files changed, 435 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/aa90346e/ambari-metrics/ambari-metrics-assembly/pom.xml
--
diff --git a/ambari-metrics/ambari-metrics-assembly/pom.xml 
b/ambari-metrics/ambari-metrics-assembly/pom.xml
index 69ed536..c85e5c5 100644
--- a/ambari-metrics/ambari-metrics-assembly/pom.xml
+++ b/ambari-metrics/ambari-metrics-assembly/pom.xml
@@ -803,6 +803,218 @@
 packagingFormatjar/packagingFormat
   /properties
 /profile
+profile
+  idmsi/id
+  activation
+os
+  familyWindows/family
+/os
+  /activation
+  build
+plugins
+  !-- msi creation --
+  plugin
+groupIdorg.codehaus.mojo/groupId
+artifactIdexec-maven-plugin/artifactId
+version1.2/version
+executions
+  execution
+idrun-heat-collector/id
+phasepackage/phase
+goals
+  goalexec/goal
+/goals
+configuration
+  executableheat.exe/executable
+  arguments
+argumentdir/argument
+argument./argument
+argument-dr/argument
+argumentCOLLECTOR_INSTALL_DIRECTORY/argument
+argument-platform/argument
+argumentWin64/argument
+argument-cg/argument
+argumentAmbariMetricsCollectorGroup/argument
+argument-gg/argument
+argument-ke/argument
+argument-srd/argument
+argument-o/argument
+argument.\..\collector-files.wxs/argument
+  /arguments
+  
workingDirectory${basedir}/target/ambari-metrics-collector-${project.version}/workingDirectory
+/configuration
+  /execution
+  execution
+idrun-candle-collector/id
+phasepackage/phase
+goals
+  goalexec/goal
+/goals
+configuration
+  executablecandle.exe/executable
+  arguments
+argument-arch/argument
+argumentx64/argument
+argumentcollector.wxs/argument
+argumentcollector-files.wxs/argument
+  /arguments
+  workingDirectory${basedir}/target/workingDirectory
+/configuration
+  /execution
+  execution
+idrun-light-collector/id
+phasepackage/phase
+goals
+  goalexec/goal
+/goals
+configuration
+  executablelight.exe/executable
+  arguments
+argument-ext/argument
+argumentWixUIExtension/argument
+argument-b/argument
+
argument${basedir}/target/ambari-metrics-collector-${project.version}/argument
+argument-o/argument
+
argumentambari-metrics-collector-${project.version}.msi/argument
+argumentcollector.wixobj/argument
+argumentcollector-files.wixobj/argument
+  /arguments
+  workingDirectory${basedir}/target/workingDirectory
+/configuration
+  /execution
+  execution

ambari git commit: AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components

2015-01-05 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 1767fcfa4 - e4b2d34b6


AMBARI-8317 Refactor the OS-dependent Ambari Server Windows components

Pass 1.1
Preliminary changes. Introducing OS-dependent abstraction for functions.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e4b2d34b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e4b2d34b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e4b2d34b

Branch: refs/heads/trunk
Commit: e4b2d34b6bf1f1c31944576277cb71f8d771c2e8
Parents: 1767fcf
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Jan 5 15:51:48 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Jan 5 15:51:48 2015 -0800

--
 .../python/ambari_commons/os_family_impl.py | 42 +---
 1 file changed, 37 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/e4b2d34b/ambari-common/src/main/python/ambari_commons/os_family_impl.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/os_family_impl.py 
b/ambari-common/src/main/python/ambari_commons/os_family_impl.py
index f8a3379..65a502a 100644
--- a/ambari-common/src/main/python/ambari_commons/os_family_impl.py
+++ b/ambari-common/src/main/python/ambari_commons/os_family_impl.py
@@ -17,17 +17,20 @@ limitations under the License.
 '''
 
 import types
-from os_check import OSCheck
+from ambari_commons import OSCheck
 
 
 class OsFamilyImpl(object):
   
-  Base class for os depended factory. Usage::
+  Base class for os dependent factory. Usage::
 
   class BaseFoo(object): pass
-  @Factory(windows)
-  class OsFoo(object):pass
-  print BaseFoo()# OsFoo
+  @OsFamilyImpl(os_family=windows)
+  class OsFooW(BaseFoo):pass
+  print BaseFoo()# OsFooW
+  @OsFamilyImpl(os_family=OsFamilyImpl.DEFAULT)
+  class OsFooD(BaseFoo):pass
+  print BaseFoo()# OsFooD
 
   
 
@@ -62,3 +65,32 @@ class OsFamilyImpl(object):
 base_cls.__new__ = types.MethodType(new, base_cls)
 
 return cls
+
+class OsFamilyFuncImpl(object):
+  
+  Base class for os dependent function. Usage::
+
+  @OSFamilyFuncImpl(os_family=windows)
+  def os_foo(...):pass
+
+  
+  _func_impls = {}
+
+  def _createFunctionInstance(self, func):
+self._func_impls[func.__module__ + . + func.__name__ + . + 
self.os_const] = func
+
+def thunk(*args, **kwargs):
+  fn_id_base = func.__module__ + . + func.__name__
+  fn_id = fn_id_base + . + OSCheck.get_os_family()
+  if fn_id not in self._func_impls:
+fn_id = fn_id_base + . + OsFamilyImpl.DEFAULT
+
+  fn = self._func_impls[fn_id]
+  return fn(*args, **kwargs)
+return thunk
+
+  def __init__(self, os_family):
+self.os_const = os_family
+
+  def __call__(self, func):
+return self._createFunctionInstance(func)



ambari git commit: AMBARI-8933 Ambari Agent Component Cannot Run Tests on OSX

2015-01-05 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 685f9dd73 - 2c9820f69


AMBARI-8933 Ambari Agent Component Cannot Run Tests on OSX

Updated the mocks + a few missing OS-dependent implementations


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2c9820f6
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2c9820f6
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2c9820f6

Branch: refs/heads/trunk
Commit: 2c9820f694bb54cfbf109824f5b7c793f0da1fc9
Parents: 685f9dd
Author: Florian Barca fba...@hortonworks.com
Authored: Mon Jan 5 17:15:04 2015 -0800
Committer: Florian Barca fba...@hortonworks.com
Committed: Mon Jan 5 17:15:04 2015 -0800

--
 .../src/main/python/ambari_agent/HostCleanup.py | 14 --
 .../src/test/python/ambari_agent/TestActionQueue.py |  6 ++
 .../python/ambari_agent/TestActualConfigHandler.py  | 16 +++-
 .../test/python/ambari_agent/TestCertGeneration.py  |  9 +
 .../ambari_agent/TestCustomServiceOrchestrator.py   |  9 +
 .../src/test/python/ambari_agent/TestDataCleaner.py |  8 
 .../src/test/python/ambari_agent/TestHostname.py| 12 ++--
 .../src/test/python/ambari_agent/TestLiveStatus.py  | 11 ++-
 .../src/test/python/ambari_agent/TestMain.py|  3 +++
 .../src/test/python/ambari_agent/TestNetUtil.py | 10 +-
 .../test/python/ambari_agent/TestPythonExecutor.py  | 12 
 .../src/test/python/ambari_agent/TestSecurity.py|  9 +
 12 files changed, 112 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/HostCleanup.py 
b/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
index 35e7b51..a128dad 100644
--- a/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
+++ b/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
@@ -18,6 +18,8 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 '''
 import sys
+from ambari_commons.os_family_impl import OsFamilyImpl, OsFamilyFuncImpl
+
 # For compatibility with different OSes
 # Edit PYTHONPATH to be able to import common_functions
 sys.path.append(/usr/lib/python2.6/site-packages/)
@@ -34,8 +36,6 @@ import shlex
 import datetime
 from AmbariConfig import AmbariConfig
 from ambari_commons import OSCheck, OSConst
-if OSCheck.get_os_family() != OSConst.WINSRV_FAMILY:
-  from pwd import getpwnam
 
 
 logger = logging.getLogger()
@@ -423,7 +423,17 @@ class HostCleanup:
   self.do_erase_dir_silent([fileToCheck])
   logger.info(Deleting file/folder:  + fileToCheck)
 
+  @OsFamilyFuncImpl(os_family=OSConst.WINSRV_FAMILY)
   def get_user_ids(self, userList):
+
+userIds = []
+# No user ids to check in Windows for now
+return userIds
+
+  @OsFamilyFuncImpl(os_family=OsFamilyImpl.DEFAULT)
+  def get_user_ids(self, userList):
+from pwd import getpwnam
+
 userIds = []
 if userList:
   for user in userList:

http://git-wip-us.apache.org/repos/asf/ambari/blob/2c9820f6/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
--
diff --git a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py 
b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
index 53cad62..6c14e33 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
@@ -222,6 +222,7 @@ class TestActionQueue(TestCase):
 self.assertTrue(process_command_mock.call_count  1)
 
 
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch(traceback.print_exc)
   @patch.object(ActionQueue, execute_command)
   @patch.object(ActionQueue, execute_status_command)
@@ -441,6 +442,7 @@ class TestActionQueue(TestCase):
 self.assertEqual(len(report['reports']), 0)
 
 
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch.object(CustomServiceOrchestrator, runCommand)
   @patch(CommandStatusDict.CommandStatusDict)
   @patch.object(ActionQueue, status_update_callback)
@@ -481,6 +483,7 @@ class TestActionQueue(TestCase):
 self.assertEqual(len(report['reports']), 1)
 self.assertEqual(expected, report['reports'][0])
 
+  @patch.object(OSCheck, os_distribution, new = MagicMock(return_value = 
os_distro_value))
   @patch.object(ActualConfigHandler, write_client_components)
   @patch.object(CustomServiceOrchestrator, runCommand)
   @patch(CommandStatusDict.CommandStatusDict)
@@ -523,6 +526,7 @@ class 

[2/2] ambari git commit: Windows build for 2 Ambari Metrics service: Host Monitoring and Timeline Service (Collector).

2014-12-30 Thread fbarca
):
 filepath_ret = filepath
   return filepath_ret
 
-def search_file(filename, search_path, pathsep=os.pathsep):
-   Given a search path, find file with requested name 
+def _search_file(filename, search_path, pathsep):
   for path in string.split(search_path, pathsep):
 candidate = os.path.join(path, filename)
 if os.path.exists(candidate):
   return os.path.abspath(candidate)
   return None
 
+def search_file(filename, search_path, pathsep=os.pathsep):
+   Given a search path, find file with requested name 
+  return _search_file(filename, search_path, pathsep)
+
 def copy_file(src, dest_file):
   try:
 shutil.copyfile(src, dest_file)
@@ -103,9 +106,7 @@ def get_password(prompt):
   return os_getpass(prompt)
 
 def find_in_path(file):
-  dirs = os.environ[PATH].split(os.pathsep)
-  for dir in dirs:
-full_path = os.path.join(dir, file)
-if os.path.exists(full_path):
-  return full_path
-  raise Exception(File {} not found in PATH.format(file))
\ No newline at end of file
+  full_path = _search_file(file, os.environ[PATH], os.pathsep)
+  if full_path is None:
+raise Exception(File {0} not found in PATH.format(file))
+  return full_path
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/6c21b094/ambari-common/src/main/python/ambari_commons/os_windows.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/os_windows.py 
b/ambari-common/src/main/python/ambari_commons/os_windows.py
index 2fb98e4..7918a2f 100644
--- a/ambari-common/src/main/python/ambari_commons/os_windows.py
+++ b/ambari-common/src/main/python/ambari_commons/os_windows.py
@@ -402,7 +402,7 @@ class WinService(win32serviceutil.ServiceFramework):
   # _svc_display_name_ = The service display name
   # _svc_description_ = The service description
 
-  _heventSvcStop = win32event.CreateEvent(None, 0, 0, None)
+  _heventSvcStop = win32event.CreateEvent(None, 1, 0, None)
   _hmtxOut = win32event.CreateMutex(None, False, None)  #[fbarca] Python 
doesn't support critical sections
 
   def __init__(self, *args):
@@ -418,17 +418,18 @@ class WinService(win32serviceutil.ServiceFramework):
 
   def SvcStop(self):
 self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
-win32event.SetEvent(self._heventSvcStop)
+win32event.SetEvent(WinService._heventSvcStop)
 
   # Service code entry point. Override it to implement the intended 
functionality.
   def ServiceMain(self):
 #Default implementation, does nothing.
-win32event.WaitForSingleObject(self._heventSvcStop, win32event.INFINITE)
+win32event.WaitForSingleObject(WinService._heventSvcStop, 
win32event.INFINITE)
 pass
 
-  def DefCtrlCHandler(self):
+  @staticmethod
+  def DefCtrlCHandler():
 print_info_msg(Ctrl+C handler invoked. Stopping.)
-win32event.SetEvent(self._heventSvcStop)
+win32event.SetEvent(WinService._heventSvcStop)
 pass
 
   #username domain\\username : The Username the service is to run under
@@ -438,7 +439,7 @@ class WinService(win32serviceutil.ServiceFramework):
   #perfmonini file: .ini file to use for registering performance monitor data
   #perfmondll file: .dll file to use when querying the service for performance 
data, default = perfmondata.dll
   @classmethod
-  def Install(cls, startupMode = auto, username = None, password = None, 
interactive = False,
+  def Install(cls, classPath = None, startupMode = auto, username = None, 
password = None, interactive = False,
   perfMonIni = None, perfMonDll = None):
 installArgs = [sys.argv[0], --startup= + startupMode]
 if username is not None and username:
@@ -452,7 +453,8 @@ class WinService(win32serviceutil.ServiceFramework):
 if perfMonDll is not None and perfMonDll:
   installArgs.append(--perfmondll= + perfMonDll)
 installArgs.append(install)
-win32serviceutil.HandleCommandLine(cls, None, installArgs)
+
+win32serviceutil.HandleCommandLine(cls, classPath, installArgs)
 
   @classmethod
   def Start(cls, waitSecs = 30):
@@ -483,11 +485,12 @@ class WinService(win32serviceutil.ServiceFramework):
 
   def CheckForStop(self):
 #Check for stop event to be signaled
-return win32event.WAIT_OBJECT_0 == 
win32event.WaitForSingleObject(self._heventSvcStop, 1)
+return win32event.WAIT_OBJECT_0 == 
win32event.WaitForSingleObject(WinService._heventSvcStop, 1)
 
   def _StopOrWaitForChildProcessToFinish(self, childProcess):
 #Wait for the child process to finish or for the stop event to be signaled
-if(win32event.WAIT_OBJECT_0 == 
win32event.WaitForMultipleObjects([self._heventSvcStop, childProcess._handle], 
False, win32event.INFINITE)):
+if(win32event.WAIT_OBJECT_0 == 
win32event.WaitForMultipleObjects([WinService._heventSvcStop, 
childProcess._handle],
+ False, 
win32event.INFINITE)):
   # The OS only detaches the child process when

[1/2] ambari git commit: Windows build for 2 Ambari Metrics service: Host Monitoring and Timeline Service (Collector).

2014-12-30 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk 9884cbdd5 - 6c21b0942


http://git-wip-us.apache.org/repos/asf/ambari/blob/6c21b094/ambari-metrics/ambari-metrics-timelineservice/src/main/python/ambari_metrics_collector/serviceConfiguration.py
--
diff --git 
a/ambari-metrics/ambari-metrics-timelineservice/src/main/python/ambari_metrics_collector/serviceConfiguration.py
 
b/ambari-metrics/ambari-metrics-timelineservice/src/main/python/ambari_metrics_collector/serviceConfiguration.py
new file mode 100644
index 000..5e73e24
--- /dev/null
+++ 
b/ambari-metrics/ambari-metrics-timelineservice/src/main/python/ambari_metrics_collector/serviceConfiguration.py
@@ -0,0 +1,152 @@
+#!/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.
+'''
+
+import os
+
+from ambari_commons.exceptions import FatalException
+from ambari_commons.logging_utils import print_info_msg
+from ambari_commons.os_utils import search_file
+from ambari_metrics_collector.properties import Properties
+
+
+AMS_CONF_VAR = AMS_CONF
+DEFAULT_CONF_DIR = conf
+AMS_PROPERTIES_FILE = ams.properties
+
+JAVA_HOME = JAVA_HOME
+
+DEBUG_MODE_KEY = ams.server.debug
+SUSPEND_START_MODE_KEY = ams.server.debug.suspend.start
+
+SERVER_OUT_FILE_KEY = ams.output.file.path
+
+DEFAULT_LIBS_DIR = lib
+
+EMBEDDED_HBASE_MASTER_SERVICE = ams_hbase_master
+
+EMBEDDED_HBASE_SUBDIR = hbase
+
+JAVA_EXE_SUBPATH = bin\\java.exe
+
+JAVA_HEAP_MAX_DEFAULT = -Xmx1g
+
+HADOOP_HEAPSIZE = HADOOP_HEAPSIZE
+HADOOP_HEAPSIZE_DEFAULT = 1024
+
+DEBUG_MODE = False
+SUSPEND_START_MODE = False
+
+OUT_DIR = \\var\\log\\ambari-metrics-collector
+SERVER_OUT_FILE = OUT_DIR + \\ambari-metrics-collector.out
+SERVER_LOG_FILE = OUT_DIR + \\ambari-metrics-collector.log
+
+PID_DIR = \\var\\run\\ambari-metrics-collector
+PID_OUT_FILE = PID_DIR + \\ambari-metrics-collector.pid
+EXITCODE_OUT_FILE = PID_DIR + \\ambari-metrics-collector.exitcode
+
+SERVICE_USERNAME_KEY = TMP_AMC_USERNAME
+SERVICE_PASSWORD_KEY = TMP_AMC_PASSWORD
+
+SETUP_ACTION = setup
+START_ACTION = start
+STOP_ACTION = stop
+RESTART_ACTION = restart
+STATUS_ACTION = status
+
+def get_conf_dir():
+  try:
+conf_dir = os.environ[AMS_CONF_VAR]
+  except KeyError:
+conf_dir = DEFAULT_CONF_DIR
+  return conf_dir
+
+def find_properties_file():
+  conf_file = search_file(AMS_PROPERTIES_FILE, get_conf_dir())
+  if conf_file is None:
+err = 'File %s not found in search path $%s: %s' % (AMS_PROPERTIES_FILE,
+AMS_CONF_VAR, 
get_conf_dir())
+print err
+raise FatalException(1, err)
+  else:
+print_info_msg('Loading properties from ' + conf_file)
+  return conf_file
+
+# Load AMC properties and return dict with values
+def get_properties():
+  conf_file = find_properties_file()
+
+  properties = None
+  try:
+properties = Properties()
+properties.load(open(conf_file))
+  except (Exception), e:
+print 'Could not read %s: %s' % (conf_file, e)
+return -1
+  return properties
+
+def get_value_from_properties(properties, key, default=):
+  try:
+value = properties.get_property(key)
+if not value:
+  value = default
+  except:
+return default
+  return value
+
+def get_java_cp():
+  conf_dir = get_conf_dir()
+  conf_dir = os.path.abspath(conf_dir) + os.pathsep + 
os.path.join(os.path.abspath(DEFAULT_LIBS_DIR), *)
+  if conf_dir.find(' ') != -1:
+conf_dir = '' + conf_dir + ''
+  return conf_dir
+
+def find_jdk():
+  try:
+java_home = os.environ[JAVA_HOME]
+  except Exception:
+# No JAVA_HOME set
+err = ERROR: JAVA_HOME is not set and could not be found.
+raise FatalException(1, err)
+
+  if not os.path.isdir(java_home):
+err = ERROR: JAVA_HOME {0} does not exist..format(java_home)
+raise FatalException(1, err)
+
+  java_exe = os.path.join(java_home, JAVA_EXE_SUBPATH)
+  if not os.path.isfile(java_exe):
+err = ERROR: {0} is not executable..format(java_exe)
+raise FatalException(1, err)
+
+  return java_home
+
+def get_java_exe_path():
+  jdk_path = find_jdk()
+  java_exe = os.path.join(jdk_path, JAVA_EXE_SUBPATH)
+  return java_exe
+
+def build_jvm_args():
+  try:
+# check envvars which might override default 

[1/2] ambari git commit: AMBARI-8770 [WinGA] Add windows server assembly for AMS

2014-12-29 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk e7303b1ce - 19e972cf9


http://git-wip-us.apache.org/repos/asf/ambari/blob/19e972cf/ambari-metrics/ambari-metrics-timelineservice/src/main/python/amc_service.py
--
diff --git 
a/ambari-metrics/ambari-metrics-timelineservice/src/main/python/amc_service.py 
b/ambari-metrics/ambari-metrics-timelineservice/src/main/python/amc_service.py
new file mode 100644
index 000..b901e5c
--- /dev/null
+++ 
b/ambari-metrics/ambari-metrics-timelineservice/src/main/python/amc_service.py
@@ -0,0 +1,174 @@
+#!/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.
+'''
+
+import optparse
+import os
+import sys
+
+from ambari_commons.ambari_service import AmbariService
+from ambari_commons.exceptions import FatalException
+from ambari_commons.os_utils import remove_file
+from ambari_commons.os_windows import SvcStatusCallback, WinServiceController
+from ambari_metrics_collector.serviceConfiguration import get_properties, 
get_value_from_properties, DEBUG_MODE_KEY, \
+  SUSPEND_START_MODE_KEY, PID_OUT_FILE, SERVER_OUT_FILE_KEY, SERVER_OUT_FILE, 
SERVICE_USERNAME_KEY, SERVICE_PASSWORD_KEY, \
+  DEFAULT_CONF_DIR, EMBEDDED_HBASE_MASTER_SERVICE
+from embedded_hbase_service import EmbeddedHBaseService
+from main import server_process_main
+
+
+class AMCollectorService(AmbariService):
+  AmbariService._svc_name_ = AmbariMetricsCollector
+  AmbariService._svc_display_name_ = Ambari Metrics Collector
+  AmbariService._svc_description_ = Ambari Metrics Collector Service
+
+  AmbariService._AdjustServiceVersion()
+
+  # Adds the necessary script dir(s) to the Python's modules path.
+  # Modify this as the deployed product's dir structure changes.
+  def _adjustPythonPath(self, current_dir):
+python_path = os.path.join(current_dir, sbin)
+sys.path.insert(0, python_path)
+pass
+
+  @classmethod
+  def Install(cls, startupMode = auto, username = None, password = None, 
interactive = False,
+  perfMonIni = None, perfMonDll = None):
+script_path = os.path.dirname(__file__.replace('/', os.sep))
+classPath = os.path.join(script_path, cls.__module__) + . + cls.__name__
+
+return AmbariService.Install(classPath, startupMode, username, password, 
interactive,
+perfMonIni, perfMonDll)
+
+  def SvcDoRun(self):
+scmStatus = SvcStatusCallback(self)
+
+properties = get_properties()
+self.options.debug = get_value_from_properties(properties, DEBUG_MODE_KEY, 
self.options.debug)
+self.options.suspend_start = get_value_from_properties(properties, 
SUSPEND_START_MODE_KEY, self.options.suspend_start)
+
+self.redirect_output_streams()
+
+childProc = server_process_main(self.options, scmStatus)
+
+if not self._StopOrWaitForChildProcessToFinish(childProc):
+  return
+
+remove_file(PID_OUT_FILE)
+pass
+
+  def _InitOptionsParser(self):
+return init_options_parser()
+
+  def redirect_output_streams(self):
+properties = get_properties()
+
+outFilePath = properties[SERVER_OUT_FILE_KEY]
+if (outFilePath is None or outFilePath == ):
+  outFilePath = SERVER_OUT_FILE
+
+self._RedirectOutputStreamsToFile(outFilePath)
+pass
+
+def ctrlHandler(ctrlType):
+  AMCollectorService.DefCtrlCHandler()
+  return True
+
+def svcsetup():
+  AMCollectorService.set_ctrl_c_handler(ctrlHandler)
+
+  # we don't save password between 'setup' runs, so we can't run Install every 
time. We run 'setup' only if user and
+  # password provided or if service not installed
+  if (SERVICE_USERNAME_KEY in os.environ and SERVICE_PASSWORD_KEY in 
os.environ):
+EmbeddedHBaseService.Install(username=os.environ[SERVICE_USERNAME_KEY], 
password=os.environ[SERVICE_PASSWORD_KEY])
+AMCollectorService.Install(username=os.environ[SERVICE_USERNAME_KEY], 
password=os.environ[SERVICE_PASSWORD_KEY])
+  else:
+EmbeddedHBaseService.Install()
+AMCollectorService.Install()
+  pass
+
+#
+# Starts the Ambari Metrics Collector. The server can start as a service or 
standalone process.
+# args:
+#  options.is_process = True - start the server as a process. For now, there 
is no restrictions for the 

[2/7] ambari git commit: AMBARI-8373 Refactor the OS-dependent Ambari Server Windows components

2014-12-19 Thread fbarca
http://git-wip-us.apache.org/repos/asf/ambari/blob/2914d681/ambari-server/src/test/python/TestAmbariServer.py
--
diff --git a/ambari-server/src/test/python/TestAmbariServer.py 
b/ambari-server/src/test/python/TestAmbariServer.py
index 0eae33b..64349a1 100644
--- a/ambari-server/src/test/python/TestAmbariServer.py
+++ b/ambari-server/src/test/python/TestAmbariServer.py
@@ -35,20 +35,44 @@ import shutil
 from pwd import getpwnam
 from ambari_server.resourceFilesKeeper import ResourceFilesKeeper, 
KeeperException
 from ambari_server import BackupRestore
- 
+
+from ambari_commons import OSCheck, OSConst, Firewall, FirewallChecks
+from ambari_commons.exceptions import *
+from ambari_commons.os_linux import *
+from ambari_commons.os_utils import *
+from ambari_commons.inet_utils import *
+
 # We have to use this import HACK because the filename contains a dash
-from ambari_commons import Firewall, OSCheck, OSConst, FirewallChecks
+with patch(platform.linux_distribution, return_value = 
('Suse','11','Final')):
+  with patch(os.symlink):
+with patch(__builtin__.open):
+  with patch(glob.glob, return_value = ['/etc/init.d/postgresql-9.3']):
+ambari__server = __import__('ambari-server')
 
 with patch(platform.linux_distribution, return_value = 
('Suse','11','Final')):
   with patch(os.symlink):
 with patch(__builtin__.open):
   with patch(glob.glob, return_value = ['/etc/init.d/postgresql-9.3']):
-ambari_server = __import__('ambari-server')
+from ambari_server.dbConfiguration import *
+from ambari_server.dbConfiguration_linux import *
+from ambari_server.properties import *
+from ambari_server.serverConfiguration import *
+from ambari_server.serverSetup import *
+from ambari_server.userInput import *
 
-FatalException = ambari_server.FatalException
-NonFatalException = ambari_server.NonFatalException
 CURR_AMBARI_VERSION = 2.0.0
 
+db_YN_Inputs_test_ambariServerSetupWithCustomDbName_call_count = 0
+
+def db_YN_Inputs_ret_test_ambariServerSetupWithCustomDbName(*args, **kwargs):
+  global db_YN_Inputs_test_ambariServerSetupWithCustomDbName_call_count
+  if db_YN_Inputs_test_ambariServerSetupWithCustomDbName_call_count == 0:
+db_YN_Inputs_test_ambariServerSetupWithCustomDbName_call_count += 1
+return False
+  else:
+return True
+
+
 class TestAmbariServer(TestCase):
   def setUp(self):
 out = StringIO.StringIO()
@@ -58,27 +82,18 @@ class TestAmbariServer(TestCase):
   def tearDown(self):
 sys.stdout = sys.__stdout__
 
-
-  @patch.object(ambari_server, 'configure_database_username_password')
-  @patch.object(ambari_server, 'run_os_command')
-  @patch('optparse.Values')
-  def test_configure_pg_hba_ambaridb_users(self, OptParseValuesMock,
-   run_os_command_method,
-   
configure_database_username_password_method):
+  @patch(ambari_server.dbConfiguration_linux.run_os_command)
+  def test_configure_pg_hba_ambaridb_users(self, run_os_command_method):
 # Prepare mocks
 run_os_command_method.return_value = (0, , )
-opvm = OptParseValuesMock.return_value
-opvm.database_username = ffdf
+database_username = ffdf
 tf1 = tempfile.NamedTemporaryFile()
-ambari_server.PG_HBA_CONF_FILE = tf1.name
 # Run test
-ambari_server.configure_pg_hba_ambaridb_users()
+PGConfig._configure_pg_hba_ambaridb_users(tf1.name, database_username)
 # Check results
 self.assertTrue(run_os_command_method.called)
-self.assertTrue(configure_database_username_password_method.called)
-string_expected = self.get_file_string(self
-.get_samples_dir(configure_pg_hba_ambaridb_users1))
-string_actual = self.get_file_string(ambari_server.PG_HBA_CONF_FILE)
+string_expected = 
self.get_file_string(self.get_samples_dir(configure_pg_hba_ambaridb_users1))
+string_actual = self.get_file_string(tf1.name)
 self.assertEquals(string_expected, string_actual)
 pass
 
@@ -86,9 +101,9 @@ class TestAmbariServer(TestCase):
   def test_servicename_regex(self, raw_input_method):
 
 ''' Test to make sure the service name can contain digits '''
-ambari_server.SILENT = False
+ambari__server.SILENT = False
 raw_input_method.return_value = OT100
-result = ambari_server.get_validated_service_name(ambari, 1)
+result = OracleConfig._get_validated_service_name(ambari, 1)
 self.assertEqual(OT100, result, Not accepting digits)
 pass
 
@@ -96,31 +111,31 @@ class TestAmbariServer(TestCase):
   def test_dbname_regex(self, raw_input_method):
 
 ''' Test to make sure the service name can contain digits '''
-ambari_server.SILENT = False
+ambari__server.SILENT = False
 raw_input_method.return_value = OT100
-result = ambari_server.get_validated_db_name(ambari)
+result = LinuxDBMSConfig._get_validated_db_name(Database, ambari)

[7/7] ambari git commit: AMBARI-8373 Refactor the OS-dependent Ambari Server Windows components

2014-12-19 Thread fbarca
AMBARI-8373 Refactor the OS-dependent Ambari Server Windows components

Refactored the Ambari Server setup+reset+update.
+Pervasively adopted the OS-independent factory-based object model
+Unwired the setup-related code from ambari-server.py into separate files.
+Fixed the unit tests


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2914d681
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2914d681
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2914d681

Branch: refs/heads/trunk
Commit: 2914d681dacc675a0a4a379fd20066cfd415e8b8
Parents: bee9379
Author: Florian Barca fbarca@HW10923.local
Authored: Fri Dec 19 11:41:49 2014 -0800
Committer: Florian Barca fbarca@HW10923.local
Committed: Fri Dec 19 11:41:49 2014 -0800

--
 .../src/main/python/ambari_agent/HostInfo.py|   42 +
 .../src/main/python/ambari_commons/firewall.py  |   93 +-
 .../main/python/ambari_commons/inet_utils.py|   17 +-
 .../python/ambari_commons/os_family_impl.py |   35 +-
 .../src/main/python/ambari_commons/os_linux.py  |   13 +-
 .../src/main/python/ambari_commons/os_utils.py  |   20 +-
 .../main/python/ambari_commons/os_windows.py|  147 +-
 .../core/providers/windows/system.py|4 +-
 .../functions/get_unique_id_and_date.py |   33 +-
 ambari-server/conf/unix/ambari.properties   |   17 +-
 ambari-server/conf/windows/ambari.properties|   15 +-
 .../src/main/python/ambari-server-windows.py|   78 +-
 ambari-server/src/main/python/ambari-server.py  | 1272 +---
 .../python/ambari_server/dbConfiguration.py |  318 +-
 .../ambari_server/dbConfiguration_linux.py  | 1189 +++
 .../ambari_server/dbConfiguration_windows.py|  242 +-
 .../src/main/python/ambari_server/properties.py |   15 +-
 .../python/ambari_server/resourceFilesKeeper.py |4 +-
 .../python/ambari_server/serverConfiguration.py |  277 +-
 .../ambari_server/serverConfiguration_linux.py  |   67 -
 .../serverConfiguration_windows.py  |   98 -
 .../main/python/ambari_server/serverSetup.py| 1038 --
 .../python/ambari_server/serverSetup_linux.py   |  795 -
 .../python/ambari_server/serverSetup_windows.py |  313 --
 .../main/python/ambari_server/setupSecurity.py  |  111 +-
 .../src/main/python/ambari_server/userInput.py  |2 +-
 .../custom_actions/scripts/check_host.py|   24 +-
 .../src/test/python/TestAmbariServer.py | 3066 ++
 .../test/python/custom_actions/TestCheckHost.py |   14 +-
 29 files changed, 4149 insertions(+), 5210 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/2914d681/ambari-agent/src/main/python/ambari_agent/HostInfo.py
--
diff --git a/ambari-agent/src/main/python/ambari_agent/HostInfo.py 
b/ambari-agent/src/main/python/ambari_agent/HostInfo.py
index a99a85d..5789160 100644
--- a/ambari-agent/src/main/python/ambari_agent/HostInfo.py
+++ b/ambari-agent/src/main/python/ambari_agent/HostInfo.py
@@ -113,6 +113,48 @@ class HostInfo(object):
   pass
 return False
 
+  def getTransparentHugePage(self):
+
+Base declaration. The derived classes are supposed to override it and 
provide OS-specific implementations.
+:return:
+
+pass
+
+  def checkUsers(self, users, results):
+
+Base declaration. The derived classes are supposed to override it and 
provide OS-specific implementations.
+:return:
+
+pass
+
+  def checkIptables(self):
+
+Base declaration. The derived classes are supposed to override it and 
provide OS-specific implementations.
+:return:
+
+pass
+
+  def javaProcs(self, list):
+
+Base declaration. The derived classes are supposed to override it and 
provide OS-specific implementations.
+:return:
+
+pass
+
+  def getServiceStatus(self, serivce_name):
+
+Base declaration. The derived classes are supposed to override it and 
provide OS-specific implementations.
+:return:
+
+pass
+
+  def register(self, dict, componentsMapped=True, commandsInProgress=True):
+
+Base declaration. The derived classes are supposed to override it and 
provide OS-specific implementations.
+:return:
+
+pass
+
 
 @OsFamilyImpl(os_family=OsFamilyImpl.DEFAULT)
 class HostInfoLinux(HostInfo):

http://git-wip-us.apache.org/repos/asf/ambari/blob/2914d681/ambari-common/src/main/python/ambari_commons/firewall.py
--
diff --git a/ambari-common/src/main/python/ambari_commons/firewall.py 
b/ambari-common/src/main/python/ambari_commons/firewall.py
index b73cc0c..448d24e 100644
--- a/ambari-common/src/main/python/ambari_commons/firewall.py
+++ b/ambari-common/src/main/python

[1/7] ambari git commit: AMBARI-8373 Refactor the OS-dependent Ambari Server Windows components

2014-12-19 Thread fbarca
Repository: ambari
Updated Branches:
  refs/heads/trunk bee937981 - 2914d681d


http://git-wip-us.apache.org/repos/asf/ambari/blob/2914d681/ambari-server/src/test/python/custom_actions/TestCheckHost.py
--
diff --git a/ambari-server/src/test/python/custom_actions/TestCheckHost.py 
b/ambari-server/src/test/python/custom_actions/TestCheckHost.py
index cb934c9..567c032 100644
--- a/ambari-server/src/test/python/custom_actions/TestCheckHost.py
+++ b/ambari-server/src/test/python/custom_actions/TestCheckHost.py
@@ -17,19 +17,19 @@ 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.
 '''
-
 from stacks.utils.RMFTestCase import *
 import json
 import os
 import socket
 import subprocess
-from ambari_commons import inet_utils
-from resource_management import Script, ConfigDictionary
 from mock.mock import patch
 from mock.mock import MagicMock
-from unittest import TestCase
 
-from check_host import CheckHost
+with patch(platform.linux_distribution, return_value = 
('Suse','11','Final')):
+  from resource_management import Script,ConfigDictionary
+  from unittest import TestCase
+
+  from check_host import CheckHost
 
 
 class TestCheckHost(TestCase):
@@ -231,7 +231,7 @@ class TestCheckHost(TestCase):
 self.assertTrue(structured_out_mock.called)
 structured_out_mock.assert_called_with({})
 
-
+  @patch(platform.linux_distribution, return_value = ('Suse','11','Final'))
   @patch.object(Script, 'get_config')
   @patch.object(Script, 'get_tmp_dir')
   @patch('resource_management.libraries.script.Script.put_structured_out')
@@ -244,7 +244,7 @@ class TestCheckHost(TestCase):
   @patch('time.time')
   def testLastAgentEnv(self, time_mock, checkReverseLookup_mock, 
checkIptables_mock, getTransparentHugePage_mock,
getUMask_mock, checkLiveServices_mock, javaProcs_mock, 
put_structured_out_mock,
-   get_tmp_dir_mock, get_config_mock):
+   get_tmp_dir_mock, get_config_mock, 
platform_linux_distribution_mock):
 jsonFilePath = os.path.join(../resources/custom_actions, 
check_last_agent_env.json)
 with open(jsonFilePath, r) as jsonFile:
   jsonPayload = json.load(jsonFile)



  1   2   >