IMPITool驱动是经过ipmitool工具来管理部署节点的,目前主要有两个驱动:node
要修改ironic支持的驱动须要修改配置文件
/etc/ironic/ironic.conf
的ennabled_drivers字段。
若是没有配置,默认状况下,ironic使用的是pxe_ipmitool驱动。swift
[DEFAULT] ... enabled_drivers = pxe_ipmitool,agent_ipmitool
修改完成以后须要重启conductor服务生效ide
systemctl restart openstack-ironic-conductor.service
一个完整的ironic node信息以下表所示。从表中driver字段能够看出使用的是pxe_ipmitool驱动。
从driver_info字段能够看出impi的地址,用户名,密码等信息(这里密码使用*号代替了,具体能够配置)。工具
[root@ctrl templates(keystone_admin)]# ironic node-show 94c2fce1-acc4-4e28-b9f9-0761ebd8be31 +------------------------+-------------------------------------------------------------------------+ | Property | Value | +------------------------+-------------------------------------------------------------------------+ | chassis_uuid | | | clean_step | {} | | console_enabled | False | | created_at | 2016-11-30T09:00:26+00:00 | | driver | pxe_ipmitool | | driver_info | {u'ipmi_address': u'192.168.1.2', u'ipmi_username': u'user', | | | u'ipmi_password': u'******'} | | driver_internal_info | {u'agent_erase_devices_iterations': 1} | | extra | {} | | inspection_finished_at | None | | inspection_started_at | None | | instance_info | {u'deploy_key': u'BK26BQPYH3PC024H321294L200TXGIUJ'} | | instance_uuid | None | | last_error | None | | maintenance | True | | maintenance_reason | Failed to prepare node 94c2fce1-acc4-4e28-b9f9-0761ebd8be31 for | | | cleaning: Cannot validate PXE bootloader. Some parameters were missing | | | in node's driver_info. Missing are: ['deploy_ramdisk', 'deploy_kernel'] | | name | None | | power_state | power off | | properties | {u'memory_mb': u'562144', u'cpu_arch': u'x86_64', u'local_gb': u'1114', | | | u'cpus': u'40'} | | provision_state | clean failed | | provision_updated_at | 2016-12-01T03:37:20+00:00 | | raid_config | | | reservation | None | | target_power_state | None | | target_provision_state | available | | target_raid_config | | | updated_at | 2016-12-01T03:37:20+00:00 | | uuid | 94c2fce1-acc4-4e28-b9f9-0761ebd8be31 | +------------------------+-------------------------------------------------------------------------+
ironic是在建立node的时候指定驱动的,具体步骤以下:ui
ironic node-create -d pxe_ipmitool -i ipmi_address=<address> -i ipmi_username=<username> -i ipmi_password=<password>
-d指定使用的驱动, -i指定驱动的信息。
通常须要driver_info须要指定以下信息:this
目前若是使用agent_ipmitool驱动要求配置Swift Temp URLs。这个问题已经有人在社区反应了,具体连接以下:
https://bugs.launchpad.net/openstack-ansible/+bug/1634299
使用agent_ipmitool配置以下:url
[DEFAULT] enabled_drivers=agent_pyghmi,agent_ipmitool # we're using the agent debug=true # we believe in logging all the things rpc_thread_pool_size=4 # we've found this to work best with high load conductors rpc_conn_pool_size=20 # we've found this to work best with high load conductors [conductor] force_power_state_during_sync=false # we don't want any surprises :) [glance] # these settings are required for using swift temp URLs swift_temp_url_key=<lol> swift_scheme=https swift_endpoint_url=<swift-host> swift_path=/v1/<rackspace_tenant> swift_backend_container=<rackspace_container> [agent] dhcp_provider=external heartbeat_timeout=30 # relied on for deploys, shorter timeout means shorter deploys. We'll be fixing this in code soon. provisioning_network_uuid=<network_id>