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>