首页 > 其他分享 >OpenStack遇到问题收集

OpenStack遇到问题收集

时间:2023-08-27 10:33:42浏览次数:40  
标签:收集 遇到 Exchange list nova libvirt etc rabbitmqctl OpenStack


1. AMQPChannelException

PROBLEM:

在用stable/folsom的devstack安装stable/folsom的openstack时,遇到下面的问题:

(nova.api.openstack): TRACE: AMQPChannelException: (406, u"PRECONDITION_FAILED - cannot redeclare exchange 'nova' in vhost '/nova' with different type, durable or autodelete value", (40, 10), 'Channel.exchange_declare')



SOLUTION:

The Exchange is probably declared with a different set of parameters (auto-deletion, etc.) in the new version of OpenStack and RabbitMq is quite "nazi" about this sort of stuff. There's a nice way and a not-so-nice way to manually delete the Exchange.

THE NICE WAY:
If the Queues binded to the Exchange are empty, the Exchange can be deleted using the following commands:
> rabbitmqctl stop_app
> rabbitmqctl reset
> rabbitmqctl start_app

2) List the Exchanges to see if the it was removed from the list:
> rabbitmqctl list_exchanges

If it remains on the list, use "amqp-utils" Ruby Gem to do the job, since "rabbitmqctl" does not support Exchange deletion.
THE NOT-SO-NICE WAY:
> apt-get install ruby rubygems1.8
> gem install amqp-utils
> cd /var/lib/gems/1.8/gems/amqp-utils-0.5.1/bin # the path might be different on your system
> ./amqp-delexch <EXCHANGE_NAME>

Double-check by retrieving the Exchange list once again:
> rabbitmqctl list_exchanges

It should now be gone...



2. 让虚拟机可以访问外网(instance access internet)

在宿主机上,加上一条iptables规则:
# sudo iptables -t nat -A POSTROUTING -s 10.0.0.2 -j MASQUERADE

-s 指定虚拟机的ip


3. OSError: [Errno 2] No such file or directory: 'policy.json'

这是在运行./run_tests.sh的时候遇到的问题,找不到policy.json,整个测试过程,都是报这个错,后来使用sudo运行./run_tests.sh就不报这个错了,看来是在测试的过程中,有一些管理员操作。看来最好还是用root创建虚拟测试环境.venv,测试时使用sudo,这样比较少纠结!


4.  Cinder报错:ISCSITargetCreateFailed: Failed to create iscsi target for volume volume-xxx

我是使用的devstack安装的cinder,问题原因:https://bugs.launchpad.net/cinder/+bug/1057904

解决办法:把/etc/tgt/目录下的文件和目录全部删除,重新运行./stack.sh,或者按上面bug中说的解决办法。

5. AssertionError: There is no script for 136 version

这个错误是在版本切换之后,遇到的错误。解决方法是将nova/db/sqlalchemy/migrate_repo/versions目录下的.pyc文件全部删除。


6.  AttributeError: 'module' object has no attribute 'Mount'

这个错误是在由最新版本切换到F版遇到的错误,导致nova-api没有启动起来,解决办法是删除/opt/stack/nova/nova/virt/disk/目录下的mount和vfs文件夹。向这样的错误,一般是在版本切换,或者是在本次更新代码距离上次有很长时间而导致的,只要删除所有的pyc文件,重新编译,就可以解决问题了。


7. 使用virtualbox部署多节点环境,vm不能访问外网的问题

参考 http://wiki.stacklab.org/doku.php?id=stacklab:documentation:use-virtualbox-install-openstack 这篇文章在单机上部署多节点环境,如果按步骤操作完毕,但是建立的虚拟机仍然不能访问外网,再试一下如下步骤:

在/etc/sysctl.conf中添加一行: net.ipv4.ip_forward = 1 (也即将这一行的注释给去掉),然后运行sudo sysctl -p,就可以了。


8. TRACE nova libvirtError: Failed to connect socket to ‘/var/run/libvirt/libvirt-sock’: No such file or directory

这个问题是由于libvirt-bin没有正常启动造成的。需要看/var/log/libvirt/libvirtd.log排错


9. virNetTLSContextCheckCertFile:92 : Cannot read CA certificate '/etc/pki/CA/cacert.pem': No such file or directory

这个是由于libvirt使用了TLS机制,但是没有配置好相关的公钥和私钥,关于libvirt的TLS机制,见这里:http://wiki.libvirt.org/page/TLSDaemonConfiguration,一个简单的解决办法是将TLS机制关掉,更改/etc/libvirt/libvirtd.conf为:

