[ https://issues.apache.org/jira/browse/AMBARI-17041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15360366#comment-15360366 ]
Matt commented on AMBARI-17041: ------------------------------- [~tctruong213] According to this JIRA, it is assumed that all property-types are mutually exclusive. Would there be a scenario where a property is of multiple types? > 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-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, 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)