【问题描述】

RPCVersionCapError: Requested message version, 4.17 is incompatible. It needs to be equal in major version and less than or equal in minor version as the specified version cap 4.11.

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/api/openstack/extensions.py", line 336, in wrapped

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions return f(*args, **kwargs)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/servers.py", line 865, in delete

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions self._delete(req.environ['nova.context'], req, id)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/servers.py", line 719, in _delete

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions self.compute_api.delete(context, instance)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 200, in inner

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions return function(self, context, instance, *args, **kwargs)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 208, in _wrapped

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions return fn(self, context, instance, *args, **kwargs)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 148, in inner

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions return f(self, context, instance, *args, **kw)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 2130, in delete

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions self._delete_instance(context, instance)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 2121, in _delete_instance

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions task_state=task_states.DELETING)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 1788, in _delete

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions self.detach_usb_list(context, instance)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 200, in inner

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions return function(self, context, instance, *args, **kwargs)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 191, in wrapped

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions return function(self, context, instance, *args, **kwargs)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 208, in _wrapped

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions return fn(self, context, instance, *args, **kwargs)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/compute/api.py", line 3596, in detach_usb_list

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions return self.compute_rpcapi.detach_usb_list(context, instance)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/nova/compute/rpcapi.py", line 458, in detach_usb_list

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions return cctxt.call(ctxt, 'detach_usb_list', instance=instance)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/client.py", line 164, in call

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions self._check_version_cap(msg.get('version'))

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/client.py", line 121, in _check_version_cap

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions version_cap=self.version_cap)

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions RPCVersionCapError: Requested message version, 4.17 is incompatible. It needs to be equal in major version and less than or equal in minor version as the specified version cap 4.11.

2019-08-16 10:33:21.706 35 ERROR nova.api.openstack.extensions

2019-08-16 10:33:21.708 35 INFO nova.api.openstack.wsgi [req-2bd614de-973d-48fe-b9c2-392a65195a62 11668b80d3264ff7b0e602c4b603af5e 7fadd01436224d6c8d317c5a321fb3f6 - default default] HTTP exception thrown: Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.

【问题定位】

日志显示版本不兼容,RPC当前版本为4.17,但是应该使用4.11或者之前的版本。

重启nova-api服务,此问题不再复现。

后来查看了nova的配置文件,研究对比了一下和其他环境的区别。

[upgrade_levels]

compute = auto

在 /etc/nova/nova.conf 配置文件里面,上面红色字体的参数为auto,这个参数主要是针对同时存在多个版本的nova-compute设计的。

nova-api的启动顺序在nova-compute之前,所以,在最开始的时候并不能取到nova-compute的版本,直接取了默认的mitaka,也就是4.11的版本。

然后在调用nova-api的时候,如果nova-compute的版本不是mitaka,版本就会有不匹配的问题。

但是在重启的时候, 通过上面的函数重新取了nova-compute的版本。

【解决方法】

将 /etc/nova/nova.conf 配置文件里面的红色字段修改为None:

[upgrade_levels]

compute = None

在上代码中,如果取到的imp_version为None,则直接返回True。

