This is an automated email from the ASF dual-hosted git repository.
vernedeng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git
The following commit(s) were added to refs/heads/master by this push:
new 2daa160dde [INLONG-8531][Manager] Restrict cluster permission to
Inlong administrator (#8532)
2daa160dde is described below
commit 2daa160dde37b2be88aa4901070f9c92980d997e
Author: vernedeng <[email protected]>
AuthorDate: Thu Jul 13 19:43:23 2023 +0800
[INLONG-8531][Manager] Restrict cluster permission to Inlong administrator
(#8532)
* [INLONG-8531][Manager] Restrict cluster permission to Inlong administrator
---
.../manager/dao/entity/InlongClusterEntity.java | 1 -
.../manager/dao/entity/InlongClusterTagEntity.java | 1 -
.../dao/mapper/InlongClusterEntityMapper.java | 3 --
.../dao/mapper/InlongClusterTagEntityMapper.java | 2 -
.../mappers/InlongClusterEntityMapper.xml | 50 ++++++++++------------
.../mappers/InlongClusterTagEntityMapper.xml | 26 +++++------
.../resources/mappers/InlongGroupEntityMapper.xml | 6 +--
.../dao/mapper/InlongClusterEntityMapperTest.java | 23 ----------
.../manager/pojo/cluster/ClusterPageRequest.java | 3 --
.../manager/pojo/cluster/ClusterRequest.java | 4 --
.../pojo/cluster/ClusterTagPageRequest.java | 3 --
.../manager/pojo/cluster/ClusterTagRequest.java | 4 --
.../service/core/impl/AgentServiceTest.java | 2 +
.../main/resources/h2/apache_inlong_manager.sql | 2 -
.../manager-web/sql/apache_inlong_manager.sql | 5 +--
inlong-manager/manager-web/sql/changes-1.8.0.sql | 14 +-----
.../web/controller/InlongClusterController.java | 23 +++++-----
17 files changed, 52 insertions(+), 120 deletions(-)
diff --git
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterEntity.java
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterEntity.java
index 0e0e6f079f..98d150d0bb 100644
---
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterEntity.java
+++
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterEntity.java
@@ -42,7 +42,6 @@ public class InlongClusterEntity implements Serializable {
private String extParams;
private String description;
private String heartbeat;
- private String tenant;
private String inCharges;
private Integer status;
diff --git
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterTagEntity.java
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterTagEntity.java
index 55afa3396d..a92390cd9a 100644
---
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterTagEntity.java
+++
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongClusterTagEntity.java
@@ -33,7 +33,6 @@ public class InlongClusterTagEntity implements Serializable {
private String clusterTag;
private String extParams;
private String description;
- private String tenant;
private String inCharges;
private Integer status;
diff --git
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
index d6ae75ef1a..ce2644691d 100644
---
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
+++
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
@@ -17,7 +17,6 @@
package org.apache.inlong.manager.dao.mapper;
-import org.apache.inlong.manager.common.tenant.MultiTenantQuery;
import org.apache.inlong.manager.dao.entity.InlongClusterEntity;
import org.apache.inlong.manager.pojo.cluster.ClusterPageRequest;
import org.apache.inlong.manager.pojo.sort.standalone.SortSourceClusterInfo;
@@ -30,7 +29,6 @@ import org.springframework.stereotype.Repository;
import java.util.List;
-@MultiTenantQuery
@Repository
public interface InlongClusterEntityMapper {
@@ -55,7 +53,6 @@ public interface InlongClusterEntityMapper {
*
* @return All cluster info.
*/
- @MultiTenantQuery(with = false)
@Options(resultSetType = ResultSetType.FORWARD_ONLY, fetchSize =
Integer.MIN_VALUE)
Cursor<SortSourceClusterInfo> selectAllClusters();
diff --git
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterTagEntityMapper.java
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterTagEntityMapper.java
index 44b7640650..0afed687f0 100644
---
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterTagEntityMapper.java
+++
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterTagEntityMapper.java
@@ -17,7 +17,6 @@
package org.apache.inlong.manager.dao.mapper;
-import org.apache.inlong.manager.common.tenant.MultiTenantQuery;
import org.apache.inlong.manager.dao.entity.InlongClusterTagEntity;
import org.apache.inlong.manager.pojo.cluster.ClusterTagPageRequest;
@@ -26,7 +25,6 @@ import org.springframework.stereotype.Repository;
import java.util.List;
-@MultiTenantQuery
@Repository
public interface InlongClusterTagEntityMapper {
diff --git
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
index e513afe492..e95cf6de36 100644
---
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
+++
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
@@ -32,7 +32,6 @@
<result column="ext_params" jdbcType="LONGVARCHAR"
property="extParams"/>
<result column="description" jdbcType="VARCHAR"
property="description"/>
<result column="heartbeat" jdbcType="LONGVARCHAR"
property="heartbeat"/>
- <result column="tenant" jdbcType="VARCHAR" property="tenant"/>
<result column="in_charges" jdbcType="VARCHAR" property="inCharges"/>
<result column="status" jdbcType="INTEGER" property="status"/>
<result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
@@ -43,7 +42,7 @@
<result column="version" jdbcType="INTEGER" property="version"/>
</resultMap>
<sql id="Base_Column_List">
- id, name, display_name, type, url, cluster_tags, ext_tag, token,
ext_params, description, heartbeat, tenant,
+ id, name, display_name, type, url, cluster_tags, ext_tag, token,
ext_params, description, heartbeat,
in_charges, status, is_deleted, creator, modifier, create_time,
modify_time, version
</sql>
@@ -52,14 +51,13 @@
insert into inlong_cluster (id, name, display_name, type,
url, cluster_tags, ext_tag,
token, ext_params, description,
- heartbeat, tenant, in_charges,
+ heartbeat, in_charges,
status, creator, modifier)
values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR},
#{displayName,jdbcType=VARCHAR},
#{type,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR},
#{clusterTags,jdbcType=VARCHAR},
#{extTag,jdbcType=VARCHAR}, #{token,jdbcType=VARCHAR},
#{extParams,jdbcType=LONGVARCHAR},
- #{description, jdbcType=VARCHAR},
#{heartbeat,jdbcType=LONGVARCHAR}, #{tenant,jdbcType=VARCHAR},
- #{inCharges,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER},
#{creator,jdbcType=VARCHAR},
- #{modifier,jdbcType=VARCHAR})
+ #{description, jdbcType=VARCHAR},
#{heartbeat,jdbcType=LONGVARCHAR}, #{inCharges,jdbcType=VARCHAR},
+ #{status,jdbcType=INTEGER}, #{creator,jdbcType=VARCHAR},
#{modifier,jdbcType=VARCHAR})
</insert>
<insert id="insertOnDuplicateKeyUpdate" useGeneratedKeys="true"
keyProperty="id"
@@ -67,30 +65,28 @@
insert into inlong_cluster (id, name, display_name, type,
url, cluster_tags, ext_tag,
token, ext_params, heartbeat,
- tenant, in_charges, status,
+ in_charges, status,
creator, modifier)
values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR},
#{displayName,jdbcType=VARCHAR},
#{type,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR},
#{clusterTags,jdbcType=VARCHAR},
#{extTag,jdbcType=VARCHAR},#{token,jdbcType=VARCHAR},
#{extParams,jdbcType=LONGVARCHAR},
- #{heartbeat,jdbcType=LONGVARCHAR}, #{tenant,jdbcType=VARCHAR},
#{inCharges,jdbcType=VARCHAR},
- #{status,jdbcType=INTEGER}, #{creator,jdbcType=VARCHAR},
#{modifier,jdbcType=VARCHAR})
+ #{heartbeat,jdbcType=LONGVARCHAR},
#{inCharges,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER},
+ #{creator,jdbcType=VARCHAR}, #{modifier,jdbcType=VARCHAR})
ON DUPLICATE KEY UPDATE cluster_tags = VALUES(cluster_tags),
ext_tag = VALUES(ext_tag),
token = VALUES(token),
ext_params = VALUES(ext_params),
heartbeat = VALUES(heartbeat),
- tenant = VALUES(tenant),
in_charges = VALUES(in_charges),
status = VALUES(status),
modifier = VALUES(modifier)
</insert>
- <select id="selectById" resultMap="BaseResultMap">
+ <select id="selectById" parameterType="java.lang.Integer"
resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from inlong_cluster
- where tenant = #{tenant,jdbcType=VARCHAR}
- and is_deleted = 0
+ where is_deleted = 0
and id = #{id,jdbcType=INTEGER}
</select>
<select id="selectByKey"
resultType="org.apache.inlong.manager.dao.entity.InlongClusterEntity">
@@ -98,8 +94,7 @@
<include refid="Base_Column_List"/>
from inlong_cluster
<where>
- tenant = #{tenant,jdbcType=VARCHAR}
- and is_deleted = 0
+ is_deleted = 0
<if test="type != null and type != ''">
and type = #{type, jdbcType=VARCHAR}
</if>
@@ -117,8 +112,7 @@
<include refid="Base_Column_List"/>
from inlong_cluster
<where>
- tenant = #{tenant,jdbcType=VARCHAR}
- and is_deleted = 0
+ is_deleted = 0
<if test="type != null and type != ''">
and type = #{type, jdbcType=VARCHAR}
</if>
@@ -135,8 +129,7 @@
<include refid="Base_Column_List"/>
from inlong_cluster
<where>
- tenant = #{tenant,jdbcType=VARCHAR}
- and is_deleted = 0
+ is_deleted = 0
<if test="name != null and name != ''">
and name = #{name, jdbcType=VARCHAR}
</if>
@@ -168,6 +161,11 @@
or ext_tag like CONCAT('%', #{keyword}, '%')
)
</if>
+ <if test="isAdminRole == false">
+ and (
+ creator = #{currentUser, jdbcType=VARCHAR} or
find_in_set(#{currentUser, jdbcType=VARCHAR}, in_charges)
+ )
+ </if>
<if test="status != null and status != ''">
and status = #{status, jdbcType=INTEGER}
</if>
@@ -179,8 +177,7 @@
<include refid="Base_Column_List"/>
from inlong_cluster
<where>
- tenant = #{tenant,jdbcType=VARCHAR}
- and is_deleted = 0
+ is_deleted = 0
<if test="clusterTag != null and clusterTag != ''">
and find_in_set(#{clusterTag, jdbcType=VARCHAR}, cluster_tags)
</if>
@@ -215,8 +212,7 @@
is_deleted = #{isDeleted,jdbcType=INTEGER},
modifier = #{modifier,jdbcType=VARCHAR},
version = #{version,jdbcType=INTEGER} + 1
- where tenant = #{tenant,jdbcType=VARCHAR}
- and id = #{id,jdbcType=INTEGER}
+ where id = #{id,jdbcType=INTEGER}
and version = #{version,jdbcType=INTEGER}
</update>
<update id="updateByIdSelective"
parameterType="org.apache.inlong.manager.dao.entity.InlongClusterEntity">
@@ -266,15 +262,13 @@
</if>
version = #{version,jdbcType=INTEGER} + 1
</set>
- where tenant = #{tenant,jdbcType=VARCHAR}
- and id = #{id,jdbcType=INTEGER}
+ where id = #{id,jdbcType=INTEGER}
and version = #{version,jdbcType=INTEGER}
</update>
- <delete id="deleteByPrimaryKey">
+ <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete
from inlong_cluster
- where tenant = #{tenant,jdbcType=VARCHAR}
- and id = #{id,jdbcType=INTEGER}
+ where id = #{id,jdbcType=INTEGER}
</delete>
</mapper>
diff --git
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterTagEntityMapper.xml
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterTagEntityMapper.xml
index 96160b856d..7054323383 100644
---
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterTagEntityMapper.xml
+++
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterTagEntityMapper.xml
@@ -25,7 +25,6 @@
<result column="cluster_tag" jdbcType="VARCHAR" property="clusterTag"/>
<result column="ext_params" jdbcType="LONGVARCHAR"
property="extParams"/>
<result column="description" jdbcType="VARCHAR"
property="description"/>
- <result column="tenant" jdbcType="VARCHAR" property="tenant"/>
<result column="in_charges" jdbcType="VARCHAR" property="inCharges"/>
<result column="status" jdbcType="INTEGER" property="status"/>
<result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
@@ -36,33 +35,31 @@
<result column="version" jdbcType="INTEGER" property="version"/>
</resultMap>
<sql id="Base_Column_List">
- id, cluster_tag, ext_params, description, tenant, in_charges, status,
is_deleted,
+ id, cluster_tag, ext_params, description, in_charges, status,
is_deleted,
creator, modifier, create_time, modify_time, version
</sql>
<insert id="insert" useGeneratedKeys="true" keyProperty="id"
parameterType="org.apache.inlong.manager.dao.entity.InlongClusterTagEntity">
insert into inlong_cluster_tag (id, cluster_tag, ext_params,
- description, tenant, in_charges,
+ description, in_charges,
status, creator, modifier)
values (#{id,jdbcType=INTEGER}, #{clusterTag,jdbcType=VARCHAR},
#{extParams,jdbcType=LONGVARCHAR},
- #{description, jdbcType=VARCHAR}, #{tenant,jdbcType=VARCHAR},
#{inCharges,jdbcType=VARCHAR},
+ #{description, jdbcType=VARCHAR},
#{inCharges,jdbcType=VARCHAR},
#{status,jdbcType=INTEGER}, #{creator,jdbcType=VARCHAR},
#{modifier,jdbcType=VARCHAR})
</insert>
- <select id="selectById" resultMap="BaseResultMap">
+ <select id="selectById" parameterType="java.lang.Integer"
resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from inlong_cluster_tag
- where tenant = #{tenant,jdbcType=VARCHAR}
- and id = #{id,jdbcType=INTEGER}
+ where id = #{id,jdbcType=INTEGER}
</select>
<select id="selectByTag"
resultType="org.apache.inlong.manager.dao.entity.InlongClusterTagEntity">
select
<include refid="Base_Column_List"/>
from inlong_cluster_tag
- where tenant = #{tenant,jdbcType=VARCHAR}
- and cluster_tag = #{clusterTag, jdbcType=VARCHAR}
+ where cluster_tag = #{clusterTag, jdbcType=VARCHAR}
and is_deleted = 0
</select>
<select id="selectByCondition"
@@ -72,8 +69,7 @@
<include refid="Base_Column_List"/>
from inlong_cluster_tag
<where>
- tenant = #{tenant,jdbcType=VARCHAR}
- and is_deleted = 0
+ is_deleted = 0
<if test="keyword != null and keyword != ''">
and cluster_tag like CONCAT('%', #{keyword}, '%')
</if>
@@ -107,15 +103,13 @@
</if>
version = #{version,jdbcType=INTEGER} + 1
</set>
- where tenant = #{tenant,jdbcType=VARCHAR}
- and id = #{id,jdbcType=INTEGER}
+ where id = #{id,jdbcType=INTEGER}
and version = #{version,jdbcType=INTEGER}
</update>
- <delete id="deleteByPrimaryKey">
+ <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete
from inlong_cluster_tag
- where tenant = #{tenant,jdbcType=VARCHAR}
- and id = #{id,jdbcType=INTEGER}
+ where id = #{id,jdbcType=INTEGER}
</delete>
</mapper>
\ No newline at end of file
diff --git
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupEntityMapper.xml
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupEntityMapper.xml
index 61cd905ede..6dbdcccb5a 100644
---
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupEntityMapper.xml
+++
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupEntityMapper.xml
@@ -76,12 +76,12 @@
<if test="name != null and name != ''">
name,
</if>
- <if test="tenant != null and tenant != ''">
- tenant,
- </if>
<if test="description != null and description != ''">
description,
</if>
+ <if test="tenant != null and tenant != ''">
+ tenant,
+ </if>
<if test="mqType != null and mqType != ''">
mq_type,
</if>
diff --git
a/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapperTest.java
b/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapperTest.java
index 96e246fb32..0fc1294d1e 100644
---
a/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapperTest.java
+++
b/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapperTest.java
@@ -41,17 +41,6 @@ public class InlongClusterEntityMapperTest extends
DaoBaseTest {
Assertions.assertNull(entityMapper.selectByNameAndType(entity.getName(),
entity.getType()));
}
- @Test
- public void deleteByPrimaryKeyWithOtherTenant() {
- InlongClusterEntity entity = genEntity();
- entityMapper.insert(entity);
- setOtherTenant(ANOTHER_TENANT);
- Assertions.assertEquals(0,
entityMapper.deleteByPrimaryKey(entity.getId()));
-
Assertions.assertNull(entityMapper.selectByNameAndType(entity.getName(),
entity.getType()));
- setOtherTenant(PUBLIC_TENANT);
-
Assertions.assertNotNull(entityMapper.selectByNameAndType(entity.getName(),
entity.getType()));
- }
-
@Test
public void selectByCondition() {
InlongClusterEntity entity = genEntity();
@@ -61,8 +50,6 @@ public class InlongClusterEntityMapperTest extends
DaoBaseTest {
request.setClusterTag("testTag");
Assertions.assertEquals(1,
entityMapper.selectByCondition(request).size());
- setOtherTenant(ANOTHER_TENANT);
- Assertions.assertEquals(0,
entityMapper.selectByCondition(request).size());
}
@Test
@@ -74,17 +61,7 @@ public class InlongClusterEntityMapperTest extends
DaoBaseTest {
String newType = "newType";
entity.setType(newType);
- // the tenant will be modified in mybatis interceptor, set tenant here
does not work
- entity.setTenant(ANOTHER_TENANT);
Assertions.assertEquals(1, entityMapper.updateById(entity));
- entity = entityMapper.selectById(entity.getId());
- Assertions.assertEquals(newType, entity.getType());
-
- // should be public
- Assertions.assertEquals(PUBLIC_TENANT, entity.getTenant());
-
- setOtherTenant(ANOTHER_TENANT);
- Assertions.assertEquals(0, entityMapper.updateById(entity));
}
private InlongClusterEntity genEntity() {
diff --git
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterPageRequest.java
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterPageRequest.java
index fece364a20..2e2b0d4ae2 100644
---
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterPageRequest.java
+++
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterPageRequest.java
@@ -55,9 +55,6 @@ public class ClusterPageRequest extends PageRequest {
@ApiModelProperty(value = "Parent cluster ID, used for cluster node")
private Integer parentId;
- @ApiModelProperty(value = "Inlong tenant of cluster", hidden = true)
- private String tenant;
-
@ApiModelProperty(value = "Keywords, name, url, cluster tag, etc.")
private String keyword;
diff --git
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
index 46c2b826ac..a2dd867a0c 100644
---
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
+++
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java
@@ -90,10 +90,6 @@ public abstract class ClusterRequest {
@Length(max = 256, message = "length must be less than or equal to 256")
private String description;
- @ApiModelProperty(value = "Inlong tenant of cluster", hidden = true)
- @Length(max = 256, message = "length must be less than or equal to 256")
- private String tenant;
-
@ApiModelProperty(value = "Name of responsible person, separated by
commas")
@Length(max = 512, message = "length must be less than or equal to 512")
private String inCharges;
diff --git
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagPageRequest.java
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagPageRequest.java
index cdc704fa2d..de2fb00eaf 100644
---
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagPageRequest.java
+++
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagPageRequest.java
@@ -44,9 +44,6 @@ public class ClusterTagPageRequest extends PageRequest {
@ApiModelProperty(value = "Status")
private Integer status;
- @ApiModelProperty(value = "Inlong tenant of cluster tag", hidden = true)
- private String tenant;
-
@ApiModelProperty(value = "Current user", hidden = true)
private String currentUser;
diff --git
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
index 46ecbb2694..a5ba5546ae 100644
---
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
+++
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java
@@ -54,10 +54,6 @@ public class ClusterTagRequest {
@Length(max = 256, message = "length must be less than or equal to 256")
private String description;
- @ApiModelProperty(value = "Inlong tenant of cluster tag", hidden = true)
- @Length(max = 256, message = "length must be less than or equal to 256")
- private String tenant;
-
@ApiModelProperty(value = "Name of in charges, separated by commas")
@Length(max = 512, message = "length must be less than or equal to 512")
private String inCharges;
diff --git
a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/AgentServiceTest.java
b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/AgentServiceTest.java
index 6f0cbebaf3..bfdbffba8c 100644
---
a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/AgentServiceTest.java
+++
b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/AgentServiceTest.java
@@ -66,6 +66,8 @@ class AgentServiceTest extends ServiceBaseTest {
private static MockAgent agent;
@Autowired
+ private HeartbeatService heartbeatService;
+ @Autowired
private StreamSourceService sourceService;
@Autowired
private AgentService agentService;
diff --git
a/inlong-manager/manager-test/src/main/resources/h2/apache_inlong_manager.sql
b/inlong-manager/manager-test/src/main/resources/h2/apache_inlong_manager.sql
index a12c0dcba6..d8017e86fb 100644
---
a/inlong-manager/manager-test/src/main/resources/h2/apache_inlong_manager.sql
+++
b/inlong-manager/manager-test/src/main/resources/h2/apache_inlong_manager.sql
@@ -81,7 +81,6 @@ CREATE TABLE IF NOT EXISTS `inlong_cluster_tag`
`cluster_tag` varchar(128) NOT NULL COMMENT 'Cluster tag',
`ext_params` mediumtext DEFAULT NULL COMMENT 'Extended params,
will be saved as JSON string',
`description` varchar(256) DEFAULT '' COMMENT 'Description of
cluster tag',
- `tenant` varchar(256) DEFAULT 'public' COMMENT 'Inlong
tenant of the inlong cluster tag',
`in_charges` varchar(512) NOT NULL COMMENT 'Name of responsible person,
separated by commas',
`status` int(4) DEFAULT '0' COMMENT 'Cluster status',
`is_deleted` int(11) DEFAULT '0' COMMENT 'Whether to
delete, 0: not deleted, > 0: deleted',
@@ -110,7 +109,6 @@ CREATE TABLE IF NOT EXISTS `inlong_cluster`
`ext_params` mediumtext DEFAULT NULL COMMENT
'Extended params, will be saved as JSON string',
`description` varchar(256) DEFAULT '' COMMENT
'Description of cluster',
`heartbeat` mediumtext DEFAULT NULL COMMENT
'Cluster heartbeat info',
- `tenant` varchar(256) NOT NULL DEFAULT 'public' COMMENT
'Inlong tenant of cluster',
`in_charges` varchar(512) NOT NULL COMMENT 'Name of responsible
person, separated by commas',
`status` int(4) DEFAULT '0' COMMENT 'Cluster
status',
`is_deleted` int(11) DEFAULT '0' COMMENT 'Whether
to delete, 0: not deleted, > 0: deleted',
diff --git a/inlong-manager/manager-web/sql/apache_inlong_manager.sql
b/inlong-manager/manager-web/sql/apache_inlong_manager.sql
index c38e413f30..8b0f155f36 100644
--- a/inlong-manager/manager-web/sql/apache_inlong_manager.sql
+++ b/inlong-manager/manager-web/sql/apache_inlong_manager.sql
@@ -90,7 +90,6 @@ CREATE TABLE IF NOT EXISTS `inlong_cluster_tag`
`cluster_tag` varchar(128) NOT NULL COMMENT 'Cluster tag',
`ext_params` mediumtext DEFAULT NULL COMMENT 'Extended params,
will be saved as JSON string',
`description` varchar(256) DEFAULT '' COMMENT 'Description of
cluster tag',
- `tenant` varchar(256) DEFAULT 'public' COMMENT 'Inlong
tenant of the inlong cluster tag',
`in_charges` varchar(512) NOT NULL COMMENT 'Name of responsible person,
separated by commas',
`status` int(4) DEFAULT '0' COMMENT 'Cluster status',
`is_deleted` int(11) DEFAULT '0' COMMENT 'Whether to
delete, 0: not deleted, > 0: deleted',
@@ -120,7 +119,6 @@ CREATE TABLE IF NOT EXISTS `inlong_cluster`
`ext_params` mediumtext DEFAULT NULL COMMENT
'Extended params, will be saved as JSON string',
`description` varchar(256) DEFAULT '' COMMENT
'Description of cluster',
`heartbeat` mediumtext DEFAULT NULL COMMENT
'Cluster heartbeat info',
- `tenant` varchar(256) NOT NULL DEFAULT 'public' COMMENT
'Inlong tenant of cluster',
`in_charges` varchar(512) NOT NULL COMMENT 'Name of responsible
person, separated by commas',
`status` int(4) DEFAULT '0' COMMENT 'Cluster
status',
`is_deleted` int(11) DEFAULT '0' COMMENT 'Whether
to delete, 0: not deleted, > 0: deleted',
@@ -131,8 +129,7 @@ CREATE TABLE IF NOT EXISTS `inlong_cluster`
`version` int(11) NOT NULL DEFAULT '1' COMMENT 'Version
number, which will be incremented by 1 after modification',
PRIMARY KEY (`id`),
UNIQUE KEY `unique_inlong_cluster` (`name`, `type`, `is_deleted`),
- INDEX `cluster_type_index` (`type`),
- INDEX `cluster_tenant_index` (`tenant`, `is_deleted`)
+ INDEX `cluster_type_index` (`type`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='Inlong cluster table';
diff --git a/inlong-manager/manager-web/sql/changes-1.8.0.sql
b/inlong-manager/manager-web/sql/changes-1.8.0.sql
index b1ef5f8a78..99a5a4eb96 100644
--- a/inlong-manager/manager-web/sql/changes-1.8.0.sql
+++ b/inlong-manager/manager-web/sql/changes-1.8.0.sql
@@ -83,8 +83,8 @@ INSERT INTO tenant_user_role(username, role_code, tenant,
creator)
FROM user;
-- To avoid the ambiguity, rename "tenant" in PulsarGroup & PulsarCluster to
"pulsarTenant"
-UPDATE inlong_group SET ext_params = replace(ext_params, '"tenant"',
'"pulsarTenant"');
-UPDATE inlong_cluster SET ext_params = replace(ext_params, '"tenant"',
'"pulsarTenant"');
+UPDATE inlong_group SET ext_params = replace(ext_params, '"tenant":',
'"pulsarTenant":');
+UPDATE inlong_cluster SET ext_params = replace(ext_params, '"tenant":',
'"pulsarTenant":');
ALTER TABLE `inlong_stream` MODIFY COLUMN `name` varchar(256) DEFAULT NULL
COMMENT 'The name of the inlong stream page display, can be Chinese';
@@ -99,16 +99,6 @@ ALTER TABLE `data_node`
CREATE INDEX datanode_tenant_index
ON data_node (`tenant`, `is_deleted`);
--- To support multi-tenancy of cluster. Please see #8365
-ALTER TABLE `inlong_cluster`
- ADD `tenant` VARCHAR(256) DEFAULT 'public' NOT NULL comment 'Inlong tenant
of cluster' after `heartbeat`;
-CREATE INDEX cluster_tenant_index
- ON inlong_cluster (`tenant`, `is_deleted`);
-
--- To support multi-tenancy of cluster tag. Please see #8378
-ALTER TABLE `inlong_cluster_tag`
- ADD `tenant` VARCHAR(256) DEFAULT 'public' NOT NULL comment 'Inlong tenant
of inlong cluster tag' after `description`;
-
-- To support multi-tenancy of inlong consume. Please see #8378
ALTER TABLE `inlong_consume`
ADD `tenant` VARCHAR(256) DEFAULT 'public' NOT NULL comment 'Inlong tenant
of consume' after `ext_params`;
diff --git
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
index 6abdeef97c..119f5151e5 100644
---
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
+++
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
@@ -74,7 +74,7 @@ public class InlongClusterController {
@PostMapping(value = "/cluster/tag/save")
@ApiOperation(value = "Save cluster tag")
@OperationLog(operation = OperationType.CREATE)
- @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN,
UserRoleCode.INLONG_ADMIN})
+ @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
public Response<Integer> saveTag(@Validated(SaveValidation.class)
@RequestBody ClusterTagRequest request) {
String currentUser = LoginUserUtils.getLoginUser().getName();
return Response.success(clusterService.saveTag(request, currentUser));
@@ -83,6 +83,7 @@ public class InlongClusterController {
@GetMapping(value = "/cluster/tag/get/{id}")
@ApiOperation(value = "Get cluster tag by id")
@ApiImplicitParam(name = "id", value = "Cluster ID", dataTypeClass =
Integer.class, required = true)
+ @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.INLONG_ADMIN,
UserRoleCode.INLONG_OPERATOR})
public Response<ClusterTagResponse> getTag(@PathVariable Integer id) {
String currentUser = LoginUserUtils.getLoginUser().getName();
return Response.success(clusterService.getTag(id, currentUser));
@@ -90,17 +91,16 @@ public class InlongClusterController {
@PostMapping(value = "/cluster/tag/list")
@ApiOperation(value = "List cluster tags")
+ @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.INLONG_ADMIN,
UserRoleCode.INLONG_OPERATOR})
public Response<PageResult<ClusterTagResponse>> listTag(@RequestBody
ClusterTagPageRequest request) {
request.setCurrentUser(LoginUserUtils.getLoginUser().getName());
- request.setIsAdminRole(
-
LoginUserUtils.getLoginUser().getRoles().contains(TenantUserTypeEnum.TENANT_ADMIN.name()));
return Response.success(clusterService.listTag(request));
}
@PostMapping(value = "/cluster/tag/update")
@OperationLog(operation = OperationType.UPDATE)
@ApiOperation(value = "Update cluster tag")
- @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN,
UserRoleCode.INLONG_ADMIN})
+ @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
public Response<Boolean> updateTag(@Validated(UpdateValidation.class)
@RequestBody ClusterTagRequest request) {
String username = LoginUserUtils.getLoginUser().getName();
return Response.success(clusterService.updateTag(request, username));
@@ -110,7 +110,7 @@ public class InlongClusterController {
@ApiOperation(value = "Delete cluster tag by id")
@OperationLog(operation = OperationType.DELETE)
@ApiImplicitParam(name = "id", value = "Cluster tag ID", dataTypeClass =
Integer.class, required = true)
- @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN,
UserRoleCode.INLONG_ADMIN})
+ @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
public Response<Boolean> deleteTag(@PathVariable Integer id) {
return Response.success(clusterService.deleteTag(id,
LoginUserUtils.getLoginUser().getName()));
}
@@ -118,7 +118,7 @@ public class InlongClusterController {
@PostMapping(value = "/cluster/save")
@ApiOperation(value = "Save cluster")
@OperationLog(operation = OperationType.CREATE)
- @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN,
UserRoleCode.INLONG_ADMIN})
+ @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
public Response<Integer> save(@Validated(SaveValidation.class)
@RequestBody ClusterRequest request) {
String currentUser = LoginUserUtils.getLoginUser().getName();
return Response.success(clusterService.save(request, currentUser));
@@ -127,6 +127,7 @@ public class InlongClusterController {
@GetMapping(value = "/cluster/get/{id}")
@ApiOperation(value = "Get cluster by id")
@ApiImplicitParam(name = "id", value = "Cluster ID", dataTypeClass =
Integer.class, required = true)
+ @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.INLONG_ADMIN,
UserRoleCode.INLONG_OPERATOR})
public Response<ClusterInfo> get(@PathVariable Integer id) {
String currentUser = LoginUserUtils.getLoginUser().getName();
return Response.success(clusterService.get(id, currentUser));
@@ -144,7 +145,7 @@ public class InlongClusterController {
@PostMapping(value = "/cluster/update")
@OperationLog(operation = OperationType.UPDATE)
@ApiOperation(value = "Update cluster")
- @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN,
UserRoleCode.INLONG_ADMIN})
+ @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
public Response<Boolean> update(@Validated(UpdateByIdValidation.class)
@RequestBody ClusterRequest request) {
String username = LoginUserUtils.getLoginUser().getName();
return Response.success(clusterService.update(request, username));
@@ -153,7 +154,7 @@ public class InlongClusterController {
@PostMapping(value = "/cluster/updateByKey")
@OperationLog(operation = OperationType.UPDATE)
@ApiOperation(value = "Update cluster by key")
- @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN,
UserRoleCode.INLONG_ADMIN})
+ @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
public Response<UpdateResult> updateByKey(
@Validated(UpdateByKeyValidation.class) @RequestBody
ClusterRequest request) {
String username = LoginUserUtils.getLoginUser().getName();
@@ -163,7 +164,7 @@ public class InlongClusterController {
@PostMapping(value = "/cluster/bindTag")
@OperationLog(operation = OperationType.UPDATE)
@ApiOperation(value = "Bind or unbind cluster tag")
- @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN,
UserRoleCode.INLONG_ADMIN})
+ @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
public Response<Boolean> bindTag(@Validated @RequestBody BindTagRequest
request) {
String username = LoginUserUtils.getLoginUser().getName();
return Response.success(clusterService.bindTag(request, username));
@@ -173,7 +174,7 @@ public class InlongClusterController {
@ApiOperation(value = "Delete cluster by id")
@OperationLog(operation = OperationType.DELETE)
@ApiImplicitParam(name = "id", value = "Cluster ID", dataTypeClass =
Integer.class, required = true)
- @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN,
UserRoleCode.INLONG_ADMIN})
+ @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
public Response<Boolean> delete(@PathVariable Integer id) {
return Response.success(clusterService.delete(id,
LoginUserUtils.getLoginUser().getName()));
}
@@ -185,7 +186,7 @@ public class InlongClusterController {
@ApiImplicitParam(name = "name", value = "Cluster name",
dataTypeClass = String.class, required = true),
@ApiImplicitParam(name = "type", value = "Cluster type",
dataTypeClass = String.class, required = true),
})
- @RequiresRoles(logical = Logical.OR, value = {UserRoleCode.TENANT_ADMIN,
UserRoleCode.INLONG_ADMIN})
+ @RequiresRoles(value = UserRoleCode.INLONG_ADMIN)
public Response<Boolean> deleteByKey(@RequestParam String name,
@RequestParam String type) {
return Response.success(clusterService.deleteByKey(name, type,
LoginUserUtils.getLoginUser().getName()));