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>
### Description Storage Pool Creation is failing "message": "Unexpected argument \"svm.iscsiEnabled\" <!-- For new features, provide link to FS, dev ML discussion etc. --> <!-- In case of bug fix, the expected and actual behaviours, steps to reproduce. --> <!-- When "Fixes: #<id>" is specified, the issue/PR will automatically be closed when this PR gets merged --> <!-- For addressing multiple issues/PRs, use multiple "Fixes: #<id>" --> <!-- Fixes: # --> <!--- ******************************************************************************* --> <!--- NOTE: AUTOMATION USES THE DESCRIPTIONS TO SET LABELS AND PRODUCE DOCUMENTATION. --> <!--- PLEASE PUT AN 'X' in only **ONE** box --> <!--- ******************************************************************************* --> ### Types of changes - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] New feature (non-breaking change which adds functionality) - [x] Bug fix (non-breaking change which fixes an issue) - [ ] Enhancement (improves an existing feature and functionality) - [ ] Cleanup (Code refactoring and cleanup, that may add test cases) - [ ] Build/CI - [ ] Test (unit or integration test code) ### Feature/Enhancement Scale or Bug Severity #### Feature/Enhancement Scale - [x] Major - [ ] Minor #### Bug Severity - [ ] BLOCKER - [ ] Critical - [ ] Major - [ ] Minor - [ ] Trivial ### Screenshots (if appropriate): <img width="1471" height="145" alt="image" src="https://github.com/user-attachments/assets/f894ec2d-0769-4f6d-8ad3-13b3e6b2b5cc" /> <img width="2292" height="1672" alt="image" src="https://github.com/user-attachments/assets/403bce30-c9a2-44ec-a783-cf65c1fa2bd9" /> ### How Has This Been Tested? 1- Disable the NFS and ISCSI protocol on svm and checked the storage pool creation: It threw the appropriate error on UI, below is the screenshot 2- Enable the NFS and ISCSI protocol on svm: Storage pool creation went fine #### How did you try to break this feature and the system with this change? <!-- see how your change affects other areas of the code, etc. --> <!-- Please read the [CONTRIBUTING](https://github.com/apache/cloudstack/blob/main/CONTRIBUTING.md) document --> Co-authored-by: Gupta, Surya <Surya.Gupta@netapp.com>
|
@piyush5netapp and @rajiv-jain-netapp, could you have a look at the pending comments? @rajiv-jain-netapp commented about providing responses to some of them, but I did not receive any responses, maybe they were added to a review and not submitted? |
nvazquez
left a comment
There was a problem hiding this comment.
Thanks @rajiv-jain-netapp please find a first round of review comments
|
@nvazquez took care of your comments, please check and confirm further. |
nvazquez
left a comment
There was a problem hiding this comment.
Thanks @rajiv-jain-netapp - code LGTM
thank you @nvazquez |
| List<VolumeVO> volumes = volumeDao.findByInstance(vmId); | ||
| for (VolumeVO volume : volumes) { | ||
| StoragePoolVO storagePoolVO = storagePool.findById(volume.getPoolId()); | ||
| if (storagePoolVO.isManaged() && DataStoreProvider.ONTAP_PLUGIN_NAME.equals(storagePoolVO.getStorageProviderName())) { |
There was a problem hiding this comment.
@rajiv-jain-netapp
This check is used in several places, so it would be good to extract it into a separate method.
I also noticed that NetworkFileSystem or Iscsi storage pools are created (#12563). However, as you've pointed out, CloudStack supports many operations on traditional NFS storage, and some of those operations are not supported by NetApp ONTAP.
Have you considered introducing a new storage pool type, for example NetAppNFS or NetAppIscsi ? That might make it easier to distinguish the capabilities and handle NetApp-specific behavior.
There was a problem hiding this comment.
@rajiv-jain-netapp
I am not sure if you saw this comment
There was a problem hiding this comment.
Hi @weizhouapache , we have it pipelined for this task of adding NetApp-specific protocols. IN the interest of deadlines for 4.23. We proceeded with default protocols.
|
Thanks @rajiv-jain-netapp, in addition to this PR can you please raise a documentation PR to the repository https://github.com/apache/cloudstack-documentation? |
|
I'm interested in how this works. What hypervisors are supported for iSCSI? KVM as well? Is a separate volume being created for each disk in CloudStack? Best regards, |
Hey @ingox , thanks for the comment. Is a separate volume being created for each disk in CloudStack? |
@rajiv-jain-netapp thank you for your reply. How about DR and snap mirror functionality? Is it possible to group a number of disks to a protection group and mirror them to the DR side? Those disks can be all disks of a host or all the disks of all hosts which belong to one system (like App server, DB server, ...) |
|
Update: We are working on documentation in parallel. Meanwhile, wanted to check in case any further comments for us to address for approval, followed by a merge. |
|
Thanks @rajiv-jain-netapp so far there is only one pending review comment: #13053 (comment), can you please check it? |
Rajiv responded to this above.. Apologies , it was in draft state and not committed. |
thanks @rajiv-jain-netapp for the reply. From a long-term maintenance perspective, I think introducing new storage pool types would be preferable. That said, I understand the time constraints for this release. If you decide to keep the current implementation for now, I am fine with it. I do hope you can revisit and improve this in the next release. |
|
yes @weizhouapache , we will add types and update all with the next set of features. |
all good for my sake, @weizhouapache . cc @winterhazel |
|
@nvazquez @winterhazel please let me know if this PR is good to you. |
|
Yes @weizhouapache all good from my side, have previously approved: #13053 (review) |
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?