----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/63573/#review190640 -----------------------------------------------------------
Ship it! Ship It! - Attila Doroszlai On Nov. 9, 2017, 7:54 p.m., Swapan Shridhar wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/63573/ > ----------------------------------------------------------- > > (Updated Nov. 9, 2017, 7:54 p.m.) > > > Review request for Ambari, Jayush Luniya and Madhuvanthi Radhakrishnan. > > > Bugs: AMBARI-22366 > https://issues.apache.org/jira/browse/AMBARI-22366 > > > Repository: ambari > > > Description > ------- > > AMBARI-22366. POST, GET and UPDATE API for cluster settings. > (/clusters/{clusterName}/settings). > > **Background:** AMBARI-22196 did the following : > (1). Refactoring work of moving all cluster related configs/settings in > cluster-env to "cluster-settings" files. > (2). Implementing READ only API to access *cluster-settings* file > *setting(s)* : *http://<host>:<port>/api/v1/cluster_settings/ * > > - This was done to separate cluster related configs from stack related > configs. > > **This JIRA implements the following :** > > - POST, GET, UPDATE and DELETE APIs for cluster settings with endpoint : > *http://<host>:<port>/api/v1/clusters/[[clusterName]]/settings*, where > -- the cluster settings would be initially read from the above mentioned > read-only API : *http://<host>:<port>/api/v1/cluster_settings/*. > > - Further, added cluster *settings* as a sub-resource of *cluster* resource. > > > Diffs > ----- > > > ambari-server/src/main/java/org/apache/ambari/server/ClusterSettingNotFoundException.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/api/resources/ClusterResourceDefinition.java > e5680dd > > ambari-server/src/main/java/org/apache/ambari/server/api/resources/ClusterSettingResourceDefinition.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstanceFactoryImpl.java > 6096fa5 > > ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterService.java > 92f50f4 > > ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterSettingService.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java > 358b1bf > > ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java > 370f735 > > ambari-server/src/main/java/org/apache/ambari/server/controller/ClusterSettingRequest.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/controller/ClusterSettingResponse.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/controller/ControllerModule.java > 3db55d4 > > ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java > 20f4864 > > ambari-server/src/main/java/org/apache/ambari/server/controller/ServiceGroupResponse.java > 147650c > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java > 9050e3d > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterSettingResourceProvider.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/DefaultProviderModule.java > c219d23 > > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceGroupResourceProvider.java > 2e935af > > ambari-server/src/main/java/org/apache/ambari/server/controller/spi/Resource.java > bd6d7bb > > ambari-server/src/main/java/org/apache/ambari/server/events/ClusterSettingEvent.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ClusterSettingDAO.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterEntity.java > abbf709 > > ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterSettingEntity.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/resources/RootLevelSettingsManager.java > 3b74e69 > ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java > 5ba61b7 > > ambari-server/src/main/java/org/apache/ambari/server/state/ClusterSetting.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/state/ClusterSettingFactory.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/state/ClusterSettingImpl.java > PRE-CREATION > > ambari-server/src/main/java/org/apache/ambari/server/state/ServiceGroupImpl.java > 7737c0d > > ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java > e896d0e > ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql 19e23c5 > ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql b1990df > ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql 015d6ac > ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql d3c7ff6 > ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql 6bfe205 > ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql 65315ec > ambari-server/src/main/resources/META-INF/persistence.xml 009ecd5 > > > Diff: https://reviews.apache.org/r/63573/diff/4/ > > > Testing > ------- > > **Implemented API details:** > > **==================================================** > **POST:** > **=====** > > **Single Setting POST**: > > POST http://{{host1}}:8080/api/v1/clusters/c1/settings/ > > {code:title=REQUEST} > [ > { > "ClusterSettingInfo" : { > "cluster_setting_name": "security_enabled", > "cluster_setting_value": "false" > } > } > ] > {code} > > {code:title=RESPONSE} > { > "resources" : [ > { > "href" : > "http://172.22.87.100:8080/api/v1/clusters/c1/settings/security_enabled", > "ClusterSettingInfo" : { > "cluster_id" : 2, > "cluster_name" : "c1", > "cluster_setting_id" : 54, > "cluster_setting_name" : "security_enabled", > "cluster_setting_value" : "false" > } > } > ] > } > {code} > > **Multiple Setting POST**: > > POST http://{{host1}}:8080/api/v1/clusters/c1/settings/ > > {code:title=REQUEST} > [ > { > "ClusterSettingInfo" : { > "cluster_setting_name": "smokeuser", > "cluster_setting_value": "smoke_user1" > } > }, > { > "ClusterSettingInfo" : { > "cluster_setting_name": "ignore_groupsusers_create", > "cluster_setting_value": "false" > } > } > ] > {code} > > {code:title=RESPONSE} > { > "resources" : [ > { > "href" : > "http://172.22.87.100:8080/api/v1/clusters/c1/settings/smokeuser", > "ClusterSettingInfo" : { > "cluster_id" : 2, > "cluster_name" : "c1", > "cluster_setting_id" : 55, > "cluster_setting_name" : "smokeuser", > "cluster_setting_value" : "smoke_user1" > } > }, > { > "href" : > "http://172.22.87.100:8080/api/v1/clusters/c1/settings/ignore_groupsusers_create", > "ClusterSettingInfo" : { > "cluster_id" : 2, > "cluster_name" : "c1", > "cluster_setting_id" : 56, > "cluster_setting_name" : "ignore_groupsusers_create", > "cluster_setting_value" : "false" > } > } > ] > } > {code} > > > **==================================================** > **GET** > **====** > > **Multiple Setting GET**: > > GET http://{{host1}}:8080/api/v1/clusters/c1/settings/ > > {code:title=REQUEST} > [] > {code} > > {code:title=RESPONSE} > { > "href" : "http://172.22.87.100:8080/api/v1/clusters/c1/settings/", > "items" : [ > { > "href" : > "http://172.22.87.100:8080/api/v1/clusters/c1/settings/ignore_groupsusers_create", > "ClusterSettingInfo" : { > "cluster_name" : "c1", > "cluster_setting_name" : "ignore_groupsusers_create" > } > }, > { > "href" : > "http://172.22.87.100:8080/api/v1/clusters/c1/settings/security_enabled", > "ClusterSettingInfo" : { > "cluster_name" : "c1", > "cluster_setting_name" : "security_enabled" > } > }, > { > "href" : > "http://172.22.87.100:8080/api/v1/clusters/c1/settings/smokeuser", > "ClusterSettingInfo" : { > "cluster_name" : "c1", > "cluster_setting_name" : "smokeuser" > } > } > ] > } > {code} > > > **Single Setting GET**: > > GET http://{{host1}}:8080/api/v1/clusters/c1/settings/smokeuser > > {code:title=REQUEST} > [] > {code} > > {code:title=RESPONSE} > { > "href" : "http://172.22.87.100:8080/api/v1/clusters/c1/settings/smokeuser", > "ClusterSettingInfo" : { > "cluster_id" : 2, > "cluster_name" : "c1", > "cluster_setting_id" : 55, > "cluster_setting_name" : "smokeuser", > "cluster_setting_value" : "smoke_user1" > } > } > {code} > > > **==================================================** > **PUT** > **====** > > **Single Setting PUT**: > > PUT http://{{host1}}:8080/api/v1/clusters/c1/settings/security_enabled > > {code:title=REQUEST} > [ > { > "ClusterSettingInfo" : { > "cluster_setting_value": "true" > } > } > ] > {code} > > {code:title=RESPONSE} > { > "resources" : [ > { > "href" : > "http://172.22.87.100:8080/api/v1/clusters/c1/settings/security_enabled/security_enabled", > "ClusterSettingInfo" : { > "cluster_id" : 2, > "cluster_name" : "c1", > "cluster_setting_id" : 54, > "cluster_setting_name" : "security_enabled", > "cluster_setting_value" : "true" > } > } > ] > } > {code} > > > **Multiple Setting PUT**: > > PUT http://{{host1}}:8080/api/v1/clusters/c1/settings/ > > {code:title=REQUEST} > [ > { > "ClusterSettingInfo" : { > "cluster_setting_name" : "ignore_groupsusers_create", > "cluster_setting_value": "true" > } > }, > { > "ClusterSettingInfo" : { > "cluster_setting_name" : "smokeuser", > "cluster_setting_value": "smoke_user2" > } > } > ] > {code} > > {code:title=RESPONSE} > { > "resources" : [ > { > "href" : > "http://172.22.87.100:8080/api/v1/clusters/c1/settings/smokeuser", > "ClusterSettingInfo" : { > "cluster_id" : 2, > "cluster_name" : "c1", > "cluster_setting_id" : 55, > "cluster_setting_name" : "smokeuser", > "cluster_setting_value" : "smoke_user2" > } > }, > { > "href" : > "http://172.22.87.100:8080/api/v1/clusters/c1/settings/ignore_groupsusers_create", > "ClusterSettingInfo" : { > "cluster_id" : 2, > "cluster_name" : "c1", > "cluster_setting_id" : 56, > "cluster_setting_name" : "ignore_groupsusers_create", > "cluster_setting_value" : "true" > } > } > ] > } > {code} > > > ***==================================================** > **DELETE** > **======** > > DELETE http://{{host1}}:8080/api/v1/clusters/c1/settings/security_enabled > > {code:title=REQUEST} > [] > {code} > > {code:title=RESPONSE} > { > "deleteResult" : [ > { > "deleted" : { > "key" : "cluster_name: c1, cluster_setting_name: security_enabled" > } > } > ] > } > {code} > > > Thanks, > > Swapan Shridhar > >