ambari-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keta Patel (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMBARI-17041) Support password type for custom properties
Date Thu, 21 Jul 2016 22:48:20 GMT

    [ https://issues.apache.org/jira/browse/AMBARI-17041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15388562#comment-15388562
] 

Keta Patel commented on AMBARI-17041:
-------------------------------------

The updated patch **"AMBARI-17041-July21-updated.patch"** has been updated as per the Review
Board suggestions. I have slightly modified the following code suggested to optimize the earlier
code:
var attributes = [];
['FINAL', 'PASSWORD', 'USER', 'GROUP', 'TEXT', 'ADDITIONAL_USER_PROPERTY', 'NOT_MANAGED_HDFS_PATH',
'VALUE_FROM_PROPERTY_FILE'].forEach(function (propertyName) {
   attributes.push({
    [propertyName] : Em.get(configJSON, 'properties_attributes.'+propertyName) || {}
  });
});

The square brackets for [propertyName] while pushing the JSON object in "attributes" is supported
in EMCAScript 6 standard. When I use this syntax, the build is successfully deployed and the
UI behaves as intended. However, the ambari-web tests fail throwing a Syntax Error (attachment
"ambari_web_failed_to_execute_test"). Looks like the test framework is not supporting ECMAScript
6 standard. On avoiding the usage of square brackets for this statement, as seen in the patch
"AMBARI-17041-July21-updated.patch", the ambari-web tests run successfully without any Syntax
error.



The ambari-web test results for "AMBARI-17041-July21-updated.patch" is as follows:

  29343 tests complete (55 seconds)
  154 tests pending


For reference, "AMBARI-17041-July21-ES6.patch" contains the ECMAScript 6 supported syntax.

> Support password type for custom properties
> -------------------------------------------
>
>                 Key: AMBARI-17041
>                 URL: https://issues.apache.org/jira/browse/AMBARI-17041
>             Project: Ambari
>          Issue Type: New Feature
>          Components: ambari-server
>    Affects Versions: 2.2.2
>            Reporter: Tuong Truong
>            Assignee: Keta Patel
>         Attachments: AMBARI-17041-July14.patch, AMBARI-17041-July15.patch, AMBARI-17041-July20.patch,
AMBARI-17041-trunk-July08.patch, AMBARI-17041-trunk-Jun29.patch, AMBARI-17041-trunk.patch,
add_property_pop_up.tiff, cluster_config_with_password_type_in_config_attributes_column.tiff,
custom_properties_after_save.tiff, custom_property_password_type.tiff, custom_property_regular_type.tiff,
property_type_schema.tiff, schema_of_clusterconfig_table.tiff
>
>
> Currently, services can define properties in the XML configuration files that is flagged
as type password:
>   <property>
>         <name>my.special.password</name>
>         <value></value>
>         <property-type>PASSWORD</property-type>
>         <description>Password to be masked</description>
>     </property> 
> and it will be masked properly in the UI as well as blueprint.
> Custom property should also support this option so that password can be added as custom
property and treat accordingly.
> ==========================================
> Proposed Design for the fix:
> ==========================================
> At present only the key-value information of the service properties is stored in the
DB ("clusterconfig" table in the "config_data" column). 
> The "config_attributes" column stores only certain attributes like "final" indicating
the list of properties set with the Final flag = true. 
> The information about the property-type (i.e PASSWORD, USER, GROUP, ADDITIONAL_USER_PROPERTY,
VALUE_FROM_PROPERTY_FILE, NOT_MANAGED_HDFS_PATH, etc) is extracted from the corresponding
service's property file (e.g. hive-site.xml, core-site.xml, webhcat-env.xml, etc). These files
contain information of the existing properties only. Custom Properties added by ambari user
have no provision to store their additional attributes. 
> Since, for this Jira we are concerned with only <property-type> attribute for Custom
Properties, we could add an additional field called "Property Type" in the "Add Property"
pop-up which shows up on clicking "Add Property ..." in the Custom property section for a
service. For now, only 2 options are shown in the drop-down list: NONE and PASSWORD .
> A few sample test properties are created using the new "Add Property" pop-up as can be
seen in the following attachments. 
> Attachments: 
> "add_property_pop_up.tiff"
> "custom_property_password_type.tiff"
> "custom_property_regular_type.tiff"
> "custom_properties_after_save.tiff"
> The <property-type> information for these Custom properties is stored in the DB
in "clusterconfig" table, "config_attributes" column.
> The schema for "clusterconfig" table can be seen in the attachment:
> "schema_of_clusterconfig_table.tiff"
> The content of the "config_attributes" column with the <property-type> information
from the new Custom properties can be seen in the attachment:
> "cluster_config_with_password_type_in_config_attributes_column.tiff"
> Note: The fix so far is performed only for new Custom properties. The <property-type>
information for existing properties is extracted from the corresponding property xml files
for the service.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message