I am getting the following error while trying nova-list cli command in an openstack setup. NoneType' object has no attribute 'getitem'
DEBUG (shell:777) 'NoneType' object has no attribute '__getitem__'
Traceback (most recent call last):
File "/opt/stack/python-novaclient/novaclient/shell.py", line 774, in main
OpenStackComputeShell().main(map(strutils.safe_decode, sys.argv[1:]))
File "/opt/stack/python-novaclient/novaclient/shell.py", line 685, in main
self.cs.authenticate()
File "/opt/stack/python-novaclient/novaclient/v1_1/client.py", line 169, in authenticate
self.client.authenticate()
File "/opt/stack/python-novaclient/novaclient/client.py", line 382, in authenticate
auth_url = self._v2_auth(auth_url)
File "/opt/stack/python-novaclient/novaclient/client.py", line 469, in _v2_auth
return self._authenticate(url, body)
File "/opt/stack/python-novaclient/novaclient/client.py", line 484, in _authenticate
return self._extract_service_catalog(url, resp, respbody)
File "/opt/stack/python-novaclient/novaclient/client.py", line 307, in _extract_service_catalog
self.auth_token = self.service_catalog.get_token()
File "/opt/stack/python-novaclient/novaclient/service_catalog.py", line 29, in get_token
return self.catalog['access']['token']['id']
TypeError: 'NoneType' object has no attribute '__getitem__'
ERROR: 'NoneType' object has no attribute '__getitem_
_'
What does that mean?Is there any problem with my openstack setup or it's some python related error?
Literally, 'NoneType' object has no attribute...
means that you are trying to access an attribute or call a method on something that has the value None
.
In practical terms, this means you likely have a bug somewhere that is using a variable before it is assigned a value, or using the value from a function that is returning None
. The first step in debugging this problem is to ask yourself "why is this variable set to None
?".
In this specific case, either self.catalog
, self.catalog['access']
or self.catalog['access']['token']
is None
.