当前时间: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。主要安装成功,后面有接口可以修改这些参数。