Skip to content

cinderclient version not supported - seems v2 is used #715

Open

Description

@maikenp

Hi,

I did a fresh install of elasticluster today.

OS: centos stream 8

Procedure used to install:

sudo yum install gcc gcc-c++ git libffi-devel openssl-devel python3 python3-devel python3 python3-virtualenv
virtualenv --python python3 elasticluster
. elasticluster/bin/activate
cd elasticluster
git clone https://github.com/elasticluster/elasticluster.git src
cd src
pip3 install --upgrade 'pip>=9.0.0'
pip3 install -e .

My config:

[cloud/nrec]
provider=openstack
auth_url=https://api.nrec.no:5000/v3
username=<some-username>
password=<some-pwd>
project_name=<some-proj-name>
user_domain_name=<some-domain-name>
project_domain_name=<some-project-domain-name>
region_name=<region>
identity_api_version=3

[login/centos]
image_user=centos
image_user_sudo=root
image_sudo=True
user_key_name=<some-key-name>
user_key_private=<some-private-key>
user_key_public=<some-public-key>

[setup/slurm]
slow_but_safer=True
provider=ansible
global_var_multiuser_cluster=no
login_groups=slurm_master
compute_groups=slurm_worker

[cluster/student01]
cloud=nrec
login=centos
setup=slurm
security_group=<some-sec-group>
login_nodes=1
compute_nodes=2
ssh_to=login
network_ids=<some-id>
image_id=<some-id>

[cluster/student01/login]
flavor=m1.small

[cluster/student01/compute]
flavor=m1.small

This is the result:

(elasticluster) [centos@admin-student01 src]$ elasticluster start student01
2022-03-16 17:21:57 admin-student01.novalocal elasticluster[16541] WARNING FutureWarning: OpenStack auth URL is present both in the environment and the config file. Environment variable OS_AUTH_URL takes precedence, but this may change in the future.
Starting cluster `student01` with:
* 1 login nodes.
* 2 compute nodes.
(This may take a while...)
Version 2 is not supported, use supported version 3 instead.
2022-03-16 17:21:57 admin-student01.novalocal elasticluster[16541] ERROR Could not start node `compute002`: Invalid client version '2.0'. Major part should be '3' -- <class 'cinderclient.exceptions.UnsupportedVersion'>
Traceback (most recent call last):
  File "/home/centos/elasticluster/src/elasticluster/cluster.py", line 583, in _start_node
    node.start()
  File "/home/centos/elasticluster/src/elasticluster/cluster.py", line 1325, in start
    **self.extra)
  File "/home/centos/elasticluster/src/elasticluster/providers/openstack.py", line 484, in start_instance
    self._init_os_api()
  File "/home/centos/elasticluster/src/elasticluster/providers/openstack.py", line 331, in _init_os_api
    cacert=self._os_cacert)
  File "/home/centos/elasticluster/lib/python3.6/site-packages/cinderclient/client.py", line 851, in Client
    api_version, client_class = _get_client_class_and_version(version)
  File "/home/centos/elasticluster/lib/python3.6/site-packages/cinderclient/client.py", line 761, in _get_client_class_and_version
    version = api_versions.get_api_version(version)
  File "/home/centos/elasticluster/lib/python3.6/site-packages/cinderclient/api_versions.py", line 231, in get_api_version
    check_major_version(api_version)
  File "/home/centos/elasticluster/lib/python3.6/site-packages/cinderclient/api_versions.py", line 216, in check_major_version
    raise exceptions.UnsupportedVersion(msg)
cinderclient.exceptions.UnsupportedVersion: Invalid client version '2.0'. Major part should be '3'
Version 2 is not supported, use supported version 3 instead.

Related to:
https://groups.google.com/g/elasticluster/c/OwGEtheH5Nc

pip3 freeze:

