Comment 3 for bug 1298921

Revision history for this message
Scott Moser (smoser) wrote :

Juergh,
  Thanks for posting the log.
Relevant info from the log:

Mar 31 10:00:05 hlinux [CLOUDINIT] util.py[DEBUG]: Cloud-init v. 0.7.2 running 'single' at Mon, 31 Mar 2014 10:00:05 +0000. Up 3090.59 seconds.
pt.conf.d/90cloud-init-pipelining with apt pipeline depth setting 0
...
Mar 31 10:01:10 hlinux [CLOUDINIT] util.py[DEBUG]: Cloud-init v. 0.7.2 running 'init' at Mon, 31 Mar 2014 10:01:10 +0000. Up 3155.70 seconds.
Mar 31 10:01:10 hlinux [CLOUDINIT] __init__.py[DEBUG]: Looking for for data source in: ['NoCloud', 'AltCloud', 'CloudStack', 'ConfigDrive', 'Ec2', 'MAAS', 'OVF', 'None'], via packages ['', 'cloudinit.sources'] that matches dependencies ['FILESYSTEM', 'NETWORK']
...
Mar 31 10:01:10 hlinux [CLOUDINIT] __init__.py[DEBUG]: Seeing if we can get any data from <class 'cloudinit.sources.DataSourceCloudStack.DataSourceCloudStack'>
Mar 31 10:01:10 hlinux [CLOUDINIT] DataSourceCloudStack.py[DEBUG]: Using /var/lib/dhcp lease directory
Mar 31 10:01:10 hlinux [CLOUDINIT] DataSourceCloudStack.py[DEBUG]: Found DHCP identifier 192.168.122.1
Mar 31 10:01:10 hlinux [CLOUDINIT] DataSourceCloudStack.py[DEBUG]: Found DHCP identifier 192.168.122.1
Mar 31 10:01:10 hlinux [CLOUDINIT] util.py[DEBUG]: Reading from /var/lib/cloud/seed/cs/meta-data (quiet=False)
Mar 31 10:01:10 hlinux [CLOUDINIT] url_helper.py[DEBUG]: [0/1] open 'http://192.168.122.1//latest/meta-data/instance-id' with {'url': 'http://192.168.122.1//latest/meta-data/instance-id', 'headers': {'User-Agent': 'Cloud-Init/0.7.2'}, 'allow_redirects': True, 'method': 'GET', 'timeout': 50.0} configuration
Mar 31 10:01:10 hlinux [CLOUDINIT] url_helper.py[WARNING]: Calling 'http://192.168.122.1//latest/meta-data/instance-id' failed [0/120s]: request error [HTTPConnectionPool(host='192.168.122.1', port=80): Max retries exceeded with url: //latest/meta-data/instance-id (Caused by <class 'socket.error'>: [Errno 111] Connection refused)]

So, this is 0.7.2, and I believe there must be a config file in /etc/cloud/ that enables the CloudStack datasource, and lists it before the ConfigDrive datasource, as the built in config (in cloudinit/settings.py) for 0.7.2 has:
    'datasource_list': [
        'NoCloud',
        'ConfigDrive',
        'AltCloud',
        'OVF',
        'MAAS',
        'Ec2',
        'CloudStack',
        # At the end to act as a 'catch' when none of the above work...
        'None',
    ],

In one way or another, the CloudStack datasource was explicitly enabled.
Additionally, its not a 404 that we get as the error, but a Connection Refused.

You or something explicitly configured this datasource on, and to be run before the Ec2 datasource, so generally its functioning as designed.

I don't generally disagree with the idea, and don't like the polling behavior either.
But when CloudStack was added, it was added with this annoying polling behavior (The Ec2 datasource also has this behavior, to account for the possibility that the metadata server "just isnt there yet").

Before removing the poll/timeout behavior, I'd need to get some ACK from someone involved with CloudStack that this would not break any situations.