Activity log for bug #1657130

Date Who What changed Old value New value Message
2017-01-17 13:53:13 Lars Kellogg-Stedman bug added bug
2017-01-17 13:56:31 Launchpad Janitor merge proposal linked https://code.launchpad.net/~larsks/cloud-init/+git/cloud-init/+merge/314912
2017-03-03 16:23:49 Scott Moser cloud-init: importance Undecided Medium
2017-03-03 16:23:49 Scott Moser cloud-init: status New Fix Released
2017-03-03 16:24:01 Scott Moser bug task added cloud-init (Ubuntu)
2017-03-03 16:24:13 Scott Moser cloud-init (Ubuntu): status New Confirmed
2017-03-03 16:24:17 Scott Moser cloud-init (Ubuntu): status Confirmed Fix Released
2017-03-03 16:24:21 Scott Moser cloud-init (Ubuntu): importance Undecided Medium
2017-03-03 16:24:31 Scott Moser nominated for series Ubuntu Xenial
2017-03-03 16:24:31 Scott Moser bug task added cloud-init (Ubuntu Xenial)
2017-03-03 16:24:31 Scott Moser nominated for series Ubuntu Yakkety
2017-03-03 16:24:31 Scott Moser bug task added cloud-init (Ubuntu Yakkety)
2017-03-03 16:24:42 Scott Moser cloud-init (Ubuntu Xenial): status New Confirmed
2017-03-03 16:24:45 Scott Moser cloud-init (Ubuntu Yakkety): status New Confirmed
2017-03-03 16:24:48 Scott Moser cloud-init (Ubuntu Xenial): importance Undecided Medium
2017-03-03 16:24:51 Scott Moser cloud-init (Ubuntu Yakkety): importance Undecided Medium
2017-03-03 16:25:16 Scott Moser cloud-init: status Fix Released Fix Committed
2017-03-03 17:01:35 Scott Moser description 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)) === Begin SRU Template === [Impact] On heavily loaded openstack metadata services, cloud-init may hit a timeout and not properly retry when waiting longer or retring would allow it to succeed. cloud-init contained a setting to configure this but it was not used in all cases. The change here enabled usage of timeout and retry for. [Test Case] 1. Launch an instance on openstack. 2. Verify inconsistent use of 'timeout' in /var/log/cloud-init.log $ grep http://169.254.169.254/openstack /var/log/cloud-init.log | grep 0/ | head -n 2 2017-03-03 16:51:23,824 - url_helper.py[DEBUG]: [0/1] open 'http://169.254.169.254/openstack' with {'url': 'http://169.254.169.254/openstack', 'allow_redirects': True, 'headers': {'User-Agent': 'Cloud-Init/0.7.9'}, 'method': 'GET', 'timeout': 10.0} configuration 2017-03-03 16:51:24,384 - url_helper.py[DEBUG]: [0/6] open 'http://169.254.169.254/openstack' with {'url': 'http://169.254.169.254/openstack', 'allow_redirects': True, 'headers': {'User-Agent': 'Cloud-Init/0.7.9'}, 'method': 'GET', 'timeout': 5.0} configuration 3. enable proposed, update, upgrade 4. clean rm -Rf /var/lib/cloud /var/log/cloud-init* 5. reboot 6. re-check step 2, expect see 'timeout' is consistent. [Regression Potential] low chance for regression. Slower boot times but more reliable on a non-perform ant metadata service. === End SRU Template === 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))
2017-03-07 23:24:47 Chris Halse Rogers cloud-init (Ubuntu Xenial): status Confirmed Fix Committed
2017-03-07 23:24:50 Chris Halse Rogers bug added subscriber Ubuntu Stable Release Updates Team
2017-03-07 23:24:53 Chris Halse Rogers bug added subscriber SRU Verification
2017-03-07 23:25:04 Chris Halse Rogers tags verification-needed
2017-03-07 23:33:29 Chris Halse Rogers cloud-init (Ubuntu Yakkety): status Confirmed Fix Committed
2017-03-08 20:00:45 Scott Moser tags verification-needed verification-done-xenial verification-done-yakkety
2017-03-16 16:18:49 Launchpad Janitor cloud-init (Ubuntu Xenial): status Fix Committed Fix Released
2017-03-16 16:19:07 Brian Murray removed subscriber Ubuntu Stable Release Updates Team
2017-03-16 16:19:33 Launchpad Janitor cloud-init (Ubuntu Yakkety): status Fix Committed Fix Released
2017-09-23 02:14:43 Scott Moser cloud-init: status Fix Committed Fix Released
2017-10-25 04:35:40 Tsuyoshi Nagata bug added subscriber Tsuyoshi Nagata
2023-05-10 20:04:12 James Falcon bug watch added https://github.com/canonical/cloud-init/issues/2789