Skip to content

Commit 686a892

Browse files
CSTACKEX-34: incorporating the review comments
1 parent 973f5e2 commit 686a892

3 files changed

Lines changed: 68 additions & 10 deletions

File tree

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

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
import org.apache.cloudstack.storage.feign.model.Volume;
3232
import org.apache.cloudstack.storage.feign.model.response.JobResponse;
3333
import org.apache.cloudstack.storage.feign.model.response.OntapResponse;
34+
import org.apache.cloudstack.storage.service.model.AccessGroup;
35+
import org.apache.cloudstack.storage.service.model.CloudStackVolume;
3436
import org.apache.cloudstack.storage.utils.Constants;
3537
import org.apache.cloudstack.storage.utils.Utility;
3638
import org.apache.logging.log4j.LogManager;
@@ -81,6 +83,7 @@ protected enum PROTOCOLS
8183

8284
public StorageStrategy(OntapStorage ontapStorage) {
8385
storage = ontapStorage;
86+
8487
}
8588

8689
// Connect method to validate ONTAP cluster, credentials, protocol, and SVM
@@ -135,7 +138,7 @@ public boolean connect() {
135138
* @param volumeName
136139
* @param size
137140
*/
138-
public void createStorageVolume(String volumeName, Long size) {
141+
public Volume createStorageVolume(String volumeName, Long size) {
139142
s_logger.info("Creating volume: " + volumeName + " of size: " + size + " bytes");
140143

141144
String svmName = storage.getSvmName();
@@ -195,6 +198,8 @@ public void createStorageVolume(String volumeName, Long size) {
195198
throw new CloudRuntimeException("Failed to create volume: " + e.getMessage());
196199
}
197200
s_logger.info("Volume created successfully: " + volumeName);
201+
//TODO
202+
return null;
198203
}
199204

200205
/**
@@ -204,7 +209,7 @@ public void createStorageVolume(String volumeName, Long size) {
204209
*
205210
* @param values
206211
*/
207-
public void updateStorageVolume(Map<String,String> values)
212+
public Volume updateStorageVolume(Map<String,String> values)
208213
{
209214
//TODO
210215
}
@@ -228,9 +233,10 @@ public void deleteStorageVolume(Map<String,String> values)
228233
*
229234
* @param values
230235
*/
231-
public void getStorageVolume(Map<String,String> values)
236+
public Volume getStorageVolume(Map<String,String> values)
232237
{
233238
//TODO
239+
return null;
234240
}
235241

236242
/**
@@ -241,7 +247,7 @@ public void getStorageVolume(Map<String,String> values)
241247
* createNameSpace for Nvme/TCP and Nvme/FC protocol
242248
* @param values
243249
*/
244-
abstract public void createCloudStackVolume(Map<String,String> values);
250+
abstract public CloudStackVolume createCloudStackVolume(Map<String,String> values);
245251

246252
/**
247253
* Method encapsulates the behavior based on the opted protocol in subclasses.
@@ -251,7 +257,7 @@ public void getStorageVolume(Map<String,String> values)
251257
* updateNameSpace for Nvme/TCP and Nvme/FC protocol
252258
* @param values
253259
*/
254-
abstract void updateCloudStackVolume(Map<String,String> values);
260+
abstract CloudStackVolume updateCloudStackVolume(Map<String,String> values);
255261

256262
/**
257263
* Method encapsulates the behavior based on the opted protocol in subclasses.
@@ -271,7 +277,7 @@ public void getStorageVolume(Map<String,String> values)
271277
* getNameSpace for Nvme/TCP and Nvme/FC protocol
272278
* @param values
273279
*/
274-
abstract void getCloudStackVolume(Map<String,String> values);
280+
abstract CloudStackVolume getCloudStackVolume(Map<String,String> values);
275281

276282
/**
277283
* Method encapsulates the behavior based on the opted protocol in subclasses
@@ -280,7 +286,7 @@ public void getStorageVolume(Map<String,String> values)
280286
* createSubsystem for Nvme/TCP and Nvme/FC protocols
281287
* @param values
282288
*/
283-
abstract void enableAccess(Map<String,String> values);
289+
abstract AccessGroup createAccessGroup(Map<String,String> values);
284290

285291
/**
286292
* Method encapsulates the behavior based on the opted protocol in subclasses
@@ -289,7 +295,7 @@ public void getStorageVolume(Map<String,String> values)
289295
* deleteSubsystem for Nvme/TCP and Nvme/FC protocols
290296
* @param values
291297
*/
292-
abstract void disableAccess(Map<String,String> values);
298+
abstract void deleteAccessGroup(Map<String,String> values);
293299

294300
/**
295301
* Method encapsulates the behavior based on the opted protocol in subclasses
@@ -298,7 +304,7 @@ public void getStorageVolume(Map<String,String> values)
298304
* //TODO for Nvme/TCP and Nvme/FC protocols
299305
* @param values
300306
*/
301-
abstract void updateAccess(Map<String,String> values);
307+
abstract AccessGroup updateAccessGroup(Map<String,String> values);
302308

303309
/**
304310
* Method encapsulates the behavior based on the opted protocol in subclasses
@@ -307,7 +313,7 @@ public void getStorageVolume(Map<String,String> values)
307313
* getNameSpace for Nvme/TCP and Nvme/FC protocols
308314
* @param values
309315
*/
310-
abstract void getAccess(Map<String,String> values);
316+
abstract AccessGroup getAccessGroup(Map<String,String> values);
311317

312318
/**
313319
* Method encapsulates the behavior based on the opted protocol in subclasses
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package org.apache.cloudstack.storage.service.model;
2+
3+
import org.apache.cloudstack.storage.feign.model.Igroup;
4+
import org.apache.cloudstack.storage.feign.model.Policy;
5+
6+
public class AccessGroup {
7+
8+
Igroup igroup;
9+
Policy policy;
10+
11+
public Igroup getIgroup() {
12+
return igroup;
13+
}
14+
15+
public void setIgroup(Igroup igroup) {
16+
this.igroup = igroup;
17+
}
18+
19+
public Policy getPolicy() {
20+
return policy;
21+
}
22+
23+
public void setPolicy(Policy policy) {
24+
this.policy = policy;
25+
}
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package org.apache.cloudstack.storage.service.model;
2+
3+
import org.apache.cloudstack.storage.feign.model.FileInfo;
4+
import org.apache.cloudstack.storage.feign.model.Lun;
5+
6+
public class CloudStackVolume {
7+
8+
FileInfo file;
9+
Lun lun;
10+
11+
public FileInfo getFile() {
12+
return file;
13+
}
14+
15+
public void setFile(FileInfo file) {
16+
this.file = file;
17+
}
18+
19+
public Lun getLun() {
20+
return lun;
21+
}
22+
23+
public void setLun(Lun lun) {
24+
this.lun = lun;
25+
}
26+
}

0 commit comments

Comments
 (0)