使用element proliant-tools制作deploy image。element proliant-tools会在ipa ramdisk中安装一个rpm包hpssacli(HP的RAID管理工具),和一个python module proliantutils(里面ProliantHardwareManager继承了ironic_python_agent.hardware:GenericHardwareManager,实现了get_clean_steps/create_configuration/delete_configuration)。
[code class=\"lang-\\“Command\\“\" lang=\"\\“Command\\“\"]DIB_DEV_USER_USERNAME=devuser DIB_DEV_USER_PASSWORD=devuser DIB_DEV_USER_PWDLESS_SUDO=true disk-image-create centos7 ironic-agent devuser proliant-tools -o ironic-deploy配置RAID。
[code class=\"\"]ironic --ironic-api-version 1.15 node-set-target-raid-config $ironic_node_uuid \'{\\\"logical_disks\\\": [{\\\"size_gb\\\": \\\"MAX\\\", \\\"disk_type\\\": \\\"hdd\\\", \\\"raid_level\\\": \\\"1\\\", \\\"is_root_volume\\\": true, \\\"volume_name\\\": \\\"root_volume\\\"}, {\\\"size_gb\\\": \\\"MAX\\\", \\\"disk_type\\\": \\\"hdd\\\", \\\"number_of_physical_disks\\\": 4, \\\"raid_level\\\": \\\"5\\\", \\\"volume_name\\\": \\\"data_volume\\\"}]}\'做RAID。raid config schema。
[code class=\"lang-\\“Command\\“\" lang=\"\\“Command\\“\"]ironic --ironic-api-version 1.15 node-set-provision-state $ironic_node_uuid clean --clean-steps \'[{\\\"interface\\\": \\\"raid\\\", \\\"step\\\": \\\"delete_configuration\\\"}, {\\\"interface\\\": \\\"raid\\\", \\\"step\\\": \\\"create_configuration\\\"}]\' # 注意steps之间的先后顺序