RPCVersionCapError: Requested message version, 4.17 is incompatible. It needs to be equal in major version and less than or equal in minor version as the specified version cap 4.11.的更多相关文章

  1. version `GLIBC_2.17' not found

    @ 今天把一个linux程序布到线上服务器上时,运行不起来,下面是解决思路. @ 运行程序,报以下错误 root@iZ25uck2l28Z:/tmp/tmp# ./speed_test ./speed ...

  2. ImportError: /lib64/libc.so.6: version `GLIBC_2.17' 问题解决

    安装最新的TensorFlow(>=1.10)后,载入TensorFlow时提示Glibc版本过低,需要升级到指定版本. ImportError: /lib64/libc.so.6: versi ...

  3. linux /lib64/libc.so.6: version `GLIBC_2.17′ not found

    使用root权限安装Glances,需要用到glibc,安装失败后所有命令都不好用了,执行回报“/lib64/libc.so.6: version `GLIBC_2.17′ not found ”的错 ...

  4. linux 运行可执行文件version `GLIBC_2.17' not found

    http://www.cnblogs.com/q191201771/p/3875316.html root@socfpga:/media/ram/nfs/dvb# ./a.out ./a.: vers ...

  5. version `GLIBC_2.17' not found 解决方法

    1.先查看是哪个函数用的是GLIBC_2.17 root@emb-pc:/home/emb/temp# nm lib61850.so | grep GLIBC_2.17 U clock_gettime ...

  6. Java-Maven-pom.xml-project-dependencies:dependencies

    ylbtech-Java-Maven-pom.xml-project-dependencies:dependencies 1.java 调用ddl <!-- java 调用ddl --> ...

  7. win7升级到win10系统后,node13升级为node16,node版本node-sass版本与不匹配,导致出现npm ERR! ERESOLVE could not resolve

    1. 错误npm ERR! code ERESOLVE 系统从win7升级到win10,之前的node版本是13.14.0,现在版本是16.17.1.正常的vue程序无法正常运行.从网上查询得知&qu ...

  8. hive :MetaException(message:Version information not found in metastore. )

    MetaException(message:Version information not found in metastore. ) Hive now records the schema vers ...

  9. Kubernetes 1.17.2 高可用部署

    20.0.0.200    10.0.0.200 bs-k8s-master01 管理节点 2c2g 20.0.0.201    10.0.0.201 bs-k8s-master02 管理节点 2c2 ...

随机推荐

  1. chomre 控制台断点调试

    在上图蓝色圆圈中数字,它们分别代表: 1.停止断点调试 2.不跳入函数中去,继续执行下一行代码(F10) 3.跳入函数中去(F11) 4.从执行的函数中跳出 5.禁用所有的断点,不做任何调试 6.程序 ...

  2. dockerfile:python-cuda-nvidia-cudnn

    centos7 FROM centos:7 MAINTAINER yon@DataExa.com RUN yum -y install make wget \ && wget -O / ...

  3. JAVA记录 Spring 两大特性

    1.IOC控制反转 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象 ...

  4. 15、Qt 样式表

    Qt的样式表类似HTML的层叠式样式表CSS,可以为一个独立的子部件.整个窗口.整个应用程序指定一种外表样式. 样式表功能:1.优化外观.2.实现某些动作,如鼠标在图片上,图片切换. 格式:QWidg ...

  5. Eclipse中文件结构的树形显示问题

    问题描述:在Eclipse中的SpringBoot文件显示层级消失. 这种情况下编辑代码的效率大大下降. 原因:Eclipse的工作模式不正确.上面的工作模式是Java模式.实际上应采用JavaEE模 ...

  6. react 中的路由 属性exact

    https://www.cnblogs.com/nailc/p/8718137.html(copy)

  7. HGOI20190810 省常中互测3

    Problem A  夏洛特 若当前处在点$(x,y)$下一时刻可以向该点四周任意方向走动一步, 初始在$(0,0)$是否存在一条合法的路线满足下列$n$个限制: 每一个限制形如$t_i , x_i ...

  8. (Java多线程系列四)停止线程

    停止线程 停止线程的思路 ①使用退出标志,使线程正常退出,也就是当run()方法结束后线程终止. class Thread01 extends Thread { // volatile关键字解决线程的 ...

  9. 我不熟悉的string类

    我不常用的string函数 多的不说,直接上: assign函数 string& assign(const char *s); //把字符串s赋给当前的字符串 string& assi ...

  10. [LOJ3106][TJOI2019]唱、跳、rap和篮球:DP+生成函数+NTT+容斥原理

    分析 令\(f(i)\)表示共\(i\)组同学讨论cxk的位置的方案数(不考虑其他位置上的人的爱好),这个数组可以很容易地通过依次考虑每个位置是否是四个人中最后一个人的位置来递推求解,时间复杂度\(O ...