[
https://issues.apache.org/jira/browse/CLOUDSTACK-10290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16479225#comment-16479225
]
ASF GitHub Bot commented on CLOUDSTACK-10290:
---------------------------------------------
rhtyd opened a new pull request #2651: CLOUDSTACK-10290: Introduce option to
have config drives on primary storage
URL: https://github.com/apache/cloudstack/pull/2651
This introduces a new global setting `vm.configdrive.primarypool.enabled` to
toggle creation/hosting of config drive iso files on primary storage, the
default will be `false` causing them to be hosted on secondary storage. The
support is limited from hypervisor resource side and in current implementation
limited to KVM. The next big change is that config drive is created at a
temporary location by management server and shipped to either KVM or SSVM agent
via cmd-answer pattern, the data of which is not logged in logs. This saves us
from adding `genisoimage` dependency on cloudstack-agent pkg.
The APIs to reset ssh public key, password and user-data (via update VM API)
requires that VM should be shutdown. Therefore, in the refactoring I removed
the case of updation of existing ISO. If there are objections I'll re-put the
strategy to detach+attach new config iso as a way of updation. In the
refactored implementation, the folder name is changed to lower-cased
`configdrive`. And during VM start, migration or shutdown/removal if primary
storage is enable for use, the KVM agent will handle cleanup tasks otherwise
SSVM agent will handle them.
## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the
boxes that apply: -->
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] 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)
## GitHub Issue/PRs
<!-- If this PR is to fix an issue or another PR on GH, uncomment the
section and provide the id of issue/PR -->
<!-- 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: # -->
## Screenshots (if appropriate):
## How Has This Been Tested?
<!-- Please describe in detail how you tested your changes. -->
<!-- Include details of your testing environment, and the tests you ran to
-->
<!-- see how your change affects other areas of the code, etc. -->
## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that
apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here
to help! -->
- [ ] I have read the
[CONTRIBUTING](https://github.com/apache/cloudstack/blob/master/CONTRIBUTING.md)
document.
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
Testing
- [ ] I have added tests to cover my changes.
- [ ] All relevant new and existing integration tests have passed.
- [ ] A full integration testsuite with all test that can run on my
environment has passed.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Config drive - only supported for secondary storage
> ---------------------------------------------------
>
> Key: CLOUDSTACK-10290
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-10290
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Affects Versions: 4.11.0.0
> Reporter: Rohit Yadav
> Assignee: Daan Hoogland
> Priority: Major
>
> Userdata disk looks like this:
> <disk type='file' device='cdrom'>
> <driver name='qemu' type='raw' cache='none'/>
> <source
> file='/mnt/eba12ff3-c3a6-394a-bf0f-23291f1f6266/configdrive.iso'/>
> <backingStore/>
> <target dev='hdd' bus='ide'/>
> <readonly/>
> <alias name='ide0-1-1'/>
> <address type='drive' controller='0' bus='1' target='0' unit='1'/>
> </disk>
> Mount is:
> root# df /mnt/eba12ff3-c3a6-394a-bf0f-23291f1f6266
> Filesystem 1K-blocks
> Used Available Use% Mounted on
> some-nfs-server.com:/nfs/secondary/ConfigDrive/i-2-24-VM 66391040 2973696
> 63417344 5% /mnt/eba12ff3-c3a6-394a-bf0f-23291f1f6266
>
> issue: where to find a primary storage for a VM that is not yet deployed. The
> configdrive is created before a storage is assigned. This order of execution
> must be reversed for this to work.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)