Log messages are no longer being translated. This removes all use of the _LE, _LI, and _LW translation markers to simplify logging and to avoid confusion with new contributions. See: http://lists.openstack.org/pipermail/openstack-i18n/2016-November/002574.html http://lists.openstack.org/pipermail/openstack-dev/2017-March/113365.html Change-Id: I763eb2a223395374dd113f0bc2b13130f654f650
Fuel Agent driver for Ironic
ironic-fa-deploy package adds support of Fuel Agent to
OpenStack Ironic. Ironic1 is baremetal provisioning service
with support of multiple hardware types. Ironic architecture is able to
work with deploy agents. Deploy agent is a service that does
provisioning tasks on the node side. Deploy agent should be integrated
into bootstrap ramdisk image. ironic-fa-deploy contains
pluggable drivers code for Ironic that uses Fuel Agent as deploy agent.
Current implementation requires and tested with Ironic Liberty release.
There are two drivers: fuel_ipmitool and
fuel_ssh. fuel_ipmitool uses "ipmitool"
utility for node power control and management via standard Ironic
interfaces and Fuel Agent via Ironic deploy driver's interface.
fuel_ssh intended for virtual developers' environments.
Node enrollment process with Fuel Agent
fuel_ipmitool driver used in example.
- Enable the driver, add
fuel_ipmitoolto the list ofenabled_driversin[DEFAULT]section of/etc/ironic/ironic.conf. - Generate RSA key pair for SSH access to bootstrap system on the node.
- Create bootstrap files with Fuel Agent via
fuel-bootstrap-image-builderscript fromfuel-main2 project, public key should be injected into bootstrap system. We should obtain three files as result: kernel, initrd image and root FS image. - Upload kernel, initrd image and root FS image to the Glance image service.
Note
Fuel Agent driver requires OpenStack Swift or Ceph RADOS Gateway as Glance backend.
Create a node in Ironic with
fuel_ipmitooldriver and associate port with the node:ironic node-create -d fuel_ipmitool ironic port-create -n <node uuid> -a <MAC address>Set IPMI address and credentials as described in the Ironic documentation 3.
Set Fuel Agent related driver's parameters for the node:
ironic node-update <node uuid> add driver_info/deploy_kernel=KERNEL \ driver_info/deploy_ramdisk=INITRD \ driver_info/deploy_squashfs=ROOTFS \ driver_info/fuel_key_filename=PRIVATE_KEY
Replace KERNEL, INITRD, ROOTFS with Glance UUIDs of deploy images, PRIVATE_KEY with path to private key file.
Place disks scheme in Nailgun format to the metadata of Glance instance image with
fuel_disk_infokey, example:glance image-update <image uuid> --property fuel_disk_info='[{"name": "sda", "extra": [], "free_space": 11000, "type": "disk", "id": "vda", "size": 11000, "volumes": [{"mount": "/", "type": "partition", "file_system": "ext4", "size": 10000}]}]'
After steps above the node is ready for deploying. User can invoke
nova boot command for deploying an instance image.
TODO:
- Add custom boot interface and refactor the drivers code with boot interface4.
- Add cleaning support.
- Add RAID support via Ironic RAID interface.