-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/56727/
-----------------------------------------------------------

(Updated Feb. 23, 2017, 6:06 p.m.)


Review request for Ambari, Alejandro Fernandez, Jayush Luniya, and Sumit 
Mohanty.


Changes
-------

AmbariManagementControllerImpl, AmbariCustomCommandExecutionHelper, 
ClientConfigResourceProvider - Code refactoring and naming conventions(Review 
comments)
ConfigHelper - Code refactoring and naming conventions(review comments)
ClientConfigResourceProviderTest, AmbariManagementControllerTest, 
AmbariCustomCommandExecutionHelperTest, hadoop-env.xml, default.json - Unit 
tests for the fix
AmbariMetaInfoTest, StackManagerTest - A new config file hadoop-env was added 
to the test/resources/stack/HDP/0.1/services/HDFS/configuration/ directory and 
some tests had a property count of 62 which has to be set to 64 due to the 
addition.
ServicesInfo, PropertiesInfo - Setter for unit tests


Bugs: AMBARI-20034
    https://issues.apache.org/jira/browse/AMBARI-20034


Repository: ambari


Description
-------

USER to GROUP mapping (hdfs_user -> hadoop_group) should be stack driven


Diffs (updated)
-----

  
ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java
 5c4f08e 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java
 b601893 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
 3b88ac9 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
 8a35c98 
  ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java 
13d0993 
  ambari-server/src/main/java/org/apache/ambari/server/state/PropertyInfo.java 
34c2941 
  ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java 
56fcd74 
  ambari-server/src/main/java/org/apache/ambari/server/state/UserGroupInfo.java 
PRE-CREATION 
  
ambari-server/src/main/java/org/apache/ambari/server/state/ValueAttributesInfo.java
 30a1533 
  ambari-server/src/main/resources/configuration-schema.xsd 1019dd9 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py
 a748b33 
  
ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
 19df802 
  
ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelperTest.java
 63a9e9c 
  
ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
 c40ff64 
  
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProviderTest.java
 8fad94e 
  
ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerTest.java
 87a1fc7 
  ambari-server/src/test/python/stacks/2.0.6/configs/default.json 2a27eca 
  
ambari-server/src/test/resources/stacks/HDP/0.1/services/HDFS/configuration/hadoop-env.xml
 PRE-CREATION 

Diff: https://reviews.apache.org/r/56727/diff/


Testing
-------

Manual Testing for Zeppelin.
===========================
Steps:
1. Make changes to 
/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-env.xml, 
/resources\/stacks/HDP/2.6/services/ZEPPELIN/configuration/zeppelin-env.xml 
```xml
<property>
        <name>zeppelin_user</name>
        <value>zeppelin</value>
    <property-type>USER</property-type>
        <description>User zeppelin daemon runs as</description>
    <value-attributes>
        <type>user</type>
        <overridable>false</overridable>
        <user-group>
                <property>
                        <type>zeppelin-env</type>
                        <name>zeppelin_group</name>
                </property>
                <property>
                        <type>hadoop-env</type>
                        <name>proxyuser_group</name>
                </property>
        </user-group>
    </value-attributes>
    <on-ambari-upgrade add="true"/>
</property>
```

2. Deploy a cluster with Zeppelin

3. Check commands-json for addition of user_group in hostLevelParams for 
following scenarios
        a. Start Zeppelin - AmbariManagementControllerImpl code path
        b. Restart Zeppelin - AmbariCustomCommandExecutionHelper code path
        c. ClientConfigResourceProviderTest - ClientConfigResourceProvider code 
path

[root@mradha22-1 data]# grep user_group command-552.json
"user_group": "{\"zeppelin\":[\"zeppelin\",\"users\"]}",

4. Verify if the user_group map is getting appended to the existing 
user_group_dict
        Comment the hard-coded logic for zeppelin user and group in 
stacks/HDP/2.0.6/hooks/before-ANY/scripts/params.py
        #if has_zeppelin_master:
            #user_to_groups_dict[zeppelin_user] = [zeppelin_group, user_group]
        #zeppelin_user = 
config['configurations']['zeppelin-env']["zeppelin_user"]
        #zeppelin_group = 
config['configurations']['zeppelin-env']["zeppelin_group"]

        [root@mradha22-1 data]# grep Madhu output-*.txt
        output-502.txt\:Madhu defaultdict(<function <lambda> at 0x13880c8>, 
{'ambari-qa': ['users'], 'zeppelin': ['zeppelin', 'users']})
        2017-02-15 22:21:48,575 - User['hdfs'] {'gid': 'hadoop', 
'fetch_nonlocal_groups': True, 'groups': ['hadoop']}
    2017-02-15 22:21:48,576 - User['zeppelin'] {'gid': 'hadoop', 
'fetch_nonlocal_groups': True, 'groups': ['zeppelin', 'users']}


Thanks,

Madhuvanthi Radhakrishnan

Reply via email to