手動安裝配置openstack ironic

NO IMAGE
如果沒有通過openstack部署工具安裝,也可以單獨安裝配置ironic。在centos 7上測試。參考文件
http://docs.openstack.org/project-install-guide/baremetal/draft/install-rdo.html

基本原理和方法
ironic的主要服務元件是ironic-api和ironic-conductor。客戶端是ironic client。
安裝方法,可以通過dnf或yum安裝,或直接使用rpm包安裝。
api和conductor以服務的形式存在,所以需要開啟這兩個服務。
服務若要正常執行,配置主要位於三個部分,openstack的MySQL資料庫;keystone;配置檔案ironic.conf。
MySQL需要做的配置:建ironic資料庫;建表;建立mysql ironic使用者。
keystone需要的配置:建立keystone ironic使用者;建立ironic服務;建立ironic服務端點。
配置檔案ironic.conf:MySQL和keystone的認證資訊;訊息佇列訪問;ironic服務的地址,埠;等等。


以下操作在控制節點10.10.102.6執行。

建立ironic資料庫。指定使用者ironic的密碼。

# mysql -u root 
MariaDB [(none)]> CREATE DATABASE ironic CHARACTER SET utf8;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ironic.* TO ‘ironic’@’localhost’ IDENTIFIED BY ‘dc4e6b43f2f2’;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ironic.* TO ‘ironic’@’%’ IDENTIFIED BY ‘dc4e6b43f2f2’;

安裝ironic軟體包
# yum install openstack-ironic-api openstack-ironic-conductor python-ironicclient

啟用ironic api和ironic conductor兩個服務。
# systemctl enable openstack-ironic-api openstack-ironic-conductor

建立keystone使用者ironic。指定密碼。
# source keystone_admin
# openstack user create –password 262616164038 –project services ironic

建立openstack ironic service。
# openstack service create –name ironic –description “Ironic Bare Metal Provisioning Service” baremetal

建立openstack ironic endpoint服務端點。
# keystone endpoint-create –service-id $(keystone service-list | awk ‘/ ironic / {print $2}’) –publicurl http://10.10.102.6:6385 –internalurl http://10.10.102.6:6385 –adminurl http://10.10.102.6:6385 –region RegionOne


配置/etc/ironic/ironic.conf。配置成standalone模式。內容如下供參考。
#
[DEFAULT]
auth_strategy=noauth
enabled_drivers=pxe_ipmitool
debug=false
verbose=true
log_dir=/var/log/ironic
rpc_backend=rabbit
control_exchange=openstack
#
[keystone_authtoken]
auth_uri=http://10.10.102.6:5000/v2.0
admin_tenant_name=services
admin_password=262616164038 
identity_uri=http://127.0.0.1:35357/
admin_user=ironic
#
[api]
host_ip=0.0.0.0
port=6385
max_limit=1000
#
[conductor]
force_power_state_during_sync=true
max_time_interval=120
#
[database]

connection=mysql pymysql://ironic:[email protected].102.6/ironic

#
[dhcp]
dhcp_provider=none
#
[oslo_messaging_rabbit]
amqp_durable_queues=false
rabbit_host=10.10.102.6
rabbit_port=5672
rabbit_hosts=$rabbit_host:$rabbit_port
rabbit_use_ssl=false
rabbit_userid=guest
rabbit_password=guest
rabbit_virtual_host=/
rabbit_ha_queues=false

初始化ironic資料庫。例如,建立table。
# ironic-dbsync –config-file /etc/ironic/ironic.conf create_schema

重啟ironic服務。
# systemctl restart openstack-ironic-api openstack-ironic-conductor 

檢視ironic服務的狀態。

# systemctl status openstack-ironic-api openstack-ironic-conductor