Uh oh!
There was an error while loading. Please reload this page.
CloudStack Volume support with ONTAP storage - #13053
Conversation
… added EOF fixes + correcting license header
Initial primary storage pool plugin skeleton
…POJOs" This reverts commit fe0f752.
…POJOs" This reverts commit 28faca1.
Feignconfiguration and volume feignClient along with desired POJOs with cstack 28
* CSTACKEX-29 Cluster, SVM and Aggr Feign Client * CSTACKEX-29 Change the endpoint method name in feign client * CSTACKEX-29 Make the alignment proper * CSTACKEX-29 Added License Info * CSTACKEX-29 Resolve Review Comments * CSTACKEX-29 Remove Component Annotation from datastoredriverclass * CSTACKEX-29 Resolve Style check issues * CSTACKEX-29 Resolve ALL Style issues * CSTACKEX-29 Resolve Precommits Issues * CSTACKEX-29 Added Method comments and change the ontap response class name --------- Co-authored-by: Gupta, Surya <Surya.Gupta@netapp.com>
* CSTACKEX-31 NAS and Job Feign Client and POJOs * CSTACKEX-31 Fixed Checks Issues * CSTACKEX-31 Resolve Review Comments * CSTACKEX-31 Resolve Review Comments * CSTACKEX-31 Resolve Review Comments * CSTACKEX-31 Added Aggr and size to volume model * CSTACKEX-31 Change the export policy endpoint path * CSTACKEX-31 Fixed check styles --------- Co-authored-by: Gupta, Surya <Surya.Gupta@netapp.com>
* CSTACKEX-30 SAN Feign Client * CSTACKEX-30 Fixed check style issues * CSTACKEX-30 Fixed review comments --------- Co-authored-by: Gupta, Surya <Surya.Gupta@netapp.com>
* CSTACKEX-7: ONTAP Primary storage pool --------- Co-authored-by: Locharla, Sandeep <Sandeep.Locharla@netapp.com>
CSTACKEX-34: Upgrade to framework classes design
* CSTACKEX-35 Create Async * CSTACKEX-35 Added Null and empty check * CSTACKEX-35 Resolved review comments * CSTACKEX-35 Removed Type Casting for logger --------- Co-authored-by: Gupta, Surya <Surya.Gupta@netapp.com>
* CSTACKEX-1: Feign changes and fixes for getting storage pool creation to work * CSTACKEX-01: Create Primary Storage pool changes with working code * CSTACKEX-01: Addressed all review comments and updated some code * CSTACKEX-01: Made some changes to fix some errors seen during testing * CSTACKEX-01: Addressed additional comments --------- Co-authored-by: Locharla, Sandeep <Sandeep.Locharla@netapp.com>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Yes, exactly.
Ok, it is not a critical concern, so fine for me. Please test whether things still work as expected with the refactor and include it in the subsequent PR. @weizhouapache everything ok from my side on this one. |
winterhazel
commented
Jul 1, 2026
@blueorangutan package |
blueorangutan
commented
Jul 1, 2026
@winterhazel a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
blueorangutan
commented
Jul 1, 2026
Packaging result [SF]: ✖️ el8 ✖️ el9 ✖️ debian ✖️ suse15. SL-JID 18433 |
winterhazel
commented
Jul 1, 2026
@rajiv-jain-netapp@piyush5netapp there is a test failure: |
rajiv-jain-netapp
commented
Jul 2, 2026
checking, and will fix it in next 1 hour |
…ilot comments fixes.
rajiv-jain-netapp
commented
Jul 2, 2026
Fixed, please try now |
| params['details[0].storageIP'] = values.ontapIP | ||
| params['details[0].username'] = values.ontapUsername | ||
| params['details[0].password'] = btoa(values.ontapPassword) | ||
| params['details[0].svmName'] = values.ontapSvmName | ||
| params['details[0].protocol'] = values.protocol | ||
| values.managed = true | ||
| url = this.ontapURL(values.ontapIP) |
| params['details[0].storageIP'] = this.prefillContent.ontapIP | ||
| params['details[0].username'] = this.prefillContent.ontapUsername | ||
| params['details[0].password'] = btoa(this.prefillContent.ontapPassword) | ||
| params['details[0].svmName'] = this.prefillContent.ontapSvmName | ||
| params['details[0].protocol'] = this.prefillContent.primaryStorageProtocol |
| try { | ||
| AccessGroup accessGroupRequest = new AccessGroup(); | ||
| accessGroupRequest.setHostsToConnect(hostsToConnect); | ||
| accessGroupRequest.setScope(scope); | ||
| accessGroupRequest.setStoragePoolId(storagePool.getId()); | ||
| strategy.createAccessGroup(accessGroupRequest); |
| for (HostVO host : hosts) { | ||
| String hostStorageIp = host.getStorageIpAddress(); | ||
| String ip = (hostStorageIp != null && !hostStorageIp.isEmpty()) | ||
| ? hostStorageIp | ||
| : host.getPrivateIpAddress(); | ||
| String ipToUse = ip + "/31"; | ||
| String ipToUse = ip + "/32"; | ||
| ExportRule.ExportClient exportClient = new ExportRule.ExportClient(); | ||
| exportClient.setMatch(ipToUse); | ||
| exportClients.add(exportClient); |
| }catch (Exception e) { | ||
| logger.error("createCloudStackVolume: error occured " + e); | ||
| throw new CloudRuntimeException(e); | ||
| } |
| } catch (Exception e) { | ||
| logger.error("createVolumeOnKVMHost: Exception sending CreateObjectCommand", e); | ||
| return new Answer(null, false, e.toString()); | ||
| } |
winterhazel
commented
Jul 2, 2026
@blueorangutan package |
blueorangutan
commented
Jul 2, 2026
@winterhazel a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
blueorangutan
commented
Jul 2, 2026
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 18438 |
DaanHoogland
commented
Jul 2, 2026
@blueorangutan test |
blueorangutan
commented
Jul 2, 2026
@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
blueorangutan
commented
Jul 3, 2026
[SF] Trillian test result (tid-16470)
|
DaanHoogland
commented
Jul 3, 2026
@weizhouapache@winterhazel , good to merge? |
piyush5netapp
commented
Jul 5, 2026
@winterhazel I tried this but instance creation failed . This is because Netapp ONTAP updates/set iScsiName in grantAccess, so we need to refresh the volumeInfo object again to take latest data here. Its currently taking old data. Does Moving grantAcess above line "ManagedCreateBaseImageContext context = new ManagedCreateBaseImageContext<>(null, volumeInfo, primaryDataStore, srcTemplateInfo, future);" will have any side-effect for any vendor ? |
winterhazel
commented
Jul 5, 2026
@piyush5netapp I missed this crucial detail :( Moving I think we can leave this code the way it is organized now then. I would just add a check to perform this extra refresh only if the ONTAP plugin is being used, like: ...
grantAccess(volumeInfo, destHost, primaryDataStore);
if (DataStoreProvider.ONTAP_PLUGIN_NAME.equals(primaryDataStore.getStorageProviderName())) {
// For Netapp ONTAP iscsiName or Lun path is available only after grantAccessvolumeInfo = volFactory.getVolume(volumeInfo.getId(), primaryDataStore);
StringmanagedStoreTarget = ObjectUtils.defaultIfNull(volumeInfo.get_iScsiName(), volumeInfo.getUuid());
details.put(PrimaryDataStore.MANAGED_STORE_TARGET, managedStoreTarget);
primaryDataStore.setDetails(details);
}
try {
motionSrv.copyAsync(srcTemplateInfo, destTemplateInfo, destHost, caller);
...
@DaanHoogland I think so. Let's just wait for @piyush5netapp to check the suggestion above. |
@winterhazel I think the plugin check will work . I will do the change in subsequent PR. Let's not hold this PR for this suggestion to test as its not a critical concern. In the meantime, I have started making change. |
winterhazel
commented
Jul 5, 2026
@piyush5netapp ok, thanks. |
DaanHoogland
commented
Jul 6, 2026
ok, I’ve already seen newer related PRs and as CODEOWNERS are added and smoke tests pass, i’m merging. |
Uh oh!
There was an error while loading. Please reload this page.
Awesome work, congrats on your first merged pull request! |
Description
Co-authored-by: Sandeep Locharla sandeep.locharla@netapp.com
Co-authored-by: Piyush Srivastava piyush5@netapp.com
Co-authored-by: Surya Gupta suryag@netapp.com
This PR...
1. memory snapshot
2. user input for quicing option during snapshot creation
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
Testing Done:
How did you try to break this feature and the system with this change?