yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #91897
[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