Skip to content

Azure OVF Config Drive Lookup Fails on Modern Windows VMs #178

@repl-dheeraj-v

Description

@repl-dheeraj-v

The current cloudbaseinit.metadata.services.azureservice.AzureService class relies on the OVF config drive tag (E6DA6616-8EC4-48E0-BE93-58CE6ACE3CFB.tag) to locate custom data. However, modern Azure Windows VM images no longer mount an OVF-style config drive for custom data. As a result, the default Azure metadata service fails to retrieve custom data, while custom plugins that read C:\AzureData\CustomData.bin work correctly.

Expected Behavior:

Cloudbase‑Init should be able to read Azure custom data from the supported location on Windows VMs (either IMDS or C:\AzureData\CustomData.bin) rather than relying on the OVF config drive.

Steps to Reproduce:

  1. Deploy a Windows VM in Azure using a modern image (e.g., Windows Server 2022).
  2. Provide custom data.
  3. Run Cloudbase‑Init with the default AzureService metadata class.

Observe that custom data is not read.

Error logs

2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice [-] No drive containing file E6DA6616-8EC4-48E0-BE93-58CE6ACE3CFB.tag could be found: cloudbaseinit.exception.ItemNotFoundException: No drive containing file E6DA6616-8EC4-48E0-BE93-58CE6ACE3CFB.tag could be found
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice Traceback (most recent call last):
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice   File "C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\Lib\site-packages\cloudbaseinit\metadata\services\azureservice.py", line 468, in load
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice     self._get_ovf_env()
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice   File "C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\Lib\site-packages\cloudbaseinit\metadata\services\azureservice.py", line 346, in _get_ovf_env
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice     ovf_env_path = self._get_ovf_env_path()
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice                    ^^^^^^^^^^^^^^^^^^^^^^^^
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice   File "C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\Lib\site-packages\cloudbaseinit\metadata\services\azureservice.py", line 334, in _get_ovf_env_path
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice     base_path = self._get_config_set_drive_path()
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice   File "C:\Program Files\Cloudbase Solutions\Cloudbase-Init\Python\Lib\site-packages\cloudbaseinit\metadata\services\azureservice.py", line 328, in _get_config_set_drive_path
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice     raise exception.ItemNotFoundException(
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice cloudbaseinit.exception.ItemNotFoundException: No drive containing file E6DA6616-8EC4-48E0-BE93-58CE6ACE3CFB.tag could be found
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.metadata.services.azureservice
2026-01-08 12:12:29.503 5188 ERROR cloudbaseinit.init [-] No metadata service found: cloudbaseinit.exception.MetadataNotFoundException: No available service found
2026-01-08 12:12:29.503 5188 INFO cloudbaseinit.init [-] Plugins execution done

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions