>From our experiments, doing 'b' is currently not possible. The first
thing the OpenStack datasource does is check the DMI data [1] and if it
does not match an expected platform, the metadata service is never
probed. This leaves cloud-init without any valid data source.

Ironically, the EC2 datasource works in a non-strict mode by default,
which means that it _will_ probe the metadata service. Because OpenStack
provides a EC2-compatible endpoint, it will load data from the metadata
service successfully. It however does print a warning about OpenStack
(on VMware) being an unrecognised platform.

As for identifying OpenStack platforms: I think this is an impossible
task with the large variety of distros out there, many of them built on
older OpenStack releases. If platform identification were to be made a
requirement in the next OpenStack release, it will take years before
every distro and deployment out there is updated to conform to this (if
ever). The next best thing I can come up with is adding a non-strict
mode like in the EC2 datasource (so that metadata is always probed), or
always probing the metadata service and removing OpenStack from the
default list of datasources.

[1] https://git.launchpad.net/cloud-
init/tree/cloudinit/sources/DataSourceOpenStack.py?id=f03dfdebfe700c038a90452ecc23ed8840dea7d4#n124

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1788487

Title:
  OpenStack detection broken on VMware

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1788487/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to