← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1188917] Re: cloud-init cannot handle includes using HTTP Basic authentication

 

Tracked in Github Issues as https://github.com/canonical/cloud-
init/issues/2374

** Bug watch added: github.com/canonical/cloud-init/issues #2374
   https://github.com/canonical/cloud-init/issues/2374

** Changed in: cloud-init
       Status: Confirmed => Expired

-- 
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/1188917

Title:
  cloud-init cannot handle includes using HTTP Basic authentication

Status in cloud-init:
  Expired

Bug description:
  As I am migrating away from no a longer supported version of Ubuntu to
  Ubuntu 13.04 "raring", I came upon the following change in cloud-
  init's behaviour:

  Scenario:
  - user-data contains "#include\nhttp://mactijn.eu/cloud-init/main.include";
  - main.include in turn includes 4 shell scripts, 2 of which (#2 and #4) are behind HTTP Basic authentication. The user/pass is given in the URL.

  Expected results:
  - all scripts are downloaded, and executed in order (as was the case with 0.6.1 on ubuntu 11.04)

  Actual results:
  - script #1 is downloaded
  - 10 attempts to download script #2 are done, sans Basic authentication
  - cloud-init gives up, not executing any script

  Changing "#include" to "#include-once" in main.include did not result
  in different behaviour.

  web server logs:
  54.216.72.x - - [08/Jun/2013:10:28:57 +0200] "GET /cloud-init/main.include HTTP/1.0" 200 515 "-" "Cloud-Init/0.7.2"
  54.216.72.x - - [08/Jun/2013:10:28:57 +0200] "GET /cloud-init/include-001.sh HTTP/1.0" 200 361 "-" "Cloud-Init/0.7.2"
  54.216.72.x - - [08/Jun/2013:10:28:57 +0200] "GET /cloud-init/protected/include-002.sh HTTP/1.0" 401 658 "-" "Cloud-Init/0.7.2"
  [last line repeated 10 more times, 1 second interval]

  console output:
  Traceback (most recent call last):
    File "/usr/bin/cloud-init", line 509, in <module>
      sys.exit(main())
    File "/usr/bin/cloud-init", line 505, in main
      return functor(name, args)
    File "/usr/bin/cloud-init", line 258, in main_init
      init.update()
    File "/usr/lib/python2.7/dist-packages/cloudinit/stages.py", line 322, in update
      self._store_userdata()
    File "/usr/lib/python2.7/dist-packages/cloudinit/stages.py", line 327, in _store_userdata
      processed_ud = "%s" % (self.datasource.get_userdata())
    File "/usr/lib/python2.7/dist-packages/cloudinit/sources/__init__.py", line 71, in get_userdata
      self.userdata = self.ud_proc.process(self.get_userdata_raw())
    File "/usr/lib/python2.7/dist-packages/cloudinit/user_data.py", line 66, in process
      self._process_msg(convert_string(blob), accumulating_msg)
    File "/usr/lib/python2.7/dist-packages/cloudinit/user_data.py", line 94, in _process_msg
      self._do_include(payload, append_msg)
    File "/usr/lib/python2.7/dist-packages/cloudinit/user_data.py", line 189, in _do_include
      self._process_msg(new_msg, append_msg)
    File "/usr/lib/python2.7/dist-packages/cloudinit/user_data.py", line 94, in _process_msg
      self._do_include(payload, append_msg)
    File "/usr/lib/python2.7/dist-packages/cloudinit/user_data.py", line 177, in _do_include
      ssl_details=self.ssl_details)
    File "/usr/lib/python2.7/dist-packages/cloudinit/util.py", line 690, in read_file_or_url
      ssl_details=ssl_details)
    File "/usr/lib/python2.7/dist-packages/cloudinit/url_helper.py", line 191, in readurl
      raise excps[-1]
  cloudinit.url_helper.UrlError: 401 Client Error: Authorization Required

  Installed version of cloud-init is 0.7.2~bzr809-0ubuntu1 which seems
  to be the most current version in 13.04 to date.

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