New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
multi local storage handling for kvm #6699
multi local storage handling for kvm #6699
Conversation
@weizhouapache Damn, the last time I checked the PRs, I didn't see that one.... never mind Hmm ... you implemented this via agent properties and my implementation works via UI like the other storages. Perhaps we find a compromise. But I'm afraid that our implementations are disjunct. Do you have an idea? |
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch. |
The reason I choose agree with you it would be nice to support it via api and UI, it will be more user-friendly. for example 1 is optional if 2,3,4 are supported. we can start by adding a host with only 1 local storage pool. |
I would also prefer to ignore number 1. But I still have two questions. Why do the agent properties have to be adapted? |
@DK101010 you can check |
@blueorangutan package |
@weizhouapache a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Packaging result: ✖️ el7 ✖️ el8 ✖️ debian ✖️ suse15. SL-JID 4284 |
@DK101010 |
@weizhouapache it isn't done. Currently I try to find out, why it is important to use the agent.properties file instead to create entries directly in the db via rest api. |
67ff6dc
to
3a19913
Compare
3a19913
to
2889e3d
Compare
…/multi_local_storage_handling
Co-authored-by: João Jandre <48719461+JoaoJandre@users.noreply.github.com>
@blueorangutan package |
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 7675 |
@blueorangutan test |
@DaanHoogland a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
[SF] Trillian test result (tid-8276)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@DK101010 Unfortunately I do not see an option to select the 'filesystem' protocol. Neither do I get an option to add via API. 'Enable local storage for User Instances' is enabled. Restarted the management server as well.
Strange, we use it already in our environment without problems. hmm ... I will check this again next week. |
@DK101010 , is there maybe a prereq procedure that needs documentation? like installing/enabling a provider and or setting global configurations. |
…m/NDBSGMS/cloudstack into feat/multi_local_storage_handling
@blueorangutan package |
@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
@rajujith @DaanHoogland many thanks for testing. The problem was that the filesystem protocol is dependent on scope and zone. If the zone was not selected or the zone was selected before the scope, the protocol is not updated. With the new scope event it should now also work for you |
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 7731 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Steps I followed:
Enable 'Enable local storage for User Instances' at zone.
Create Local storage:
1. Create a directory in one of the KVM host.
2. Click on add primary storage in the cloudstack UI.
3. Fill the form selecting the scope as 'HOST" and the above host. Selected the protocol 'Filesystem'.
4. Input the directory path from the above step 1.
If the directory is not present the primary storage addition fails, I believe this is expected.
Deleted the above primary storage, the primary storage is not visible anymore in the UI. The directory remains in the KVM host filesystem.
Verified volume deployments, and migrations.
@blueorangutan test |
@DaanHoogland a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
@JoaoJandre can you approve now? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code LGTM
api-rate limit again:
I think we can call this a success |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code LGTM
Co-authored-by: DK101010 <dirk.klahre@itelligence.de> Co-authored-by: João Jandre <48719461+JoaoJandre@users.noreply.github.com>
Whoever is reviewing the PR, can we please try to ensure that the proper documentation is also provided for a feature? I'll add the related docs for this one. Thanks. |
Description
Is currently a POC, if someone have additional ideas or hints.
Motivation
Users sometimes only have the option to use local storages, so they should have the option to use local storage like other storage types.
Implementation
Decided to use already existing code to prevent breaks in current behavior(adapted agent code by user to add local storage)
With this implementation it is possible to add and use local storage like other storage types.
Key properties to add a local storage
Scope: HOST
Protocol: Filesytem
Path: mount path in KVM
Condition:
Enable local storage for User VMs = true in zone detail settings
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
Currently only tested in own environment