----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/51705/ -----------------------------------------------------------
(Updated Sept. 12, 2016, 8:20 p.m.) Review request for Ambari, Di Li, Jonathan Hurley, and Nate Cole. Bugs: AMBARI-18334 https://issues.apache.org/jira/browse/AMBARI-18334 Repository: ambari Description ------- The configurations.json file loaded in the ambari-agent cache located at /var/lib/ambari-agent/cache/cluster_configuration contains password details in plaintext (Ex: ssl.client.keystore.password,ssl.client.truststore.password etc.). The values are loaded both in the memory cache and file cache, the file seems to be used only for debugging purposes, so it would be a better approach to mask the passwords in the file. Approach: The password_config_type is included in the heartbeat response for alert definition command and execution command, for which the values are dumped into the json file. The password_config_type contains the information on which properties in the configurations has the propertyType password. Based on the response, the json is parsed and the password values are masked before dumping it into the configurations.json file. Diffs (updated) ----- ambari-agent/src/main/python/ambari_agent/ClusterConfiguration.py 72b87be ambari-agent/src/test/python/ambari_agent/TestAlerts.py 2bddc43 ambari-agent/src/test/python/ambari_agent/TestClusterConfigurationCache.py a418f6d ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapper.java 0562c15 ambari-server/src/main/java/org/apache/ambari/server/agent/AlertDefinitionCommand.java 4d2e048 ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java 29737ee ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java 70c24f9 Diff: https://reviews.apache.org/r/51705/diff/ Testing ------- Updated the test cases. Ran mvn test. Manually tested by setting up a cluster, the password fields in the configurations.json is masked. During testing, everytime the ambari agent is restarted, it registers with the server and the memory cache and file cache are updated, the alerts in turn uses the value from the memory cache. Thanks, Anita Jebaraj