服务器列表期间 openstackclient python 错误

openstackclient python error during server list

我已经使用以下命令安装了 openstackclient,但不知何故出现了奇怪的 python 错误并且无法调试这里的错误,希望 python 专家能给我一些线索以找出问题所在.

在 CentOS 7.6 上安装 openstackclient (运行 python 2.7)

yum -y install epel-release
yum install python-pip
pip install python-openstackclient
pip install -U decorator 

运行 openstackclient

# source openrc
# openstack server list --debug
    START with options: server list --debug
    options: Namespace(access_token='***', access_token_endpoint='', access_token_type='', application_credential_id='', application_credential_name='', application_credential_secret='***', auth_methods='', auth_type='password', auth_url='http://172.28.16.9:5000/v3', cacert=None, cert='', client_id='', client_secret='***', cloud='', code='', debug=True, default_domain='default', default_domain_id='', default_domain_name='', deferred_help=False, discovery_endpoint='', domain_id='', domain_name='', endpoint='', identity_provider='', identity_provider_url='', insecure=None, interface='internalURL', key='', log_file=None, openid_scope='', os_beta_command=False, os_compute_api_version='', os_identity_api_version='3', os_image_api_version='', os_network_api_version='', os_object_api_version='', os_orchestration_api_version='1', os_project_id=None, os_project_name=None, os_volume_api_version='', passcode='', password='***', project_domain_id='', project_domain_name='Default', project_id='', project_name='admin', protocol='', redirect_uri='', region_name='RegionOne', remote_project_domain_id='', remote_project_domain_name='', remote_project_id='', remote_project_name='', service_provider='', service_provider_endpoint='', service_provider_entity_id='', system_scope='', timing=False, token='***', trust_id='', url='', user_domain_id='', user_domain_name='Default', user_id='', username='admin', verbose_level=3, verify=None)
    Auth plugin password selected
    auth_config_hook(): {'auth_type': 'password', 'beta_command': False, u'image_status_code_retries': '5', 'orchestration_api_version': '1', 'timing': False, 'auth_url': 'http://172.28.16.9:5000/v3', u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', 'networks': [], 'verify': True, u'object_store_api_version': u'1', u'status': u'active', 'verbose_level': 3, 'region_name': 'RegionOne', u'baremetal_introspection_status_code_retries': '5', 'api_timeout': None, 'auth': {'user_domain_name': 'Default', 'project_name': 'admin', 'project_domain_name': 'Default'}, 'default_domain': 'default', u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', 'key': None, 'cacert': None, 'password': '***', u'baremetal_status_code_retries': '5', 'identity_api_version': '3', 'username': 'admin', 'deferred_help': False, 'cert': None, u'secgroup_source': u'neutron', 'debug': True, u'interface': 'internalURL', u'disable_vendor_agent': {}}
    defaults: {u'auth_type': 'password', u'status': u'active', u'image_status_code_retries': 5, u'baremetal_introspection_status_code_retries': 5, 'api_timeout': None, 'cacert': None, u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', 'key': None, u'interface': None, u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', u'baremetal_status_code_retries': 5, 'verify': True, 'cert': None, u'secgroup_source': u'neutron', u'object_store_api_version': u'1', u'disable_vendor_agent': {}}
    cloud cfg: {'auth_type': 'password', 'beta_command': False, u'image_status_code_retries': '5', 'orchestration_api_version': '1', 'cacert': None, 'auth_url': 'http://172.28.16.9:5000/v3', u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', 'networks': [], 'verify': True, u'object_store_api_version': u'1', u'status': u'active', 'verbose_level': 3, 'region_name': 'RegionOne', u'baremetal_introspection_status_code_retries': '5', 'api_timeout': None, 'auth': {'user_domain_name': 'Default', 'project_name': 'admin', 'project_domain_name': 'Default'}, 'default_domain': 'default', u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', 'key': None, 'timing': False, 'password': '***', u'baremetal_status_code_retries': '5', 'identity_api_version': '3', 'username': 'admin', 'deferred_help': False, 'cert': None, u'secgroup_source': u'neutron', 'debug': True, u'interface': 'internalURL', u'disable_vendor_agent': {}}
    compute API version 2.1, cmd group openstack.compute.v2
    network API version 2, cmd group openstack.network.v2
    image API version 2, cmd group openstack.image.v2
    volume API version 2, cmd group openstack.volume.v2
    identity API version 3, cmd group openstack.identity.v3
    object_store API version 1, cmd group openstack.object_store.v1
    orchestration API version 1, cmd group openstack.orchestration.v1
    Auth plugin password selected
    auth_config_hook(): {'auth_type': 'password', 'beta_command': False, u'image_status_code_retries': '5', 'orchestration_api_version': '1', 'timing': False, 'auth_url': 'http://172.28.16.9:5000/v3', u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', 'networks': [], 'verify': True, u'object_store_api_version': u'1', u'status': u'active', 'verbose_level': 3, 'region_name': 'RegionOne', u'baremetal_introspection_status_code_retries': '5', 'api_timeout': None, 'auth': {'user_domain_name': 'Default', 'project_name': 'admin', 'project_domain_name': 'Default'}, 'default_domain': 'default', u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', 'key': None, 'cacert': None, 'password': '***', u'baremetal_status_code_retries': '5', 'identity_api_version': '3', 'username': 'admin', 'deferred_help': False, 'cert': None, u'secgroup_source': u'neutron', 'debug': True, u'interface': 'internalURL', u'disable_vendor_agent': {}}
    Auth plugin password selected
    auth_config_hook(): {'auth_type': 'password', 'beta_command': False, u'image_status_code_retries': '5', 'orchestration_api_version': '1', 'timing': False, 'auth_url': 'http://172.28.16.9:5000/v3', u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', 'networks': [], 'verify': True, u'object_store_api_version': u'1', u'status': u'active', 'verbose_level': 3, 'region_name': 'RegionOne', u'baremetal_introspection_status_code_retries': '5', 'api_timeout': None, 'auth': {'user_domain_name': 'Default', 'project_name': 'admin', 'project_domain_name': 'Default'}, 'default_domain': 'default', u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', 'key': None, 'cacert': None, 'password': '***', u'baremetal_status_code_retries': '5', 'identity_api_version': '3', 'username': 'admin', 'deferred_help': False, 'cert': None, u'secgroup_source': u'neutron', 'debug': True, u'interface': 'internalURL', u'disable_vendor_agent': {}}
    command: server list -> openstackclient.compute.v2.server.ListServer (auth=True)
    Auth plugin password selected
    auth_config_hook(): {'auth_type': 'password', 'beta_command': False, u'image_status_code_retries': '5', 'key': None, 'timing': False, 'auth_url': 'http://172.28.16.9:5000/v3', 'additional_user_agent': [('osc-lib', '1.14.1')], u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', 'networks': [], 'verify': True, u'object_store_api_version': u'1', u'status': u'active', 'verbose_level': 3, 'region_name': 'RegionOne', u'baremetal_introspection_status_code_retries': '5', 'api_timeout': None, 'auth': {'user_domain_name': 'Default', 'project_name': 'admin', 'project_domain_name': 'Default'}, 'default_domain': 'default', u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', 'orchestration_api_version': '1', u'interface': 'internalURL', 'password': '***', 'cacert': None, u'baremetal_status_code_retries': '5', 'identity_api_version': '3', 'username': 'admin', 'deferred_help': False, 'cert': None, u'secgroup_source': u'neutron', 'debug': True, u'disable_vendor_agent': {}}
    Using auth plugin: password
    Using parameters {'username': 'admin', 'project_name': 'admin', 'user_domain_name': 'Default', 'auth_url': 'http://172.28.16.9:5000/v3', 'password': '***', 'project_domain_name': 'Default'}
    Get auth_ref
    REQ: curl -g -i -X GET http://172.28.16.9:5000/v3 -H "Accept: application/json" -H "User-Agent: openstacksdk/0.37.0 keystoneauth1/3.18.0 python-requests/2.22.0 CPython/2.7.5"
    Starting new HTTP connection (1): 172.28.16.9:5000
    http://172.28.16.9:5000 "GET /v3 HTTP/1.1" 200 251
    RESP: [200] Connection: close Content-Length: 251 Content-Security-Policy: default-src 'self' https: wss:; Content-Type: application/json Date: Tue, 26 Nov 2019 03:44:52 GMT Server: nginx/1.16.1 Vary: X-Auth-Token X-Content-Type-Options: nosniff X-Frame-Options: DENY X-XSS-Protection: 1; mode=block x-openstack-request-id: req-490ab2ff-c0b9-4436-bf8d-0771f3ac5ffe
    RESP BODY: {"version": {"status": "stable", "updated": "2019-01-22T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.12", "links": [{"href": "http://172.28.16.9:5000/v3/", "rel": "self"}]}}
    GET call to http://172.28.16.9:5000/v3 used request id req-490ab2ff-c0b9-4436-bf8d-0771f3ac5ffe
    Making authentication request to http://172.28.16.9:5000/v3/auth/tokens
    Resetting dropped connection: 172.28.16.9
    http://172.28.16.9:5000 "POST /v3/auth/tokens HTTP/1.1" 201 4640
    {"token": {"is_domain": false, "methods": ["password"], "roles": [{"id": "9944533d28d64d1ca7c5f8c580896020", "name": "admin"}, {"id": "4633f54340d2453e8b186326eed8aef5", "name": "member"}, {"id": "05e2dc8cbfad49838cbfa683e7eb7325", "name": "reader"}], "expires_at": "2019-11-26T15:44:52.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "17e53f35988a4b4a9a32c8cfeec05537", "name": "admin"}, "catalog": [{"endpoints": [{"url": "http://172.28.16.9:8780", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "0ca74408bb074d24b22dd2aa00eff820"}, {"url": "https://10.30.16.9:8780", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "27924cb00b53432e8beb34b056e67ff1"}, {"url": "http://172.28.16.9:8780", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "79b09d9892bf4f3cbdcf2784a1684c2f"}], "type": "placement", "id": "1c74655d5e1e4191b959e96cabcfefbd", "name": "placement"}, {"endpoints": [{"url": "https://10.30.16.9:8774/v2.1", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "27ffcc6bb7d944c1a6c04e91c830efc3"}, {"url": "http://172.28.16.9:8774/v2.1", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "7b128ef8a8be4173b38121ed20d87e52"}, {"url": "http://172.28.16.9:8774/v2.1", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "c6f91cda858344f9b6cc515f1e3a99a8"}], "type": "compute", "id": "26d2b7fb2a1440298aa9547445c26496", "name": "nova"}, {"endpoints": [{"url": "https://10.30.16.9:8000/v1", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "4441551e12fc47f3bcf16a2fc35bd7e0"}, {"url": "http://172.28.16.9:8000/v1", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "6cb8f78140214c71953ad20befeb9c0a"}, {"url": "http://172.28.16.9:8000/v1", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "771f3bfada8a4a2c8f61f853377bfe73"}], "type": "cloudformation", "id": "3fc58bddeddb4cd3bda8445ee31c84cd", "name": "heat-cfn"}, {"endpoints": [{"url": "https://10.30.16.9:9696", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "0eefb65249f84092b41cd70c59f8598e"}, {"url": "http://172.28.16.9:9696", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "56fa92d9b7104f27b17382479860f2d5"}, {"url": "http://172.28.16.9:9696", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "bf99e2da368d4367ab76a16c682e9aa2"}], "type": "network", "id": "6c04b2fa2e444ebd8e4c13ce7e2c324a", "name": "neutron"}, {"endpoints": [{"url": "https://10.30.16.9:8004/v1/17e53f35988a4b4a9a32c8cfeec05537", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "7dd979b3ea6d4459a780aa09baff8d06"}, {"url": "http://172.28.16.9:8004/v1/17e53f35988a4b4a9a32c8cfeec05537", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "87c6d36c25774c958daaab11ef2a51a3"}, {"url": "http://172.28.16.9:8004/v1/17e53f35988a4b4a9a32c8cfeec05537", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "fc62f32a3ee4463eaa09d7bbb00e1b90"}], "type": "orchestration", "id": "952ae979ecb7472f83010be177ddb282", "name": "heat"}, {"endpoints": [{"url": "https://10.30.16.9:9292", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "5fd1c9cc608e4134b0ddd5a230401c6f"}, {"url": "http://172.28.16.9:9292", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "a95c4a55f1c84ac9aee4b85874fa3893"}, {"url": "http://172.28.16.9:9292", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "ff2819e67b8c4ff1b650d6c2af4b551c"}], "type": "image", "id": "988a3140f151414a9ecde2cd4211a4ab", "name": "glance"}, {"endpoints": [{"url": "http://172.28.16.9:5000", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "3ff947111a994736b327155d6671dde9"}, {"url": "http://172.28.16.9:5000", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "7b69d078595e4ce1bc94c1ec3b63ecf4"}, {"url": "https://10.30.16.9:5000", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "f333086d636d4db29a490c90fa1a4737"}], "type": "identity", "id": "b2afa2ef07cb4d8fa9c1391221d7c8d8", "name": "keystone"}], "user": {"domain": {"id": "default", "name": "Default"}, "password_expires_at": null, "name": "admin", "id": "093c1e3cb4964d3c9b842c671689e2b1"}, "audit_ids": ["DbzIEG-oQgq-f8WX9GAI4g"], "issued_at": "2019-11-26T03:44:52.000000Z"}}
    run(Namespace(all_projects=False, changes_before=None, changes_since=None, columns=[], deleted=False, fit_width=False, flavor=None, formatter='table', host=None, image=None, instance_name=None, ip=None, ip6=None, limit=None, long=False, marker=None, max_width=0, name=None, name_lookup_one_by_one=False, no_name_lookup=False, noindent=False, print_empty=False, project=None, project_domain=None, quote_mode='nonnumeric', reservation_id=None, sort_columns=[], status=None, user=None, user_domain=None))
    Instantiating compute client for API Version Major: 2, Minor: 1
    Instantiating compute api: <class 'openstackclient.api.compute_v2.APIv2'>
    Instantiating identity client: <class 'keystoneclient.v3.client.Client'>
    invalid syntax (more.py, line 340)
    Traceback (most recent call last):
      File "/usr/lib/python2.7/site-packages/cliff/app.py", line 401, in run_subcommand
        result = cmd.run(parsed_args)
      File "/usr/lib/python2.7/site-packages/osc_lib/command/command.py", line 41, in run
        return super(Command, self).run(parsed_args)
      File "/usr/lib/python2.7/site-packages/cliff/display.py", line 116, in run
        column_names, data = self.take_action(parsed_args)
      File "/usr/lib/python2.7/site-packages/openstackclient/compute/v2/server.py", line 1168, in take_action
        image_client = self.app.client_manager.image
      File "/usr/lib/python2.7/site-packages/osc_lib/clientmanager.py", line 47, in __get__
        self._handle = self.factory(instance)
      File "/usr/lib/python2.7/site-packages/openstackclient/image/client.py", line 45, in make_client
        API_VERSIONS)
      File "/usr/lib/python2.7/site-packages/osc_lib/utils/__init__.py", line 428, in get_client_class
        return importutils.import_class(client_path)
      File "/usr/lib/python2.7/site-packages/oslo_utils/importutils.py", line 30, in import_class
        __import__(mod_str)
      File "/usr/lib/python2.7/site-packages/glanceclient/v2/__init__.py", line 15, in <module>
        from glanceclient.v2.client import Client      # noqa
      File "/usr/lib/python2.7/site-packages/glanceclient/v2/client.py", line 19, in <module>
        from glanceclient.v2 import image_members
      File "/usr/lib/python2.7/site-packages/glanceclient/v2/image_members.py", line 16, in <module>
        import warlock
      File "/usr/lib/python2.7/site-packages/warlock/__init__.py", line 17, in <module>
        from warlock.core import model_factory  # NOQA
      File "/usr/lib/python2.7/site-packages/warlock/core.py", line 19, in <module>
        from . import model
      File "/usr/lib/python2.7/site-packages/warlock/model.py", line 21, in <module>
        import jsonschema
      File "/usr/lib/python2.7/site-packages/jsonschema/__init__.py", line 31, in <module>
        import importlib_metadata
      File "/usr/lib/python2.7/site-packages/importlib_metadata/__init__.py", line 9, in <module>
        import zipp
      File "/usr/lib/python2.7/site-packages/zipp.py", line 12, in <module>
        import more_itertools
      File "/usr/lib/python2.7/site-packages/more_itertools/__init__.py", line 1, in <module>
        from more_itertools.more import *  # noqa
      File "/usr/lib/python2.7/site-packages/more_itertools/more.py", line 340
        def _collate(*iterables, key=lambda a: a, reverse=False):
                                   ^
    SyntaxError: invalid syntax
    clean_up ListServer: invalid syntax (more.py, line 340)
    Traceback (most recent call last):
      File "/usr/lib/python2.7/site-packages/osc_lib/shell.py", line 136, in run
        ret_val = super(OpenStackShell, self).run(argv)
      File "/usr/lib/python2.7/site-packages/cliff/app.py", line 281, in run
        result = self.run_subcommand(remainder)
      File "/usr/lib/python2.7/site-packages/osc_lib/shell.py", line 176, in run_subcommand
        ret_value = super(OpenStackShell, self).run_subcommand(argv)
      File "/usr/lib/python2.7/site-packages/cliff/app.py", line 401, in run_subcommand
        result = cmd.run(parsed_args)
      File "/usr/lib/python2.7/site-packages/osc_lib/command/command.py", line 41, in run
        return super(Command, self).run(parsed_args)
      File "/usr/lib/python2.7/site-packages/cliff/display.py", line 116, in run
        column_names, data = self.take_action(parsed_args)
      File "/usr/lib/python2.7/site-packages/openstackclient/compute/v2/server.py", line 1168, in take_action
        image_client = self.app.client_manager.image
      File "/usr/lib/python2.7/site-packages/osc_lib/clientmanager.py", line 47, in __get__
        self._handle = self.factory(instance)
      File "/usr/lib/python2.7/site-packages/openstackclient/image/client.py", line 45, in make_client
        API_VERSIONS)
      File "/usr/lib/python2.7/site-packages/osc_lib/utils/__init__.py", line 428, in get_client_class
        return importutils.import_class(client_path)
      File "/usr/lib/python2.7/site-packages/oslo_utils/importutils.py", line 30, in import_class
        __import__(mod_str)
      File "/usr/lib/python2.7/site-packages/glanceclient/v2/__init__.py", line 15, in <module>
        from glanceclient.v2.client import Client      # noqa
      File "/usr/lib/python2.7/site-packages/glanceclient/v2/client.py", line 19, in <module>
        from glanceclient.v2 import image_members
      File "/usr/lib/python2.7/site-packages/glanceclient/v2/image_members.py", line 16, in <module>
        import warlock
      File "/usr/lib/python2.7/site-packages/warlock/__init__.py", line 17, in <module>
        from warlock.core import model_factory  # NOQA
      File "/usr/lib/python2.7/site-packages/warlock/core.py", line 19, in <module>
        from . import model
      File "/usr/lib/python2.7/site-packages/warlock/model.py", line 21, in <module>
        import jsonschema
      File "/usr/lib/python2.7/site-packages/jsonschema/__init__.py", line 31, in <module>
        import importlib_metadata
      File "/usr/lib/python2.7/site-packages/importlib_metadata/__init__.py", line 9, in <module>
        import zipp
      File "/usr/lib/python2.7/site-packages/zipp.py", line 12, in <module>
        import more_itertools
      File "/usr/lib/python2.7/site-packages/more_itertools/__init__.py", line 1, in <module>
        from more_itertools.more import *  # noqa
      File "/usr/lib/python2.7/site-packages/more_itertools/more.py", line 340
        def _collate(*iterables, key=lambda a: a, reverse=False):
                                   ^
    SyntaxError: invalid syntax

    END return value: 1

指示的行...

      File "/usr/lib/python2.7/site-packages/more_itertools/more.py", line 340
        def _collate(*iterables, key=lambda a: a, reverse=False):
                                   ^
    SyntaxError: invalid syntax

...正在使用仅适用于 Python 3.x 的语法。您的系统有 Python 2.7。假设您使用的是正确版本的 EPEL,这看起来像是一个打包错误。

编辑

我错过了你 pip installing 的事实,而不是依赖你的包管理器。首先,不要这样做:运行 pip install 进入系统 Python 库在某些时候会破坏某些东西。如果您要使用 pip,则将其安装到不会与系统工具冲突的虚拟环境中。

如果您要将东西安装到虚拟环境中,您可以简单地删除并重新创建虚拟环境。我担心即使我们能够解决 more-itertools 问题,您也会发现其他问题。

鉴于 more_itertools 似乎被某些代码使用,我怀疑简单地删除它会破坏事情。您可以显式安装它的早期 python 2.x 兼容版本。试试 运行:

pip install more-itertools==5.0.0