Skip to content

Commit 8a2c7fb

Browse files
piyush5netappSrivastava, Piyush
andauthored
Feature/cstackex 88 - Storage Pool operation code changes and UTs (#30)
Co-authored-by: Srivastava, Piyush <Piyush.Srivastava@netapp.com>
1 parent 2d3b279 commit 8a2c7fb

File tree

2 files changed

+572
-2
lines changed

2 files changed

+572
-2
lines changed

plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/service/UnifiedNASStrategy.java

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,41 @@ public AccessGroup updateAccessGroup(AccessGroup accessGroup) {
189189

190190
@Override
191191
public AccessGroup getAccessGroup(AccessGroup accessGroup) {
192-
//TODO
193-
return null;
192+
s_logger.info("getAccessGroup: Get export policy");
193+
194+
if (accessGroup == null) {
195+
throw new CloudRuntimeException("getAccessGroup: Invalid accessGroup object - accessGroup is null");
196+
}
197+
198+
// Get PrimaryDataStoreInfo from accessGroup
199+
PrimaryDataStoreInfo primaryDataStoreInfo = accessGroup.getPrimaryDataStoreInfo();
200+
if (primaryDataStoreInfo == null) {
201+
throw new CloudRuntimeException("getAccessGroup: PrimaryDataStoreInfo is null in accessGroup");
202+
}
203+
s_logger.info("getAccessGroup: Get export policy for the storage pool {}", primaryDataStoreInfo.getName());
204+
try {
205+
String authHeader = Utility.generateAuthHeader(storage.getUsername(), storage.getPassword());
206+
// Determine export policy attached to the storage pool
207+
String exportPolicyName = primaryDataStoreInfo.getDetails().get(Constants.EXPORT_POLICY_NAME);
208+
String exportPolicyId = primaryDataStoreInfo.getDetails().get(Constants.EXPORT_POLICY_ID);
209+
210+
try {
211+
ExportPolicy exportPolicy = nasFeignClient.getExportPolicyById(authHeader,exportPolicyId);
212+
if(exportPolicy==null){
213+
s_logger.error("getAccessGroup: Failed to retrieve export policy for export policy");
214+
throw new CloudRuntimeException("getAccessGroup: Failed to retrieve export policy for export policy");
215+
}
216+
accessGroup.setPolicy(exportPolicy);
217+
s_logger.info("getAccessGroup: Successfully fetched export policy '{}'", exportPolicyName);
218+
} catch (Exception e) {
219+
s_logger.error("getAccessGroup: Failed to delete export policy. Exception: {}", e.getMessage(), e);
220+
throw new CloudRuntimeException("Failed to delete export policy: " + e.getMessage(), e);
221+
}
222+
} catch (Exception e) {
223+
s_logger.error("getAccessGroup: Failed to delete export policy. Exception: {}", e.getMessage(), e);
224+
throw new CloudRuntimeException("Failed to delete export policy: " + e.getMessage(), e);
225+
}
226+
return accessGroup;
194227
}
195228

196229
@Override

0 commit comments

Comments
 (0)