Browse Source

AMBARI-10317. Knox gateway fails to restart on Ubuntu 12.04 after system restart (alejandro)

Alejandro Fernandez 10 years ago
parent
commit
c9033c986c

+ 9 - 13
ambari-server/src/main/resources/common-services/KNOX/0.5.0.2.2/package/scripts/knox.py

@@ -60,12 +60,13 @@ def knox():
 def knox():
     import params
 
-    Directory(params.knox_conf_dir,
-              owner = params.knox_user,
-              group = params.knox_group,
-              recursive = True
-    )
-
+    directories = [params.knox_data_dir, params.knox_logs_dir, params.knox_pid_dir, params.knox_conf_dir]
+    for directory in directories:
+      Directory(directory,
+                owner = params.knox_user,
+                group = params.knox_group,
+                recursive = True
+      )
 
     XmlConfig("gateway-site.xml",
               conf_dir=params.knox_conf_dir,
@@ -93,16 +94,11 @@ def knox():
                       template_tag = None
       )
 
-    dirs_to_chown = (params.knox_data_dir, params.knox_logs_dir, params.knox_logs_dir, params.knox_pid_dir, params.knox_conf_dir)
-    cmd = ('chown','-R',format('{knox_user}:{knox_group}'))+dirs_to_chown
+    dirs_to_chown = tuple(directories)
+    cmd = ('chown','-R',format('{knox_user}:{knox_group}')) + dirs_to_chown
     Execute(cmd,
             sudo = True,
     )
-    
-    #File([params.knox_data_dir, params.knox_logs_dir, params.knox_logs_dir, params.knox_pid_dir, params.knox_conf_dir],
-    #     owner = params.knox_user,
-    #     group = params.knox_group
-    #)
 
     cmd = format('{knox_client_bin} create-master --master {knox_master_secret!p}')
     master_secret_exist = as_user(format('test -f {knox_master_secret_path}'), params.knox_user)

+ 15 - 1
ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py

@@ -34,6 +34,21 @@ class TestKnoxGateway(RMFTestCase):
                        target = RMFTestCase.TARGET_COMMON_SERVICES
     )
 
+    self.assertResourceCalled('Directory', '/var/lib/knox/data',
+                              owner = 'knox',
+                              group = 'knox',
+                              recursive = True
+    )
+    self.assertResourceCalled('Directory', '/var/log/knox',
+                              owner = 'knox',
+                              group = 'knox',
+                              recursive = True
+    )
+    self.assertResourceCalled('Directory', '/var/run/knox',
+                              owner = 'knox',
+                              group = 'knox',
+                              recursive = True
+    )
     self.assertResourceCalled('Directory', '/etc/knox/conf',
                               owner = 'knox',
                               group = 'knox',
@@ -64,7 +79,6 @@ class TestKnoxGateway(RMFTestCase):
      'knox:knox',
      '/var/lib/knox/data',
      '/var/log/knox',
-     '/var/log/knox',
      '/var/run/knox',
      '/etc/knox/conf'),
         sudo = True,