天天看点

Openstack Ironic Pike 部署过程中问题收集与解决

当前时间:2019年10月16日

对应的版本:Pike

使用的操作系统:Ubuntu 16.04.6 amd64

问题1:

先前使用过CentOS7来部署,但是遇到问题没解决,因此改成了Ubuntu,但是后来是遇到了同样的问题,因此和操作系统无关。

问题2:

在执行./stack.sh时,报错:

Die 'The deploy driver agent_ipmitool is not in the list of enabled hardware types ipmi,fake-hardware'
           

解决方法:

在local.conf中修改$IRONIC_DEPLOY_DRIVER为:impi,添加后为:

# Change this to alter the default driver for nodes created by devstack.
# This driver should be in the enabled list above.
IRONIC_DEPLOY_DRIVER=ipmi
           

然后执行./unstack.sh进行清理,再执行./stack.sh

分析:

当我使用CentOS的时候也一样遇到这个问题,当我在Ubuntu也同样遇到时,我晓得这跟系统无关。

原因:

A.在stack/devstack/local.conf中,定义了

IRONIC_DEPLOY_DRIVER=agent_ipmitool
           

B.在/devstack/lib/ironic(8 Aug 2019, 109146 Bytes)文件里面规定了一个参数如下:

160 IRONIC_ENABLED_HARDWARE_TYPES=${IRONIC_ENABLED_HARDWARE_TYPES:-"ipmi,fake-hardware"}
           

而在同样在后面做了IF判断

293 # If the requested driver is not yet enable, enable it, if it is not it will fail anyway
  294 if [[ -z "$(echo ${IRONIC_ENABLED_HARDWARE_TYPES} | grep -w ${IRONIC_DEPLOY_DRIVER})" ]]; then
  295     die "The deploy driver $IRONIC_DEPLOY_DRIVER is not in the list of enabled \
  296         hardware types $IRONIC_ENABLED_HARDWARE_TYPES"
  297 fi
           

也就是说,local.conf中定义的$IRONIC_DEPLOY_DRIVER参数并不在IRONIC_ENABLED_HARDWARE_TYPES里面,因此必然报错。

我尝试在local.conf中修改$IRONIC_DEPLOY_DRIVER为:impi,添加后为:

# Change this to alter the default driver for nodes created by devstack.
# This driver should be in the enabled list above.
IRONIC_DEPLOY_DRIVER=ipmi
           

然后执行./unstack.sh进行清理,再执行./stack.sh

没有报错。

用CentOS7 也一样解决~

*如果将agent_ipmitoo加入IRONIC_ENABLED_HARDWARE_TYPES,在程序方面确实可以执行,但是后面还会遇到提示:找不到agent_ipmitoo driver 的情况,所以干脆直接改为ipmi。主要安装成功,后面有接口可以修改这些参数。

继续阅读