CloudStack ConfigDrive support - #68
Conversation
|
Hello @aleskxyz, We are currently using opendev for patches: How to create an account and contribute to: Thank you, |
|
is it working? |
Yes. @ader1990 please, consider merge this feature. It does not change the current behavior and add a very nice feature! |
Hello all, would like to merge this feature! @aleskxyz can you please rebase the patches on top of the latest HEAD and sign the commits. Would be also nice to squash all the commits to one, but it is not required, as I can squash them on merge as well. @EduFrazao Thanks alot for testing it out. |
Add offline CloudStack ConfigDrive support and stop consuming the admin password until it has been successfully applied on the guest. * Add cloudstack.ConfigDrive (ISO/CD-ROM only) with cloudstack marker and configurable disk_label; register it before OpenStack ConfigDrive * Rename HTTP CloudStack service to DataServer; keep CloudStack alias * Default metadata_base_url to http://data-server/ * Add BaseMetadataService.confirm_admin_password(); DataServer deletes the Password Server entry only on confirm * Persist ConfigDrive password SHA-256 hashes for change detection * Have setuserpassword confirm injected/metadata passwords after apply * Compare config-drive volume labels case-insensitively * Document DataServer and ConfigDrive; extend unit tests Signed-off-by: aleskxyz <39186039+aleskxyz@users.noreply.github.com>
be973bc to
1fcd952
Compare
|
Hi @ader1990 |
Hi! Thank you for the rebase. |
Summary
Adds Apache CloudStack ConfigDrive metadata support and makes admin-password handling safer for both the HTTP DataServer and ConfigDrive paths.
CloudStack ConfigDrive
cloudbaseinit.metadata.services.cloudstack.ConfigDriveservice for offline CloudStack metadata on ISO/CD-ROM.config-2(configurable viacloudstack.disk_label) using the markercloudstack/metadata/instance-id.txt, so plain OpenStack config drives are not claimed.metadata_serviceslist before OpenStack ConfigDrive.network_data.json), and admin password fromcloudstack/password/vm_password.txt.DataServer (HTTP) refactor
DataServer;CloudStackremains as a backward-compatible alias.metadata_base_urltohttp://data-server/.get_admin_password(); deletion happens only viaconfirm_admin_password()after successful guest apply.Shared password confirm flow
confirm_admin_password()onBaseMetadataService.SetUserPasswordPluginconfirms the password after it is set (injected or metadata), so password state is not consumed before a successful apply and metadata passwords are not re-applied every boot.Other
Test plan