-
Notifications
You must be signed in to change notification settings - Fork 881
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
ds-identify/CloudStack: return $DS_MAYBE if vm is running on vmware/xen #4281
ds-identify/CloudStack: return $DS_MAYBE if vm is running on vmware/xen #4281
Conversation
Currently, ds-identify determines if CloudStack is supported by checking dmi product name. It works fine on KVM, as the VM has the following system information ``` System Information Manufacturer: Apache Software Foundation Product Name: CloudStack KVM Hypervisor ``` However, it does not work on VMware or XenServer/XCP-ng. For example, on VMware, the system information is ``` System Information Manufacturer: VMware, Inc. Product Name: VMware Virtual Platform Version: None ```
8f1ecba
to
35caf66
Compare
@TheRealFalcon |
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.
The changes here look good, but the unit tests need to be updated accordingly. See the failing Github Actions job for which tests to fix.
FAILED tests/unittests/test_ds_identify.py::TestDsIdentify::test_ibmcloud_template_no_userdata FAILED tests/unittests/test_ds_identify.py::TestDsIdentify::test_ibmcloud_template_no_userdata_in_provisioning FAILED tests/unittests/test_ds_identify.py::TestDsIdentify::test_ibmcloud_template_userdata_in_provisioning FAILED tests/unittests/test_ds_identify.py::TestDsIdentify::test_vmware_envvar_no_data FAILED tests/unittests/test_ds_identify.py::TestDsIdentify::test_vmware_guestinfo_no_data FAILED tests/unittests/test_ds_identify.py::TestDsIdentify::test_vmware_no_valid_transports
thanks @TheRealFalcon |
@TheRealFalcon run the test locally, it looks ok
|
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!
Thanks @weizhouapache - good work! |
…k images This reverts commit d2956b3. We'v found that the new images for CAPC do not work on VMware and Xen, which is caused by an issue fixed by canonical/cloud-init#4281 (it works fine on KVM) We need to revert the changes and reapply it after intensive testing.
@weizhouapache , unfortunately, we're going to have to revert this commit. We're seeing some serious regressions caused by this commit (see #4501 ) due to cases where DataSourceNone was being used before on VMWare and Xen, but now is being detected as a possible CloudStack. This means cloud-init goes from being disabled to waking up and running through all of the first-boot activities including resetting host keys and creating new users. We'd still love to accommodate your use cases, but I think that requires finding a stronger way to identify CloudStack. |
…canonical#4281)" This reverts commit 7949bb3. It has caused regressions identified in canonical#4501
…canonical#4281)" This reverts commit 7949bb3. Fixes canonicalGH-4501 LP: #2039453
…canonical#4281)" This reverts commit 7949bb3 but keeps the CLA signature. Fixes canonicalGH-4501 LP: #2039453
Proposed Commit Message
Currently, ds-identify determines if CloudStack is supported by checking dmi product name. It works fine on KVM, as the VM has the following system information
However, it does not work on VMware or XenServer/XCP-ng. For example, on VMware, the system information is
Therefore, return $DS_MAYBE instead of $DS_NOT_FOUND if vm is running on vmware/xen.
Additional Context
Test Steps
Checklist: