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

Hudson commented on AMBARI-22481:
---------------------------------

SUCCESS: Integrated in Jenkins build Ambari-trunk-Commit #8469 (See 
[https://builds.apache.org/job/Ambari-trunk-Commit/8469/])
AMBARI-22481. Make Ambari LDAP configuration API consistent with (rlevas: 
[http://git-wip-us.apache.org/repos/asf?p=ambari.git&a=commit&h=4240f8496175bf9fb369b9411e71ad1127e356ad])
* (add) 
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariServerLDAPConfigurationHandler.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/service/ads/detectors/UserGroupMemberAttrDetector.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/service/LdapFacade.java
* (delete) 
ambari-server/src/test/java/org/apache/ambari/server/ldap/domain/TestAmbariLdapConfigurationFactory.java
* (delete) 
ambari-server/src/main/java/org/apache/ambari/server/api/services/ldap/LdapRequestInfo.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommand.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/api/services/RootServiceComponentConfigurationService.java
* (delete) 
ambari-server/src/main/java/org/apache/ambari/server/api/services/ldap/AmbariConfiguration.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/service/AmbariLdapConfigurationProvider.java
* (add) 
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/OperationStatusMetaData.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/service/ads/detectors/GroupMemberAttrDetector.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/api/services/serializers/JsonSerializer.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/service/ads/detectors/GroupObjectClassDetector.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/service/ads/detectors/UserNameAttrDetector.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/service/ads/DefaultLdapAttributeDetectionService.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/service/ads/DefaultLdapConfigurationService.java
* (delete) 
ambari-server/src/main/java/org/apache/ambari/server/api/services/ldap/LdapConfigOperation.java
* (add) 
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationHandlerFactory.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/LdapModule.java
* (edit) 
ambari-server/src/test/java/org/apache/ambari/server/api/services/stackadvisor/commands/StackAdvisorCommandTest.java
* (add) 
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariServerConfigurationHandler.java
* (edit) 
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProviderTest.java
* (edit) 
ambari-server/src/test/java/org/apache/ambari/server/ldap/service/ads/DefaultLdapAttributeDetectionServiceTest.java
* (add) 
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariServerConfigurationCategory.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/service/AmbariLdapFacade.java
* (add) 
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationHandler.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/domain/AmbariLdapConfiguration.java
* (delete) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/domain/AmbariLdapConfigKeys.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/service/ads/detectors/UserObjectClassDetector.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/service/ads/detectors/GroupNameAttrDetector.java
* (edit) 
ambari-server/src/test/java/org/apache/ambari/server/ldap/service/AmbariLdapFacadeTest.java
* (edit) 
ambari-server/src/test/java/org/apache/ambari/server/ldap/service/ads/DefaultLdapConfigurationServiceTest.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/api/handlers/CreateHandler.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RootServiceComponentConfigurationResourceProvider.java
* (delete) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/domain/AmbariLdapConfigurationFactory.java
* (add) 
ambari-server/src/main/java/org/apache/ambari/server/ldap/domain/AmbariLdapConfigurationKeys.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstanceFactoryImpl.java
* (delete) 
ambari-server/src/main/java/org/apache/ambari/server/api/services/ldap/LdapConfigurationService.java
* (edit) 
ambari-server/src/main/java/org/apache/ambari/server/api/handlers/UpdateHandler.java
* (delete) 
ambari-server/src/main/java/org/apache/ambari/server/api/services/ldap/LdapConfigurationRequest.java
* (edit) 
ambari-server/src/test/java/org/apache/ambari/server/ldap/LdapModuleFunctionalTest.java


> Make Ambari LDAP configuration API consistent with existing API
> ---------------------------------------------------------------
>
>                 Key: AMBARI-22481
>                 URL: https://issues.apache.org/jira/browse/AMBARI-22481
>             Project: Ambari
>          Issue Type: Task
>          Components: ambari-server
>    Affects Versions: 3.0.0
>            Reporter: Robert Levas
>            Assignee: Robert Levas
>            Priority: Critical
>             Fix For: 3.0.0
>
>         Attachments: AMBARI-22481_trunk_01.patch, AMBARI-22481_trunk_02.patch
>
>
> Make Ambari configuration API consistent with existing API. 
> The current API entry point (as of AMBARI-21307) to set and test the LDAP 
> configuration is {{/api/v1/ldapconfigs}}. This should be more inline with the 
> existing entry point for Ambari server related data...  
> {{/api/v1/services/AMBARI/components/AMBARI_SERVER}}.  
> The new API entry point for Ambari server related configuration data should 
> be {{/api/v1/services/AMBARI/components/AMBARI_SERVER/configurations}}.  For 
> the LDAP-specific configuration, the configuration category is 
> *_"ldap-configuration"_*.  
> See AMBARI-22418 for examples on setting and getting this configuration.
> For testing the configuration, the following directives should be used:
> * {{op=test-connection}}
> * {{op=test-attributes}}
> * {{op=detect-attributes}}
> For example:
> *Test the connection for a new set of configuration data*
> {noformat:title=URL}
> POST 
> /api/v1/services/AMBARI/components/AMBARI_SERVER/configurations?op=test-connection
> {noformat}
> {code:title=Payload}
> {
>   "Configuration": {    
>     "category" : "ldap-configuration",
>     "properties": {
>         "ambari.ldap.connectivity.server.host": "ldap.forumsys.com",
>         "ambari.ldap.connectivity.server.port": "389",
>         "ambari.ldap.connectivity.anonymous_bind": "true",
>         "ambari.ldap.attributes.user.search_base": "dc=example,dc=com",
>         "ambari.ldap.attributes.user.object_class": "person",
>         "ambari.ldap.attributes.user.name_attr": "uid",
>         "ambari.ldap.attributes.group.object_class": "groupOfUniqueNames",
>         "ambari.ldap.attributes.group.name_attr": "cn",
>         "ambari.ldap.attributes.group.member_attr": "uniqueMember",
>         "ambari.ldap.attributes.group.search_base": "dc=example,dc=com"
>       }
>   }
> }
> {code}
> {code:title=Success Response}
> Status 201: Created
> {
>   "operationResults" : {
>     "test-connection" : {
>       "status" : "success"
>     }
>   }
> }
> {code}
> {code:title=Error Response}
> Status 201: Created
> {
>   "operationResults" : {
>     "test-connection" : {
>       "status" : "error",
>       "message" : "An unexpected error has occurred."
>     }
>   }
> }
> {code}
> *Test the connection for an updated set of configuration data*
> {noformat:title=URL}
> PUT 
> /api/v1/services/AMBARI/components/AMBARI_SERVER/configurations/ldap-configuration?op=test-connection
> {noformat}
> {code:title=Payload}
> {
>   "Configuration": {    
>     "category" : "ldap-configuration",
>     "properties": {
>         "ambari.ldap.connectivity.server.host": "new.ldap.host.com"
>       }
>   }
> }
> {code}
> {code:title=Success Response}
> Status 200: OK
> {
>   "operationResults" : {
>     "test-connection" : {
>       "status" : "success"
>     }
>   }
> }
> {code}
> {code:title=Error Response}
> Status 200: OK
> {
>   "operationResults" : {
>     "test-connection" : {
>       "status" : "error",
>       "message" : "An unexpected error has occurred."
>     }
>   }
> }
> {code}
> *Test the attributes of a user for a new set of configuration data*
> {noformat:title=URL}
> POST 
> /api/v1/services/AMBARI/components/AMBARI_SERVER/configurations?op=test-attributes
> {noformat}
> {code:title=Payload}
> {
>   "Configuration": {    
>     "category" : "ldap-configuration",
>     "properties": {
>         "ambari.ldap.connectivity.server.host": "ldap.forumsys.com",
>         "ambari.ldap.connectivity.server.port": "389",
>         "ambari.ldap.connectivity.anonymous_bind": "true",
>         "ambari.ldap.attributes.user.search_base": "dc=example,dc=com",
>         "ambari.ldap.attributes.user.object_class": "person",
>         "ambari.ldap.attributes.user.name_attr": "uid",
>         "ambari.ldap.attributes.group.object_class": "groupOfUniqueNames",
>         "ambari.ldap.attributes.group.name_attr": "cn",
>         "ambari.ldap.attributes.group.member_attr": "uniqueMember",
>         "ambari.ldap.attributes.group.search_base": "dc=example,dc=com"
>       }
>   },
>  "RequestInfo":{
>       "parameters":{
>               "ambari.ldap.test.user.name": "euclid"
>       }
>   }
> }
> {code}
> {code:title=Success Response}
> Status 201: Created
> {
>   "operationResults" : {
>     "test-attributes" : {
>       "status" : "success",
>       "response" : {
>         "groups" : [
>           "Mathematicians"
>         ]
>       }
>     }
>   }
> }
> {code}
> {code:title=Error Response}
> Status 201: Created
> {
>   "operationResults" : {
>     "test-attributes" : {
>       "status" : "error",
>       "message" : "An unexpected error has occurred."
>     }
>   }
> }
> {code}
> *Test the attributes of a user for an updated set of configuration data*
> {noformat:title=URL}
> PUT 
> /api/v1/services/AMBARI/components/AMBARI_SERVER/configurations/ldap-configuration?op=test-attributes
> {noformat}
> {code:title=Payload}
> {
>   "Configuration": {    
>     "category" : "ldap-configuration",
>     "properties": {
>         "ambari.ldap.attributes.group.member_attr": "uniqueMember"
>       }
>   },
>  "RequestInfo":{
>       "parameters":{
>               "ambari.ldap.test.user.name": "euclid"
>       }
>   }
> }
> {code}
> {code:title=Success Response}
> Status 200: OK
> {
>   "operationResults" : {
>     "test-attributes" : {
>       "status" : "success",
>       "response" : {
>         "groups" : [
>           "Mathematicians"
>         ]
>       }
>     }
>   }
> }
> {code}
> {code:title=Error Response}
> Status 200: OK
> {
>   "operationResults" : {
>     "test-attributes" : {
>       "status" : "error",
>       "message" : "An unexpected error has occurred."
>     }
>   }
> }
> {code}
> *Detect the attributes for a user and a group for a new set of configuration 
> data*
> {noformat:title=URL}
> POST 
> /api/v1/services/AMBARI/components/AMBARI_SERVER/configurations?op=detect-attributes
> {noformat}
> {code:title=Payload}
> {
>   "Configuration": {    
>     "category" : "ldap-configuration",
>     "properties": {
>         "ambari.ldap.connectivity.server.host": "ldap.forumsys.com",
>         "ambari.ldap.connectivity.server.port": "389",
>         "ambari.ldap.connectivity.anonymous_bind": "true",
>         "ambari.ldap.attributes.user.search_base": "dc=example,dc=com",
>         "ambari.ldap.attributes.group.search_base": "dc=example,dc=com"
>       }
>   }
> }
> {code}
> {code:title=Success Response}
> Status 201: Created
> {
>   "operationResults" : {
>     "detect-attributes" : {
>       "status" : "success",
>       "response" : {
>         "attributes" : {
>           "ambari.ldap.attributes.group.name_attr" : "cn",
>           "ambari.ldap.attributes.user.object_class" : "person",
>           "ambari.ldap.attributes.group.member_attr" : "memberUid",
>           "ambari.ldap.attributes.user.group_member_attr" : "N/A",
>           "ambari.ldap.attributes.user.search_base" : "dc=example,dc=com",
>           "ambari.ldap.attributes.group.object_class" : "posixGroup",
>           "ambari.ldap.attributes.group.search_base" : "dc=example,dc=com",
>           "ambari.ldap.connectivity.server.host" : "ldap.forumsys.com",
>           "ambari.ldap.connectivity.anonymous_bind" : "true",
>           "ambari.ldap.connectivity.server.port" : "389",
>           "ambari.ldap.attributes.user.name_attr" : "sAMAccountName"
>         }
>       }
>     }
>   }
> }
> {code}
> {code:title=Error Response}
> Status 201: Created
> {
>   "operationResults" : {
>     "detect-attributes" : {
>       "status" : "error",
>       "message" : "An unexpected error has occurred."
>     }
>   }
> }
> {code}
> *Detect the attributes for a user and a group for an updated set of 
> configuration data*
> {noformat:title=URL}
> PUT 
> /api/v1/services/AMBARI/components/AMBARI_SERVER/configurations/ldap-configuration?op=test-attributes
> {noformat}
> {code:title=Payload}
> {
>   "Configuration": {    
>     "category" : "ldap-configuration",
>     "properties": {
>       "ambari.ldap.connectivity.anonymous_bind": "false",
>       "ambari.ldap.connectivity.bind_dn": 
> "cn=read-only-admin,dc=example,dc=com",
>       "ambari.ldap.connectivity.bind_password": "password"
>     }
>   }
> }
> {code}
> {code:title=Success Response}
> Status 200: OK
> {
>   "operationResults" : {
>     "detect-attributes" : {
>       "status" : "success",
>       "response" : {
>         "attributes" : {
>           "ambari.ldap.connectivity.bind_password" : "password",
>           "ambari.ldap.attributes.group.name_attr" : "cn",
>           "ambari.ldap.attributes.user.object_class" : "person",
>           "ambari.ldap.attributes.group.member_attr" : "memberUid",
>           "ambari.ldap.attributes.user.group_member_attr" : "N/A",
>           "ambari.ldap.attributes.user.search_base" : "dc=example,dc=com",
>           "ambari.ldap.connectivity.bind_dn" : 
> "cn=read-only-admin,dc=example,dc=com",
>           "ambari.ldap.attributes.group.object_class" : "posixGroup",
>           "ambari.ldap.attributes.group.search_base" : "dc=example,dc=com",
>           "ambari.ldap.connectivity.server.host" : "ldap.forumsys.com",
>           "ambari.ldap.connectivity.anonymous_bind" : "false",
>           "ambari.ldap.connectivity.server.port" : "389",
>           "ambari.ldap.attributes.user.name_attr" : "sAMAccountName"
>         }
>       }
>     }
>   }
> }
> {code}
> {code:title=Error Response}
> Status 200: OK
> {
>   "operationResults" : {
>     "detect-attributes" : {
>       "status" : "error",
>       "message" : "An unexpected error has occurred."
>     }
>   }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to