-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/63573/
-----------------------------------------------------------
(Updated Nov. 9, 2017, 4:04 a.m.)
Review request for Ambari, Jayush Luniya and Madhuvanthi Radhakrishnan.
Changes
-------
Upated code based on last review comments.
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 (updated)
-----
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/3/
Changes: https://reviews.apache.org/r/63573/diff/2-3/
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