Ver Fonte

AMBARI-8145. Knox install should generate a good self signed certificate. (sumit gupta via jaimin)

Jaimin Jetly há 10 anos atrás
pai
commit
2b36334f2d

+ 7 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/knox.py

@@ -62,3 +62,10 @@ def knox():
             environment={'JAVA_HOME': params.java_home},
             not_if=format('test -f {knox_master_secret_path}')
     )
+
+    cmd = format('{knox_client_bin} create-cert --hostname {knox_host_name_in_cluster}')
+    Execute(cmd,
+            user=params.knox_user,
+            environment={'JAVA_HOME': params.java_home},
+            not_if=format('test -f {knox_cert_store_path}')
+    )

+ 2 - 0
ambari-server/src/main/resources/stacks/HDP/2.2/services/KNOX/package/scripts/params.py

@@ -116,7 +116,9 @@ knox_pid_file = status_params.knox_pid_file
 ldap_pid_file = status_params.ldap_pid_file
 knox_master_secret = config['configurations']['knox-env']['knox_master_secret']
 knox_master_secret_path = '/var/lib/knox/data/security/master'
+knox_cert_store_path = '/var/lib/knox/data/security/keystores/gateway.jks'
 knox_host_name = config['clusterHostInfo']['knox_gateway_hosts'][0]
+knox_host_name_in_cluster = config['hostname']
 knox_host_port = config['configurations']['gateway-site']['gateway.port']
 topology_template = config['configurations']['topology']['content']
 gateway_log4j = config['configurations']['gateway-log4j']['content']

+ 5 - 0
ambari-server/src/test/python/stacks/2.2/KNOX/test_knox_gateway.py

@@ -58,6 +58,11 @@ class TestKnoxGateway(RMFTestCase):
                               environment={'JAVA_HOME': '/usr/jdk64/jdk1.7.0_45'},
                               not_if='test -f /var/lib/knox/data/security/master'
     )
+    self.assertResourceCalled('Execute', '/usr/lib/knox/bin/knoxcli.sh create-cert --hostname c6401.ambari.apache.org',
+                              user='knox',
+                              environment={'JAVA_HOME': '/usr/jdk64/jdk1.7.0_45'},
+                              not_if='test -f /var/lib/knox/data/security/keystores/gateway.jks'
+    )
     self.assertResourceCalled('File', '/etc/knox/conf/ldap-log4j.properties',
                               mode=0644,
                               group='knox',