(elasticluster) [centos@admin-student01 ~]$ pip3 freeze
adal==1.2.7
ansible==2.9.27
apache-libcloud==3.5.0
appdirs==1.4.4
attrs==21.4.0
autopage==0.5.0
azure-common==1.1.28
azure-core==1.23.0
azure-mgmt-compute==26.1.0
azure-mgmt-core==1.3.0
azure-mgmt-network==19.3.0
azure-mgmt-resource==20.1.0
Babel==2.9.1
bcrypt==3.2.0
boto==2.49.0
cachetools==4.2.4
certifi==2021.10.8
cffi==1.15.0
charset-normalizer==2.0.12
click==8.0.4
cliff==3.10.1
cmd2==2.4.0
coloredlogs==15.0.1
contextlib2==21.6.0
cryptography==36.0.2
debtcollector==2.5.0
decorator==5.1.1
distro==1.7.0
dogpile.cache==1.1.5
-e git+https://github.com/elasticluster/elasticluster.git@6bfad91bd18375533a616ac88b89e2266bb5c8c6#egg=elasticluster
future==0.18.2
google-api-core==2.7.1
google-api-python-client==2.41.0
google-auth==2.6.0
google-auth-httplib2==0.1.0
google-compute-engine==2.8.13
googleapis-common-protos==1.55.0
httplib2==0.20.4
humanfriendly==10.0
idna==3.3
importlib-metadata==4.8.3
importlib-resources==5.4.0
ipaddress==1.0.23
iso8601==1.0.2
isodate==0.6.1
Jinja2==3.0.3
jmespath==0.10.0
jsonpatch==1.32
jsonpointer==2.2
jsonschema==3.2.0
keystoneauth1==4.5.0
MarkupSafe==2.0.1
msgpack==1.0.3
msrest==0.6.21
msrestazure==0.6.4
munch==2.5.0
netaddr==0.8.0
netifaces==0.11.0
oauth2client==4.1.3
oauthlib==3.2.0
openstacksdk==0.61.0
os-client-config==2.1.0
os-service-types==1.7.0
osc-lib==2.5.0
oslo.config==8.8.0
oslo.context==4.1.0
oslo.i18n==5.1.0
oslo.log==4.7.0
oslo.serialization==4.3.0
oslo.utils==4.12.2
packaging==21.3
paramiko==2.10.2
pbr==5.8.1
prettytable==2.5.0
protobuf==3.19.4
pyasn1==0.4.8
pyasn1-modules==0.2.8
pyCLI==2.0.3
pycparser==2.21
pycrypto==2.6.1
pyinotify==0.9.6
PyJWT==2.3.0
PyNaCl==1.5.0
pyOpenSSL==22.0.0
pyparsing==3.0.7
pyperclip==1.8.2
pyrsistent==0.18.0
python-cinderclient==8.3.0
python-dateutil==2.8.2
python-gflags==3.1.2
python-glanceclient==3.6.0
python-keystoneclient==4.4.0
python-neutronclient==7.8.0
python-novaclient==17.7.0
pytz==2021.3
PyYAML==6.0
requests==2.27.1
requests-oauthlib==1.3.1
requestsexceptions==1.4.0
rfc3986==1.5.0
rsa==4.8
scandir==1.10.0
schema==0.7.5
SecretStorage==2.3.1
simplejson==3.17.6
six==1.16.0
stevedore==3.5.0
subprocess32==3.5.4
typing_extensions==4.1.1
uritemplate==4.1.1
urllib3==1.26.9
warlock==1.3.3
wcwidth==0.2.5
wrapt==1.14.0
zipp==3.6.0

Activity

  1. riccardomurri commented on Mar 16, 2022

    @riccardomurri
    Contributor

    I've pushed the temporary fix suggested by Vitor in the email you cited, i.e., pin python-cinderclient to v7.4.0 -- can you please check if it works?

  2. maikenp commented on Mar 16, 2022

    @maikenp
    ContributorAuthor
  3. maikenp commented on Mar 16, 2022

    @maikenp
    ContributorAuthor

    Hi again,

    Next problem in line, maybe I should create a separate issue:

    2022-03-16 22:04:14 admin-student01.novalocal elasticluster[18739] WARNING ResourceWarning: unclosed <socket.socket fd=38, family=AddressFamily.AF_INET6, type=2049, proto=0, laddr=('2001:700:2:8200::213a', 33734, 0, 0)>
    Configuring the cluster ...
    (this too may take a while)
    [WARNING]: Could not match supplied host pattern, ignoring: pvfs2
    [WARNING]: Could not match supplied host pattern, ignoring: pvfs2_data
    [WARNING]: Could not match supplied host pattern, ignoring: pvfs2_meta
    [WARNING]: Could not match supplied host pattern, ignoring: pvfs2_client
    [WARNING]: Could not match supplied host pattern, ignoring: ipython_controller
    [WARNING]: Could not match supplied host pattern, ignoring: ipython_engine
    [WARNING]: Could not match supplied host pattern, ignoring: jenkins
    
    PLAY [Prepare VM for running Ansible] ************************************************************************************************************************************
    
    TASK [Ensure Python is installed] ****************************************************************************************************************************************
    fatal: [compute002]: FAILED! => {"changed": true, "msg": "non-zero return code", "rc": 70, "stderr": "Shared connection to 158.37.63.50 closed.\r\n", "stderr_lines": ["Shared connection to 158.37.63.50 closed."], "stdout": "install-py2.sh: ERROR: Python interpreter '/usr/bin/python' not found, even after installation. Aborting.\r\n", "stdout_lines": ["install-py2.sh: ERROR: Python interpreter '/usr/bin/python' not found, even after installation. Aborting."]}
    fatal: [compute001]: FAILED! => {"changed": true, "msg": "non-zero return code", "rc": 70, "stderr": "Shared connection to 158.39.200.214 closed.\r\n", "stderr_lines": ["Shared connection to 158.39.200.214 closed."], "stdout": "install-py2.sh: ERROR: Python interpreter '/usr/bin/python' not found, even after installation. Aborting.\r\n", "stdout_lines": ["install-py2.sh: ERROR: Python interpreter '/usr/bin/python' not found, even after installation. Aborting."]}
    fatal: [login001]: FAILED! => {"changed": true, "msg": "non-zero return code", "rc": 70, "stderr": "Shared connection to 2001:700:2:8200::2436 closed.\r\n", "stderr_lines": ["Shared connection to 2001:700:2:8200::2436 closed."], "stdout": "install-py2.sh: ERROR: Python interpreter '/usr/bin/python' not found, even after installation. Aborting.\r\n", "stdout_lines": ["install-py2.sh: ERROR: Python interpreter '/usr/bin/python' not found, even after installation. Aborting."]}
    
    

    Are you assuming python2?

  4. riccardomurri commented on Mar 17, 2022

    @riccardomurri
    Contributor

    Are you assuming python2?

    Yes, most of that code should be revised now that Py3 is the default on most platforms. Can you please open a separate issue?

  5. maikenp commented on Mar 17, 2022

    @maikenp
    ContributorAuthor

    Thanks for the prompt reply and fixing the earlier bug.

    I think I will come back to it at some later point. It would seem maybe that the software is not sufficiently maintained at the moment, so will come back later and see then!

    Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions