报错
警告:使用令牌和端点绕过身份验证(身份验证凭据被忽略)。'NoneType’对象没有’has_service_catalog’属性
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
‘NoneType’ object has no attribute ‘has_service_catalog’
原因:
没有删除定义的 OS……变量
解决:
unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT
[root@compute ~]# keystone --os-tenant-name admin --os-username admin --os-password ADMIN_PASS --os-auth-url http://controller.nice.com:35357/v2.0 token-get
keystone 报错
keystone endpoint-create
–service-id $(keystone service-list | awk ‘/ compute / {print $2}’)
–publicurl http://controller.nice.com:8774/v2/%(tenant_id)s
–internalurl http://controller.nice.com:8774/v2/%(tenant_id)s
–adminurl http://controller.nice.com:8774/v2/%(tenant_id)s
–region regionOne
usage: keystone [–version] [–debug] [–os-username ]
[–os-password ]
[–os-tenant-name ]
[–os-tenant-id ] [–os-auth-url ]
[–os-region-name ]
[–os-identity-api-version ]
[–os-token ]
[–os-endpoint ] [–os-cache]
[–force-new-token] [–stale-duration ] [–insecure]
[–os-cacert ] [–os-cert ]
[–os-key ] [–timeout ]
…
keystone: error: unrecognized arguments: 3c1fa52fff6f4117be55e6a46043c848 7480e800a73e43dfb4fa2388ab611056 76d0f7f79613400eb8422b5b61828887 833d71c67dc64b749d73fae89c58adbd 954da1f2c6934766b809cb975e1b3801 9d08303b6436498c9f10091134c96878 fb57ab0ea34141409a5dee05f9531ba4
[root@controller ~]# keystone service-list | awk ‘/ identity / {print $2}’
b2398f0f1d2341b4b251a65a3e9bf6c2
有此类报错说明你的名称为 nova service-id 创建太多,截取不到正确的 service-id
解决办法
显示服务列表
keystone service-list
[root@controller ~]# keystone service-list
+----------------------------------+----------+----------+------------------------+
| id | name | type | description |
+----------------------------------+----------+----------+------------------------+
| 564f2833fe9b42648e9f3a346cb84c27 | nova | compute | OpenStackImage Service |
+----------------------------------+----------+----------+------------------------+
删除服务 找到 名称为 nova 类型为 compute 的 id 全部删除
keystone service-delete
示例
keystone service-delete 564f2833fe9b42648e9f3a346cb84c27
然后在重新创建 API 端点
[root@controller ~]# keystone service-create --name nova --type compute --description "OpenStackCompute"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | OpenStackCompute |
| enabled | True |
| id | c0a4b62bf43f49759a1eb2f1ecc42de6 |
| name | nova |
| type | compute |
+-------------+----------------------------------+
[root@controller ~]# keystone endpoint-create \
> --service-id $(keystone service-list | awk '/ compute / {print $2}') \
> --publicurl http://controller.nice.com:8774/v2/%\(tenant_id\)s \
> --internalurl http://controller.nice.com:8774/v2/%\(tenant_id\)s \
> --adminurl http://controller.nice.com:8774/v2/%\(tenant_id\)s \
> --region regionOne
+-------------+--------------------------------------------------+
| Property | Value |
+-------------+--------------------------------------------------+
| adminurl | http://controller.nice.com:8774/v2/%(tenant_id)s |
| id | 5d3debddc3b2461ba749eb6e2191f0a5 |
| internalurl | http://controller.nice.com:8774/v2/%(tenant_id)s |
| publicurl | http://controller.nice.com:8774/v2/%(tenant_id)s |
| region | regionOne |
| service_id | c0a4b62bf43f49759a1eb2f1ecc42de6 |
+-------------+--------------------------------------------------+
glance 上传镜像报错:public endpoint for image service not found
原因:
出现这种原因是因为我在之前的注册glance端点信息的时候,出现错误。截取 sevice_id 时截错了
[root@controller ~]# keystone endpoint-create --service-id=$(keystone service-list | awk ‘/ identity / {print $2}’) --publicurl=http://controller:9292 --internalurl=http://controller:9292 --adminurl=http://controller:9292
正确如下:
解决:
[root@controller ~]# keystone endpoint-create --service-id=$(keystone service-list | awk ‘/ image / {print $2}’) --publicurl=http://controller:9292 --internalurl=http://controller:9292 --adminurl=http://controller:9292
openstack-nova-api.service 启动失败
systemctl start openstack-nova-api.service
#如果这个服务启动失败
查看 /var/log/nova/nova-api.log 日志 有此类报错
Error: [Errno 13] Permission denied: ‘/etc/nova/api-paste.ini’
权限问题
解决:
chown :nova api-paste.ini nova.conf policy.json rootwrap.conf
#以防万一把这几个文件权限组改为 nova,一般默认就是 nova
openstack-compute.service 启动失败
查看 compute 服务器的日志 /var/log/nova/nova-compute.log
2021-04-01 22:46:18.587 24274 ERROR oslo.messaging._drivers.impl_rabbit [req-8d965df6-e84a-45b7-bb41-7c10f5dc4a20 ] AMQP server controller.nice.com:5672 closed the connection. Check login credentials: Socket closed
再查看 controller 服务器的日志 /var/log/rabbitmq/rabbit@controller.log
=ERROR REPORT==== 1-Apr-2021::22:47:35 ===
closing AMQP connection <0.274.0> (192.168.222.10:53522 -> 192.168.222.5:5672):
{handshake_error,starting,0,
{amqp_error,access_refused,
“AMQPLAIN login refused: user ‘guest’ - invalid credentials”,
‘connection.start_ok’}}
如果报错是此类,是因为 rabbit 密码不对
在 controller 服务执行以下命令
root@controller ~]# rabbitmqctl list_users | grep guest
guest [administrator]
[root@controller ~]# rabbitmqctl change_password guest RABBIT_PASS
重启 rabbit 服务
[root@controller ~]# systemctl restart rabbitmq-server
在 compute 服务器启动 openstack-compute.service 如果启动还是不成功
[root@compute ~]# systemctl start openstack-nova-compute.service
在查看 controller 服务器有 rabbit 日志
=INFO REPORT==== 1-Apr-2021::22:59:13 ===
accepting AMQP connection <0.1268.0> (192.168.222.10:38441 -> 192.168.222.5:5672)
如果有说明没有问题了,是因为服务器内存、资源的问题,只需要重启 compute 服务器,在启动 openstack-compute.service 服务即可
[root@compute ~]# systemctl start openstack-nova-compute.service