[ 
https://issues.apache.org/jira/browse/AMBARI-17041?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Keta Patel updated AMBARI-17041:
--------------------------------
    Description: 
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.

  was:
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 test properties are created using the new "Add Property" pop-up. 
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.


> 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)

Reply via email to