zoukankan      html  css  js  c++  java
  • openstack错误-创建实例失败-No valid host was found

    1 错误详情

    在创建实例时,实例状态显示“错误”

    故障代码为500,提示为No valid host was found

    2 原因分析

    需要更多的日志信息来定位具体的问题

    2.1 计算节点

    /var/log/nova/nova-compute.log日志:

    Failed to contact the endpoint at http://controller:8778 for discovery.

    8778是placement服务的端口。

    2.2 控制节点

     /var/log/placement/placement-api.log出现如下错误日志:

    AH01630: client denied by server configuration: /usr/bin/placement-api

    /var/log/nova/nova-conductor.log出现如下错误日志:

    Got 403: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>403 Forbidden</title>
    </head><body>
    <h1>Forbidden</h1>
    <p>You don't have permission to access /allocation_candidates
    on this server.</p>
    </body></html>

    /var/log/nova/nova-conductor.log出现如下错误日志:

    NoValidHost: No valid host was found.
    : NoValidHost_Remote: No valid host was found.

    2.3 问题定位

    根据多个服务的日志信息,可以看出问题出在placement服务,并且是目录权限问题。

    placement服务是基于http服务,使用了wsgi插件,于是检查placement的wsgi配置文件/etc/httpd/conf.d/00-placement-api.conf,经过和其他服务的配置文件比较,发现没有对目录进行授权。

    3 解决问题

    3.1 方法

    环境说明:centos 7.6,apache版本2.4

    编辑placement的配置文件:/etc/httpd/conf.d/00-placement-api.conf

    <VirtualHost *:8778>
      #在该节点增加以下部分,对目录授权
        <Directory /usr/bin>
            <IfVersion >= 2.4>
                Require all granted
            </IfVersion>
            <IfVersion < 2.4>
                Order allow,deny
                Allow from all
            </IfVersion>
        </Directory>
    </VirtualHost>

    重启httpd服务:

    # systemctl restart httpd

    3.2 解决后效果

    在控制节点中运行以下命令检查服务状态:

    # curl http://controller:8778/

    返回如下结果:

    {"versions": [{"status": "CURRENT", "min_version": "1.0", "max_version": "1.36", "id": "v1.0", "links": [{"href": "", "rel": "self"}]}]}
  • 相关阅读:
    java 基础学习 关键字、标识符、常量、进制、有符号表示法、变量、数据类型小节
    java 基础学习 异常的处理和自定义 学习总结
    正则表达式应用--实例应用
    ArrayList:去除集合中字符串的重复值 LinkedList:去除集合中自定义对象的重复值
    java IO流中文件,图像,视频,拷贝总结
    递归算法学习心得与体会
    如何打印身份证的正反面
    添加div间距
    Junit:NoSuchMethodError runLeaf runChild
    Ajax:async
  • 原文地址:https://www.cnblogs.com/learn2teach/p/12455149.html
Copyright © 2011-2022 走看看