I am getting the following error while trying nova-list cli command in an openstack setup. NoneType' object has no attribute 'getitem'
我在openstack安装程序中尝试nova-list cli命令时收到以下错误。 NoneType'对象没有属性'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?
这是什么意思?我的openstack设置有什么问题,或者是一些python相关的错误?
2 个解决方案
#1
7
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
.
从字面上看,'NoneType'对象没有属性...意味着您正在尝试访问属性或在值为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
?".
实际上,这意味着在分配值之前,或者使用返回None的函数中的值时,您可能会遇到某个错误。调试此问题的第一步是问自己“为什么这个变量设置为None?”。
In this specific case, either self.catalog
, self.catalog['access']
or self.catalog['access']['token']
is None
.
在这种特定情况下,self.catalog,self.catalog ['access']或self.catalog ['access'] ['token']为None。
#2
0
Error Message
TypeError: 'NoneType' object has no attribute '__getitem__'
Cause
Calling a void method in an argument list of another function call, caused the "NoneType" error for me.
在另一个函数调用的参数列表中调用void方法,导致我的“NoneType”错误。
Solution
To solve, I just made the void method return the value I needed in the other function's argument list.
为了解决这个问题,我只是让void方法在其他函数的参数列表中返回我需要的值。
#1
7
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
.
从字面上看,'NoneType'对象没有属性...意味着您正在尝试访问属性或在值为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
?".
实际上,这意味着在分配值之前,或者使用返回None的函数中的值时,您可能会遇到某个错误。调试此问题的第一步是问自己“为什么这个变量设置为None?”。
In this specific case, either self.catalog
, self.catalog['access']
or self.catalog['access']['token']
is None
.
在这种特定情况下,self.catalog,self.catalog ['access']或self.catalog ['access'] ['token']为None。
#2
0
Error Message
TypeError: 'NoneType' object has no attribute '__getitem__'
Cause
Calling a void method in an argument list of another function call, caused the "NoneType" error for me.
在另一个函数调用的参数列表中调用void方法,导致我的“NoneType”错误。
Solution
To solve, I just made the void method return the value I needed in the other function's argument list.
为了解决这个问题,我只是让void方法在其他函数的参数列表中返回我需要的值。