Skip to content

Commit 9297329

Browse files
authored
Merge pull request ceph#61874 from rhcs-dashboard/edit-storage-class
mgr/dashboard: RGW - Edit Storage Class Reviewed-by: Aashish Sharma <[email protected]> Reviewed-by: Afreen Misbah <[email protected]> Reviewed-by: Ankush Behl <[email protected]> Reviewed-by: Nizamudeen A <[email protected]>
2 parents 6485191 + 93fba05 commit 9297329

File tree

11 files changed

+600
-363
lines changed

11 files changed

+600
-363
lines changed

src/pybind/mgr/dashboard/controllers/rgw.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1259,6 +1259,13 @@ def get(self, zonegroup_name):
12591259
result = multisite_instance.get_zonegroup(zonegroup_name)
12601260
return result
12611261

1262+
@Endpoint('GET')
1263+
@ReadPermission
1264+
def get_placement_target_by_placement_id(self, placement_id):
1265+
multisite_instance = RgwMultisite()
1266+
result = multisite_instance.get_placement_by_placement_id(placement_id)
1267+
return result
1268+
12621269
@Endpoint('DELETE', path='storage-class')
12631270
@DeletePermission
12641271
def remove_storage_class(self, placement_id: str, storage_class: str):
@@ -1274,6 +1281,14 @@ def storage_class(self, zone_group, placement_targets: List[Dict[str, str]] = []
12741281
result = multisite_instance.add_placement_targets(zone_group, placement_targets)
12751282
return result
12761283

1284+
@Endpoint('PUT', path='storage-class')
1285+
@CreatePermission
1286+
# pylint: disable=W0102
1287+
def editStorageClass(self, zone_group, placement_targets: List[Dict[str, str]] = []):
1288+
multisite_instance = RgwMultisite()
1289+
result = multisite_instance.modify_placement_targets(zone_group, placement_targets)
1290+
return result
1291+
12771292
@Endpoint()
12781293
@ReadPermission
12791294
def get_all_zonegroups_info(self):

src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/models/rgw-storage-class.model.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export interface StorageClass {
99
endpoint: string;
1010
region: string;
1111
placement_target: string;
12+
zonegroup_name?: string;
1213
}
1314

1415
export interface StorageClassDetails {
@@ -71,6 +72,7 @@ export interface S3Details {
7172
multipart_min_part_size: number;
7273
multipart_sync_threshold: number;
7374
host_style: boolean;
75+
retain_head_object?: boolean;
7476
}
7577

7678
export interface RequestModel {
@@ -81,7 +83,6 @@ export interface RequestModel {
8183
export interface PlacementTarget {
8284
tags: string[];
8385
placement_id: string;
84-
storage_class: string;
8586
tier_type: typeof CLOUD_TIER;
8687
tier_config: {
8788
endpoint: string;
@@ -93,6 +94,9 @@ export interface PlacementTarget {
9394
multipart_sync_threshold: number;
9495
multipart_min_part_size: number;
9596
};
97+
storage_class?: string;
98+
name?: string;
99+
tier_targets?: TierTarget[];
96100
}
97101

98102
export const CLOUD_TIER = 'cloud-s3';

0 commit comments

Comments
 (0)