CloudStack启动时检测数据库版本与代码版本出现BUG


Unable to execute upgrade script  /xx/xx/schema-40to410.sql


问题背景: 在一个新装的操作系统上面安装CloudStack4.1.1,执行到cloudstack-setup-management之后,CloudStack开始启动服务中报错                               115026866.png根据以上日志显示,CloudStack程序发现其所在系统上面的CloudStack数据库实例的版本为4.0.0,而代码版本为4.1.1,所以必须进行数据库实例的升级,于是开始执行schema-40to410.sql 这个文件,打开该sql文件:/usr/share/cloudstack-management/setup/db/schema-40to410.sql,发现如下语句:

--;
-- Schema upgrade from 4.0.0 to 4.1.0;
--;
use cloud;
SET foreign_key_checks = 0;
alter table vm_template add size bigint unsigned;
alter table vm_template add state varchar(255);
alter table vm_template add update_count bigint unsigned;
alter table vm_template add updated  datetime;
alter table storage_pool add storage_provider_id bigint unsigned;
alter table storage_pool add scope varchar(255);
alter table storage_pool modify id bigint unsigned AUTO_INCREMENT UNIQUE NOT NULL;

第一句修改表架构的就是对vm_template表增加一个size字段,但是毋庸置疑,我们安装的就是cloudstack4.1.1,根本不存在升级的问题

121052193.png

经过查阅,这是一个BUG,对我而言,这个BUG我也是第一次遇到,据说CloudStack4.2已经完整修复。

现阶段解决方法:

[root@CloudManager ~]# cloudstack-setup-d^Cabases  cloud:1qaz2wsx@localhost --deploy-as=root:1qaz2wsx -e file -m 1qaz2wsx -k 1qaz2wsx
[root@CloudManager ~]# cloudstack-setup-management

以上两条命令执行两遍即可。

真乃神奇的BUG。



你可能感兴趣的:(CloudStack,启动时检测数据库版本,代码出现bug)