使用standalone的ironic

记录一下ironic的enroll和deploy过程#

同样是由于官方文档上的操作我总是不成功,反而是修改后成功了

关闭防火墙##

systemctl stop firewalld.service iptables -F

export IRONIC_URL="http://192.168.0.1:6385/"

vim roles/ironic-enroll-dynamic/defaults/main.yml
修改
ironic_url: "http://192.168.0.1:6385/" network_interface: "enp1s0f0"
创建baremetal.json文件放到home目录下,即是自己要控制的那个物理机节点的信息
{ "node1": { "ipa_kernel_url": "http://192.168.0.1:8080/ipa.vmlinuz", "ipa_ramdisk_url": "http://192.168.0.1:8080/ipa.initramfs", "driver_info": { "power": { "ipmi_username": "root", //bmc用户名 "ipmi_address": "1.1.1.1", //bmcip "ipmi_password": "mypassword" //bmc密码 } }, "nics": [ { "mac": "00:00:00:00:00:00" //网口mac }, { "mac": "00:00:00:00:00:00" //网口mac } ], "instance_info": { "image_source": "http://192.168.0.1:8080/deployment_image.qcow2", "image_checksum": "[md5checksum]" }, "driver": "agent_ipmitool", "ipv4_address": "192.168.0.200", "properties": { "cpu_arch": "x86_64", "ram": "196608", "disk_size": "256", "cpus": "32" }, "name": "node1" } }
配置环境变量
export BIFROST_INVENTORY_SOURCE=/home/baremetal.json
执行enroll
ansible-playbook -vvvv -i inventory/bifrost_inventory.py enroll-dynamic.yaml

修改执行的配置
vim roles/bifrost-deploy-nodes-dynamic/defaults/main.yml
ironic_url: "http://192.168.0.1:6385/" network_interface: "enp1s0f0"

vim roles/bifrost-configdrives-dynamic/defaults/main.yml
node_default_network_interface: enp1s0f0 ipv4_subnet_mask: 255.255.255.0 ipv4_gateway: 192.168.0.1 ipv4_nameserver: 8.8.8.8 network_mtu: 1500 ironic_url: "http://192.168.0.1:6385/"

vim roles/ironic-delete-dynamic/defaults/main.yml
ironic_url: "http://192.168.0.1:6385/"

vim playbooks/roles/bifrost-ironic-install/templates/dnsmasq.conf.j2
interface=enp1s0f0 dhcp-range=192.168.0.100,192.168.0.250,12h

vim roles/bifrost-deploy-nodes-dynamic/defaults/main.yml
inventory_dhcp: true

mkdir /etc/dnsmasq.d/bifrost.dhcp-hosts.d

执行
ironic node-list ironic node-update xxxxxxxxxxxxxxx add driver_info/ipmi_terminal_port=623 ansible-playbook -vvvv -i inventory/bifrost_inventory.py deploy-dynamic.yaml

其他##

如果需要改dhcp
vim /etc/dnsmasq.conf
修改对应的ip和dhcp的范围,kill掉dnsmasq后,直接用命令dnsmasq运行,即可正常使用。

nginx 403错误
vim /etc/nginx/nginx.conf
//user nginx;
user ironic;
//同时保障目录和文件/httproot是属于ironic用户的。
然后用nginx -s stop停止,再用nginx -c /etc/nginx/nginx.conf启动起来(直接用nginx -s reload貌似无效,原因未知)

IPMI命令##

ipmitool -I lanplus -H 1.1.1.1 -U root -P mypassword -v sol activate ipmitool -I lanplus -H 1.1.1.1 -U root -P mypassword chassis bootdev pxe sleep 3 ipmitool -I lanplus -H 1.1.1.1 -U root -P mypassword power off sleep 5 ipmitool -I lanplus -H 1.1.1.1 -U root -P mypassword power on sleep 10

curl -g -i -X GET http://192.168.1.1:6385/v1/nodes -H "User-Agent: python-ironicclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-OpenStack-Ironic-API-Version: 1.9"

你可能感兴趣的:(使用standalone的ironic)