← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1356855] Re: Cloud-init 0.7.5 Failed to get cloudstack user-data because of trailing slash

 

** Changed in: cloud-init (Ubuntu Utopic)
       Status: Confirmed => Fix Released

** Changed in: cloud-init (Ubuntu Utopic)
     Assignee: Daniel Watkins (daniel-thewatkins) => (unassigned)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1356855

Title:
  Cloud-init 0.7.5 Failed to get cloudstack user-data because of
  trailing slash

Status in Init scripts for use on cloud images:
  Fix Committed
Status in cloud-init package in Ubuntu:
  Fix Released
Status in cloud-init source package in Trusty:
  Confirmed
Status in cloud-init source package in Utopic:
  Fix Released

Bug description:
  === Begin SRU Information ===
  [Impact]
  CloudStack provides an EC2-style metadata server which cloud-init consumes.  Unfortunately, the CloudStack metadata server does not exactly match the behaviour of the EC2 metadata server.  When an instance using cloud-init is booted in a CloudStack environment, it will fail to retrieve metadata from the metadata server.  This leads to cloud-init bailing out and making no changes to the instance, generally rendering it inaccessible and unusable.

  This patch changes all access to EC2-style metadata servers.  Instead
  of accessing http://.../meta-data to determine the available metadata,
  cloud-init will access http://.../meta-data/ (i.e. with an added
  trailing slash).

  [Test Case]
  Booting an Ubuntu image configured to use the CloudStack data source within a CloudStack cloud environment.  If (for example) the instance name is set correctly, then the fix has worked.

  [Regression Potential]

  Regression potential is low; this patch does affect more than just the
  CloudStack data source, but it is backported from the version of
  cloud-init in utopic which has been observed working.

  === End SRU Information ===

  Hi,

  Cloud-init 0.7.5 fails to get cloudstack user-data because of trailing
  slash (ok in previous versions).

  As a temp workaround I use the following patch in url_helper.py line
  239 (0.7.5-0ubuntu1):

             if e.response.status_code == 404:
                  if url.endswith("/"):
                      url = url[:-1]
                      req_args["url"] = url
                  else:
                      url = url + "/"
                      req_args["url"] = url

  I don't know how other products (EC2, openstack & co) deal with
  trailing slash

  Hope that helps

  Thanks

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


References