安装环境:
操作系统:CentOS Linux release 7.7.1908 (Core)
openstack版本:openstack 3.14.3 Queens版
中间件:apache+mariadb+rabbitmq+memcache
安装文档:https://docs.openstack.org/install-guide/
问题1.yum失败
现象:
# yum install openstack-glance -y
...
Downloading packages:
No Presto metadata available for centos-openstack-queens
python2-os-brick-2.3.8-1.el7.n FAILED
http://mirror.centos.org/centos/7/cloud/x86_64/openstack-queens/python2-os-brick-2.3.8-1.el7.noarch.rpm: [Errno 14] HTTP Error 302 - Found.0 B/s | 0 B --:--:-- ETA
正在尝试其它镜像。
Error downloading packages:
python2-os-brick-2.3.8-1.el7.noarch: [Errno 256] No more mirrors to try.
解决方法:wget相关软件包之后,使用Yum同时安装
# wget http://mirror.centos.org/centos/7/cloud/x86_64/openstack-queens/python2-os-brick-2.3.8-1.el7.noarch.rpm
# yum install openstack-glance python2-os-brick-2.3.8-1.el7.noarch.rpm -y
问题2.初始化数据库失败
现象:
# su -s /bin/sh -c "glance-manage db_sync" glance
/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1336: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade
expire_on_commit=expire_on_commit, _conf=conf)
查询glance日志,发现数据库权限报错
2019-10-18 11:10:29.240 14682 ERROR glance OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'glance'@'controller' (using password: YES)"
) (Background on this error at: http://sqlalche.me/e/e3q8)
解决方法:配置好数据库权限
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'controller' IDENTIFIED BY '123456';
MariaDB [(none)]> flush privileges;
# su -s /bin/sh -c "glance-manage db_sync" glance
/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1336: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade
expire_on_commit=expire_on_commit, _conf=conf)
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> liberty, liberty initial
...
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
Database is synced successfully.
问题3.上传测试镜像失败
现象:
# openstack image create "cirros" \
> --file cirros-0.3.4-x86_64-disk.img \
> --disk-format qcow2 --container-format bare \
> --public
[Errno 2] 没有那个文件或目录: u'cirros-0.3.4-x86_64-disk.img'
解决方法:
1.将镜像移动到配置文件/etc/glance/glance-api.conf设置好的目录中,查询镜像存储文件夹为/var/lib/glance/images/
[glance_store]
# ...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
2.执行镜像上传命令
# openstack image create "cirros" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --public
+------------------+------------------------------------------------------+
| Field | Value |
+------------------+------------------------------------------------------+
| checksum | 443b7623e27ecf03dc9e01ee93f67afe |
| container_format | bare |
| created_at | 2019-10-18T03:44:25Z |
| disk_format | qcow2 |
| file | /v2/images/b63b9b09-26a5-47ec-a78f-480347ba725c/file |
| id | b63b9b09-26a5-47ec-a78f-480347ba725c |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros |
| owner | 683e0952cf8d43638662ef48815a7c42 |
| protected | False |
| schema | /v2/schemas/image |
| size | 12716032 |
| status | active |
| tags | |
| updated_at | 2019-10-18T03:44:25Z |
| virtual_size | None |
| visibility | public |
+------------------+------------------------------------------------------+