glance在上传镜像文件时产生:HTTPInternalServerError (HTTP 500)的错误。
glance服务在进行上传镜像文件前,需要控制数据库,并同步数据库。同时为了进行镜像服务,需要编辑配置文件。
一. 配置数据库
创建数据库 mysql -u root -popenstack create database glance; 创建glance用户 grant all privileges on glance.* to 'glance'@'localhost' identified by 'openstack'; grant all privileges on glance.* to 'glance'@'%' identified by 'openstack';二、配置镜像服务
编辑/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` 重新启动glance-registry 和 glance-api 服务 sudo restart glance-registry sudo restart glance-api 同步数据库,并不允许glance 服务控制数据库版本 sudo glance-manage db_sync sudo glance-manage db_version_control 0 如果在执行过程中,出现以下错误,则编辑 /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'; 注意注意!! 如有上述错误产生,需要在进行第四步之后重新进行第三步。这样在同步数据库之后,即可解决在上传镜像文件时产生的(HTTP500)问题。