glance服务报错HTTPInternalServerError (HTTP 500)

问题报错:

glance在上传镜像文件时产生:HTTPInternalServerError (HTTP 500)的错误。
进行上传镜像文件时产生此错误

分析原因&&问题解决:

glance服务在进行上传镜像文件前,需要控制数据库,并同步数据库。同时为了进行镜像服务,需要编辑配置文件。

一. 配置数据库

  1. 创建数据库
mysql -u root -popenstack
create database glance;
  1. 创建glance用户
grant all privileges on glance.* to 'glance'@'localhost' identified by 'openstack';
grant all privileges on glance.* to 'glance'@'%' identified by 'openstack';

二、配置镜像服务

  1. 编辑/etc/glance/glance-registry.conf 配置文件,在[DEFAULT]下加入以下内容:
rabbit_host=localhost 
rabbit_port=5672
rabbit_use_ssl=false
rabbit_userid=guest
rabbit_password=guest
rabbit_virtual_host=/
rabbit_notification_exchange=glance
rabbit_notification_topic=notifications
rabbit_durable_queues=false`
  1. 重新启动glance-registry 和 glance-api 服务
sudo restart glance-registry
sudo restart glance-api
  1. 同步数据库,并不允许glance 服务控制数据库版本
sudo glance-manage db_sync
sudo glance-manage db_version_control 0
  1. 如果在执行过程中,出现以下错误,则编辑 /etc/mysql/my.cnf 配置文件,往 [mysqld] 字段添加如下内容

glance ValueError: Tables “migrate_version” have non utf8 collation,
please make sure all tables are CHARSET=utf8

collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

然后登录glance database用下面的语句来改变表的charset属性

alter table migrate_version convert to character set 'utf8';
  1. 注意注意!!
    如有上述错误产生,需要在进行第四步之后重新进行第三步。这样在同步数据库之后,即可解决在上传镜像文件时产生的(HTTP500)问题。

猜你喜欢

转载自blog.csdn.net/weixin_43824348/article/details/109206924
今日推荐