繁体   English   中英

联系 http://controller:5000/v3 时未能发现可用的身份版本

[英]Failed to discover available identity versions when contacting http://controller:5000/v3

尝试为 openstack USSURI 版本设置 controller 节点时。 我被要求将 glance 服务设置为 VM 映像管理子服务。

根据要求: 文章(ubuntu 18.04下):

  1. 我创建了一个名为:admin-openrc.sh 的文件,位于:/usr/share/keystone 下,内容为:
    export OS_USERNAME=admin 
    
    export OS_PASSWORD=ADMIN_PASS 
    
    export OS_PROJECT_NAME=admin 
    
    export OS_USER_DOMAIN_NAME=Default 
    
    export OS_PROJECT_DOMAIN_NAME=Default 
    
    export OS_AUTH_URL=http://controller:5000/v3 
    
    export OS_IDENTITY_API_VERSION=3`

其中 ADMIN_PASS 是自定义的

  1. 输入 cmd: source./admin-openrc.sh

  2. 然后,使用 cmd 创建 glance 用户: openstack user create --domain default --password-prompt glance

作为 output,我收到错误消息:

Failed to discover available identity versions when contacting http://controller:5000/v3. Attempting to parse version from URL.
Unable to establish connection to http://controller:5000/v3/auth/tokens: HTTPConnectionPool(host='controller', port=5000): Max retries exceeded with url: /v3/auth/tokens (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fa20bba02b0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))

有人会建议吗? 我之前完成了所有步骤:NTP 安装、openstack 包下载、SQL 安装、RabbitMQ 安装、Memcached 安装、Etcd 安装、Keystone 安装(USSURI 版本)

似乎是身份验证问题或其他问题?


如果问题对您有帮助,请投票。 提前致谢

如果这是单个控制节点设置(例如,keystone 的单个实例),我建议将controller替换为管理 ip 地址。 投入生产时,您倾向于在这些服务器前安装负载均衡器,但您也可以使用可在所有节点上解析的 dns 记录(例如 controller.internal)。

# keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
  --bootstrap-admin-url http://<your-ip>:5000/v3/ \
  --bootstrap-internal-url http://<your-ip>:5000/v3/ \
  --bootstrap-public-url http://<your-ip>:5000/v3/ \
  --bootstrap-region-id RegionOne

使用controller并且前面没有 dns 或负载平衡解决方案(例如,通过将其添加到 /etc/hosts 文件)的缺点是您需要在所有节点上手动维护它,包括您添加到设置中的任何计算节点.

我在 etc/hosts 中添加了一个条目: 10.0.0.11 controller然后重新执行这 2 个 cmd:

sudo keystone-manage bootstrap --bootstrap-password XXXXXXXX --bootstrap-admin-url http://10.0.0.11:5000/v3/ --bootstrap-internal-url http://10.0.0.11:5000/v3/ --bootstrap-public-url http://10.0.0.11:5000/v3/ --bootstrap-region-id RegionOne

sudo openstack user create --domain default --os-username XXXXXXXX --password-prompt --os-auth-url http://10.0.0.11:5000/v3 glance

但收到,同样的错误:

Failed to discover available identity versions when contacting http://10.0.0.11:5000/v3. Attempting to parse version from URL.

Unable to establish connection to http://10.0.0.11:5000/v3/auth/tokens: HTTPConnectionPool(host='10.0.0.11', port=5000): Max retries exceeded with url: /v3/auth/tokens (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fe863dff290>: Failed to establish a new connection: [Errno 113] No route to host',))

等待你的帮助,

也试过这个:

$sudo ping controller

PING controller (10.0.0.11) 56(84) bytes of data.
From bassamvm01.internal.cloudapp.net (10.0.0.4) icmp_seq=1 Destination Host Unreachable
......
^C
--- controller ping statistics ---
6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5081ms
pipe 4

谢谢你的评论。 我成功授予对地址为10.0.0.11的 controller 的访问权限

我需要相应地更改 NIC 配置(使用 IP:10.0.0.11)

那就是我现在刚刚发生的事情,所以我试图重新启动 .network 服务,它现在对我有用。 PS:我在 centos 7 上使用 openstack packstack 命令:

> systemctl restart network

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM