Change in absolute_reverse breaks netbooting on installed MAAS
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
Critical
|
Blake Rouse |
Bug Description
A package built from trunk can no longer netboot nodes, because of the change in https:/
Things start going wrong when the node is booted with a cloud-init-url of “/MAAS/
After that, cloud-init goes into desperation mode. It tries to request its instance ID from the EC2 metadata server, which of course fails to connect, and then goes back to trying the MAAS metadata service at “//latest/
The URL-joining logic has some unexpected corners. Changes there need careful testing. The unit tests are clearly not complete, and Q/A was not done.
Related branches
- Gavin Panella (community): Approve
- Andres Rodriguez (community): Approve
-
Diff: 92 lines (+34/-10)4 files modifiedsrc/maas/monkey.py (+28/-0)
src/maas/settings.py (+4/-0)
src/maasserver/utils/__init__.py (+2/-3)
src/maasserver/utils/tests/test_utils.py (+0/-7)
description: | updated |
Changed in maas: | |
status: | In Progress → Fix Committed |
Changed in maas: | |
status: | Fix Committed → Fix Released |
The reason the change was made, was because absolute_reverse was getting the incorrect value when being called from a different thread.
the django reverse() call is the issue, not urljoin, so bzr 2837 needs to be reverted.
main thread: /MAAS/images- stream/ streams/ v1/index. json stream/ streams/ v1/index. json
new thread: /images-
we need to sort out why from another thread it gets a different result