概述

IMPITool驱动是通过ipmitool工具来管理部署节点的,目前主要有两个驱动:

  • agent_ipmitool
  • pxe_ipmitool

配置驱动

要修改ironic支持的驱动需要修改配置文件/etc/ironic/ironic.conf的ennabled_drivers字段。

如果没有配置,默认情况下,ironic使用的是pxe_ipmitool驱动。

[DEFAULT]
...
enabled_drivers = pxe_ipmitool,agent_ipmitool

修改完成之后需要重启conductor服务生效

 systemctl restart openstack-ironic-conductor.service

node节点注册驱动

一个完整的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的时候指定驱动的,具体步骤如下:

ironic node-create -d pxe_ipmitool -i ipmi_address=<address>
-i ipmi_username=<username> -i ipmi_password=<password>

-d指定使用的驱动, -i指定驱动的信息。

一般需要driver_info需要指定如下信息:

  1. ipmi_address
  2. ipmi_username
  3. ipmi_password
  4. ipmi_port # 远程IPMI RMCP端口,默认使用623端口

目前如果使用agent_ipmitool驱动要求配置Swift Temp URLs。这个问题已经有人在社区反应了,具体链接如下:

https://bugs.launchpad.net/openstack-ansible/+bug/1634299

使用agent_ipmitool配置如下:

[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>

ironic驱动-IMPITool的更多相关文章

  1. Liberty版本更新日志中文版本

    新功能 API · 为所有的endpoints默认使用v2.1的API,v2.0和v1.1使用了新的兼容模式,对已经使用API的用户过渡更平稳.(  https://blueprints.launch ...

  2. Ironic中pxe driver和agent driver的区别

    历史问题: 以pxe_ipmitool 和agent_ipmitool为例,看起来似乎前者不使用ironic-python-agent,后者使用,但是实际上两者都使用ironic-python-age ...

  3. 理解裸机部署过程ironic

    部署物理机跟部署虚拟机的概念在nova来看是一样,都是nova通过创建虚拟机的方式来触发,只是底层nova-scheduler和nova-compute的驱动不一样.虚拟机的底层驱动采用的libvir ...

  4. 安装与配置ironic

    安装及配置 由于Ironic的配置很长,下面我们简短的说一下安装和配置过程,具体的安装配置教程参考官方手动配置教程或者使用devstack安装. Ironic需要与Nova.Neutron.Glanc ...

  5. 剖析ironic

    关键技术 在安装操作系统时需要存储介质来存储系统镜像.需要控制物理机开关机,在网络部署环境中还需要预启动环境. PXE (预启动环境) IPMI(电源管理) iSCSI(存储) 什么是PXE PXE( ...

  6. ironic简介

    转:https://doodu.gitbooks.io/openstack-ironic 简介 Bare Metal Servcie 裸机服务 -- 'bear betal' ironic简介 如今O ...

  7. ironic baremetal rescue process

    1.用户调用Nova的rescue函数 nova/virt/ironic/driver.py class IronicDriver(virt_driver.ComputeDriver): ...... ...

  8. ironic images

    参考: http://blog.csdn.net/wanghuiict/article/details/52757359 ironic 整个部署流程中有两组映像,分别是 deploy 映像和 user ...

  9. ironic rescue standard rescue and unrescue process

    翻译官网救援/取消救援标准流程 1.用户在节点上调用Nova rescue 2.Nova ComputeManager调用virt驱动程序的rescue()方法,传入rescue_password作为 ...

随机推荐

  1. js基本类型和字符串的具体应用

    变量 JavaScript 是一种弱类型语言,javascript的变量类型由它的值来决定. 定义变量需要用关键字 'var' var a = 123; var b = 'asd'; //同时定义多个 ...

  2. Android Studio启动时出现unable to access android sdk add-on list

    目录 Android Studio First Run 检测 Android SDK 及更新,由于众所周知的原因,我们会「Unable to access Android SDK add-on lis ...

  3. 18/03/18 04:53:44 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources

    1:遇到这个问题是在启动bin/spark-shell以后,然后呢,执行spark实现wordcount的例子的时候出现错误了,如: scala> sc.textFile()).reduceBy ...

  4. snmp v3的安全配置 snmp认证与加密配置(53)

    http://www.ttlsa.com/zabbix/snmp-v3-configuration/

  5. table无法控制宽度

    table-layout:fixed

  6. BETA准备

    过去存在的问题 文档问题 未能事先做好设计文档,且小程序与后端数据库接口存在问题 界面问题 原型图设计花的时间较少,小程序设计界面仍相对粗糙,前端成员css元素应用经验不足 小程序界面之间对接存在问题 ...

  7. java抽象类详解

    前言 在没讲抽象类之前  我们先来看看 final关键字 final 修饰符 可以修饰 类.属性.方法 修饰类时  表示该类不能被继承   其他特征 跟普通的类一样 修饰 属性时 表示 改属性不能改变 ...

  8. 【AtCoder】ARC072

    ARC072 C - Sequence 直接认为一个数是正的,或者第一个数是负的,每次将不合法的负数前缀和改成+1正数前缀和改成-1 #include <bits/stdc++.h> #d ...

  9. Android开发——使用Jword生成本地word文档

    本文主要介绍如何使用Jword生成本地word文档,这里涉及到Jword的使用技巧,本文给出相应的代码,需要的朋友可以参考下. 为什么使用Jword呢?因为IText .Freemark在安卓平台上压 ...

  10. ELK 环境搭建3-Logstash

    一.Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件或者中间件. 二.搭建 1.因为要涉及到收 ...