cloud-init sometimes times out and fails to fetch metadata in the OpenStack environment when the Controller node is under high workload.
The default timeout value is 5 seconds and it may be too small in some cases where the Controller node is too busy to respond to the metadata request from the instance in time.
There is a 'timeout' configuration setting, as in...
datasource:
OpenStack:
timeout: 30
...but this value is not used by the get_data method in cloudinit/sources/DataSourceOpenStack.py, because get_data is called from cloudinit/sources/__init__.py with no keyword arguments:
LOG.debug("Seeing if we can get any data from %s", cls)
s = cls(sys_cfg, distro, paths)
if s.get_data(): myrep.message = "found %s data from %s" % (mode, name) return (s, type_utils.obj_name(cls))
cloud-init sometimes times out and fails to fetch metadata in the OpenStack environment when the Controller node is under high workload.
The default timeout value is 5 seconds and it may be too small in some cases where the Controller node is too busy to respond to the metadata request from the instance in time.
There is a 'timeout' configuration setting, as in...
datasource:
OpenStack:
timeout: 30
...but this value is not used by the get_data method in cloudinit/ sources/ DataSourceOpenS tack.py, because get_data is called from cloudinit/ sources/ __init_ _.py with no keyword arguments:
s = cls(sys_cfg, distro, paths)
if s.get_data():