Failed to retrieve curtin config: 'NoneType' object has no attribute 'url'
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Triaged
|
Medium
|
Unassigned |
Bug Description
Log output:
```
2019-10-07 19:40:01 maasserver.
Traceback (most recent call last):
File "/usr/lib/
File "/usr/lib/
return target()
File "/usr/lib/
task()
File "/usr/lib/
task()
--- <exception caught here> ---
File "/usr/lib/
result = inContext.theWork()
File "/usr/lib/
File "/usr/lib/
return self.currentCon
File "/usr/lib/
return func(*args,**kw)
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
result = func(*args, **kwargs)
File "/usr/lib/
return func_outside_
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwds)
File "/usr/lib/
File "/usr/lib/
result = method(params)
File "/usr/lib/
return action.
File "/usr/lib/
File "/usr/lib/
"Failed to retrieve curtin config: %s" % e)
```
`request` is an `HttpRequest` object going into the `try`, but `url` is missing for some reason. The `if` condition is getting skipped (on check for `None`) because `request` is not `None`; only `request.url` is seemingly missing.
The `self` object and `self.request` object contain:
```
=> /var/log/
2019-10-08 18:32:21 stdout: [info] { 'endpoint': 1,
2019-10-08 18:32:21 stdout: [info] 'node': <Machine: qhytrx (njdcsbcpu01)>,
2019-10-08 18:32:21 stdout: [info] 'request': <HttpRequest>,
2019-10-08 18:32:21 stdout: [info] 'user': <User: user>}
2019-10-08 18:32:21 stdout: [info] { 'COOKIES': {},
2019-10-08 18:32:21 stdout: [info] 'FILES': <MultiValueDict: {}>,
2019-10-08 18:32:21 stdout: [info] 'GET': <QueryDict: {}>,
2019-10-08 18:32:21 stdout: [info] 'META': { 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X '
2019-10-08 18:32:21 stdout: [info] '10_14_6) AppleWebKit/537.36 (KHTML, like '
2019-10-08 18:32:21 stdout: [info] 'Gecko) Chrome/77.0.3865.90 Safari/537.36',
2019-10-08 18:32:21 stdout: [info] 'REMOTE_ADDR': '::ffff:
2019-10-08 18:32:21 stdout: [info] 'SERVER_NAME': 'URL.io',
2019-10-08 18:32:21 stdout: [info] 'SERVER_PORT': 5240},
2019-10-08 18:32:21 stdout: [info] 'POST': <QueryDict: {}>,
2019-10-08 18:32:21 stdout: [info] '_post_
2019-10-08 18:32:21 stdout: [info] 'content_params': None,
2019-10-08 18:32:21 stdout: [info] 'content_type': None,
2019-10-08 18:32:21 stdout: [info] 'method': None,
2019-10-08 18:32:21 stdout: [info] 'path': '',
2019-10-08 18:32:21 stdout: [info] 'path_info': '',
2019-10-08 18:32:21 stdout: [info] 'resolver_match': None,
2019-10-08 18:32:21 stdout: [info] 'user': <User: cms>}
```
Obviously, `HttpRequest.url` is None, but the check only exists on checking `request` for None. It is still not clear yet why `request.url` is `None`.
I took a look at the bug reported that gives a similar error message, but looking at my boot sources shows we have a single boot source still:
```
Machine-readable output follows:
[
{
"created": "2019-04-
"updated": "2019-04-
"url": "http://
"id": 1,
}
]
```
One thing about this environment that could have a strong indicator to the cause of this issue is that this environment is behind a firewall completely secluded from the Internet. An internal private apt repo exists, though.
=======
root@njdcsbdr:
Desired=
| Status=
|/ Err?=(none)
||/ Name Version Architecture Description
+++-===
ii maas 2.6.1-7832-
ii maas-cli 2.6.1-7832-
un maas-cluster-
ii maas-common 2.6.1-7832-
ii maas-dhcp 2.6.1-7832-
ii maas-dns 2.6.1-7832-
ii maas-proxy 2.6.1-7832-
ii maas-rack-
ii maas-region-api 2.6.1-7832-
ii maas-region-
un maas-region-
un python-django-maas <none> <none> (no description available)
un python-maas-client <none> <none> (no description available)
un python-
ii python3-django-maas 2.6.1-7832-
ii python3-maas-client 2.6.1-7832-
ii python3-
Changed in maas: | |
importance: | Undecided → Medium |
Changed in maas: | |
status: | Confirmed → Triaged |
This is probably related and just noticed. When attempting to go to the settings page for MaaS the following occurs:
logs: maas/regiond. log <== ver.rpc. clusterservice. ClusterClientSe rvice) ####### ####### ####### #### Exception: 'NoneType' object has no attribute 'url' ####### ####### ####### ####### #### python3/ dist-packages/ django/ core/handlers/ base.py" , line 185, in _get_response callback( request, *callback_args, **callback_kwargs) python3/ dist-packages/ maasserver/ utils/views. py", line 277, in view_atomic_ with_post_ commit_ savepoint python3. 6/contextlib. py", line 52, in inner python3/ dist-packages/ django/ contrib/ auth/decorators .py", line 23, in _wrapped_view python3/ dist-packages/ maasserver/ views/settings. py", line 277, in general python3/ dist-packages/ maasserver/ views/_ _init__ .py", line 215, in process_form prefix= prefix, **form_kwargs) python3/ dist-packages/ maasserver/ forms/_ _init__ .py", line 1689, in __init__ _load_initials( ) python3/ dist-packages/ maasserver/ forms/_ _init__ .py", line 1696, in _load_initials sitory. get_ports_ archive( ).url)
```
=> /var/log/
2019-10-08 22:41:51 regiond: [info] ::1 GET /MAAS/rpc/ HTTP/1.1 --> 200 OK (referrer: -; agent: provisioningser
2019-10-08 22:42:02 maasserver: [error] #######
2019-10-08 22:42:02 maasserver: [error] Traceback (most recent call last):
File "/usr/lib/
response = wrapped_
File "/usr/lib/
return view_atomic(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwds)
File "/usr/lib/
return view_func(request, *args, **kwargs)
File "/usr/lib/
"Configuration updated.")
File "/usr/lib/
form = form_class(
File "/usr/lib/
self.
File "/usr/lib/
PackageRepo
AttributeError: 'NoneType' object has no attribute 'url'
2019-10-08 22:42:02 regiond: [info] 105.210.153.254 GET /MAAS/settings/ general/ HTTP/1.1 --> 500 INTERNAL_ SERVER_ ERROR (referrer: -; agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36) ver.rpc. clusterservice. ClusterClientSe rvice)
2019-10-08 22:42:21 regiond: [info] ::1 GET /MAAS/rpc/ HTTP/1.1 --> 200 OK (referrer: -; agent: provisioningser
```
from URL: http:// URL:5240/ MAAS/settings/ general/ and the page shows:
'NoneType' object has no attribute 'url'