天天看點

手動安裝配置openstack ironic

如果沒有通過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]/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