由于自由中的元数据问题,无法访问Openstack实例

时间:2016-02-12 12:30:42

标签: metadata openstack

在实例日志中获取此错误。我无法在新星或中子日志中找出任何错误。 检查所有配置,一切都很好。

url_helper.py [警告]:调用“http://169.254.169.254/2009-04-04/meta-data/instance-id”失败[50/120s]:请求错误[(,'连接到169.254.169.254超时。(连接超时= 50.0)')]

任何人都可以帮助解决实际错误以及解决方法吗?

3 个答案:

答案 0 :(得分:0)

可能的原因1: -

我猜你正在运行安装了GUI的实例。当您在实例(ubuntu / centos或其他)上安装GUI时,它们会引入一堆不同的服务。特别是,在ubuntu中,添加并启动了名为“avahi”的服务,该服务在实例上添加了169.254 / 16的路由。这开始导致问题,因为现在实例认为它可以直接达到169.254.169.254而不是将数据包发送到网关。

更多详细信息,为什么会发生这种情况以及如何阻止这种情况可以在这个博客上找到。

https://rahulait.wordpress.com/2016/04/02/metadata-failure-with-ubuntu-desktop-on-openstack/

可能的原因2: -

如果您拥有专用网络并且未连接到任何“路由器”,则该专用网络的网关接口将关闭。为了与元数据服务进行通信,需要将数据包发送到网络网关,在这种情况下无法访问,因此您会看到这些日志。

我希望它有所帮助。

答案 1 :(得分:0)

在我的情况下,由于ini文件中的某些损坏导致L3代理停机,因此引发此错误。检查中子是否有代理人:

openstack network agent list

解决问题(检查/ var / log / neutron上的日志并重启服务)

service neutron-l3-agent restart

答案 2 :(得分:0)

这发生在我的一个节点上,该节点仍然从以前的配置运行 nova-network。 对故障节点的影响是这样的(坏的):

# curl -v http://169.254.169.254/openstack
* Hostname was NOT found in DNS cache
*   Trying 169.254.169.254...
* connect to 169.254.169.254 port 80 failed: Connection refused
* Failed to connect to 169.254.169.254 port 80: Connection refused
* Closing connection 0
curl: (7) Failed to connect to 169.254.169.254 port 80: Connection refused

...而不是这个(好):

# curl -v http://169.254.169.254/openstack
* Hostname was NOT found in DNS cache
*   Trying 169.254.169.254...
* Immediate connect fail for 169.254.169.254: Network is unreachable
* Closing connection 0
curl: (7) Couldn't connect to server

如果是这种情况,请摆脱节点上的遗留服务并享受。