Reputation: 17397
I have installed openstackclient using following commands but somehow getting strange python error and not able to debug what is wrong here, hope python expert can give me some clue to find out what is wrong.
Install openstackclient on CentOS 7.6 (running python 2.7)
yum -y install epel-release
yum install python-pip
pip install python-openstackclient
pip install -U decorator
Run 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
Upvotes: 0
Views: 1902
Reputation: 311238
The indicated line...
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
...is using syntax that only works with Python 3.x. Your system has Python 2.7. Assuming that you are using the correct version of EPEL, this looks like a packaging bug.
EDIT
I missed the fact that you were pip installing
things, rather than relying on your package manager. First, don't do that: running pip install
into the system Python libraries is going to break things at some point. If you're going to use pip
, then install things into a virtual environment where it won't conflict with system tooling.
If you were installing things into a virtual environment, you could simply remove and re-create the virtual environment. I worry that you are going to discover other problems even if we are able to solve the more-itertools
issue.
Given that more_itertools
appears to be used by some of the code, I suspect that simply removing it will break things. You may be able to explicitly install an earlier, python 2.x compatible version of it. Try running:
pip install more-itertools==5.0.0
Upvotes: 1