listen_tls = 0
listen_tcp = 1


10. 提交commit时,如何获得Change-Id

要检查.git/hooks目录下是否有commit-msg文件,如果没有,那么就要从gerrit上下载:
scp -p -P 29418 [email protected]:hooks/commit-msg .git/hooks/

然后提交的时候,会自动添加Change-Id到git log中

标签:收集,遇到,Exchange,list,nova,libvirt,etc,rabbitmqctl,OpenStack
From: https://blog.51cto.com/u_5173797/7251112

相关文章

  • Openstack Nova Security Group——安全组之架构篇
    哈,又回来了!公司同事说不要只停留在逻辑层,你要对跑在你程序底下的数据流也要非常的清楚。但是这里还是先介绍一下逻辑层,在代码的角度看是如何实现这个功能的,关于底层的数据流,还需要哦酝酿一段时间,之后会再总结一篇底层数据流的文章,真难为我了!一、什么是安全组安全组,翻译成英文是sec......
  • 使用pdb调试openstack (How to debug openstack using pdb )
    终于摸索出了一个调试openstack的简单方法,使用pdb进行单步调试,对于分析代码很有帮助。注意,这个方法只适用于用devstack安装的openstack。调试主要是使用了一个脚本,这个脚本不记得是从哪下载的了,是用来重启使用devstack安装的openstack的各个服务的,后来,我又结合devstack的stack.sh和......
  • 遇到的Docker常用命令
    遇到的Docker常用命令一、安装Docker1)Docker要求CentOS系统的内核版本高于3.10,首先查看系统内核版本是否满足uname-r2)使用root权限登录系统,确保yum包更新到最新sudoyumupdate-y3)假如安装过旧版本,先卸载旧版本sudoyumremovedockerdocker-commondocker-sel......
  • 垃圾收集器ParNew&CMS与底层三色标记算法详解
    垃圾收集算法分代收集理论当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。比如在新生代中,每次收集都会有大量对象(近9......
  • Debian testing更新遇到依赖错误
    gnustep-base-runtime:Depends:gnustep-base-common(=1.29.0-6)but1.28.1+really1.28.0-5istobeinstalledBing答案Clearoutthelocalrepositoryofretrievedpackagefiles.sudoapt-getautocleanResolvedependenciesproblemssudoapt-get-finstalls......
  • c# Htpp遇到307重定向,二次请求时不会附带请求头部信息
    情况:Get请求需要添加Token获取数据;问题1:postman请求可以成功返回json数据,但是c#(HttpCilent、RestClient)程序请求时提示”token无效“;原因:postman和c#(HttpCilent、RestClient)遇到重定向时都会自动二次请求但是c#二次请求时不会附带第一次请求的头部信息,而postman会;解决方案:......
  • 【疑难杂症】升级Mac系统后python遇到[SSL: CERTIFICATE_VERIFY_FAILED]
    [本文出自天外归云的博客园]同事升级Mac电脑版本后,遇到了[SSL:CERTIFICATE_VERIFY_FAILED]报错:<urlopenerror[SSL:CERTIFICATE_VERIFY_FAILED]certificateverifyfailed:unabletogetlocalissuercertificate(_ssl.c:1131)>error:<urlopenerror[SSL:CERTIFICATE_......
  • 初探修模的三维模型OBJ格式轻量化压缩的遇到常见问题与处理方法
    初探修模的三维模型OBJ格式轻量化压缩的遇到常见问题与处理方法 在对经过修模的三维模型进行OBJ格式轻量化压缩处理的过程中,可能会遇到一些常见问题。以下是一些常见问题以及相应的处理方法:1、顶点丢失和形状变形:在减小顶点数量的过程中,可能会导致一些细节部分丢失或者模型整......
  • 解决访问 Amazon S3 对象时遇到的“访问被拒绝”错误
    作为AmazonS3的用户,在尝试访问S3存储桶中的对象时,您可能会遇到“访问被拒绝”错误。这些错误表示请求缺少执行所请求操作的有效凭证或权限策略。在本博文中,我将介绍各种故障排除步骤和配置检查,以解决访问S3对象时遇到的“访问被拒绝”错误。亚马逊云科技开发者社......
  • HCIP_OpenStack总结部分
    目录第一章架构介绍1.OpenStack简介1.1OpenStack简述1.2OpenStack工作原理概述1.3开源OpenStack版本介绍1.4设计理念1.5OpenStack与云计算2.OpenStack架构2.1OpenStack架构简介3.OpenStack核心服务4.OpenStack服务交互第二章界面管理1.Horizon简介1.1简介1......