事象内容

コンピュートノードで 以下 コマンドを実行しても、Compute サービスが起動しない。

systemctl start libvirtd.service openstack-nova-compute.service

コントローラーノードの message ログでは、ポート番号 5672 のTCP 通信がファイアウォール( firewalld )で遮断されているメッセージが出力されている。

[root@controller ~]# tail -F /var/log/messages 
Oct 21 12:42:15 controller kernel: FINAL_REJECT: IN=eth0 OUT= MAC=52:54:00:2c:50:0f:52:54:00:4c:1f:05:08:00 SRC=192.168.24.114 DST=192.168.24.111 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=5117 DF PROTO=TCP SPT=52562 DPT=5672 WINDOW=29200 RES=0x00 SYN URGP=0 
Oct 21 12:42:27 controller kernel: FINAL_REJECT: IN=eth0 OUT= MAC=52:54:00:2c:50:0f:52:54:00:4c:1f:05:08:00 SRC=192.168.24.114 DST=192.168.24.111 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=1311 DF PROTO=TCP SPT=52564 DPT=5672 WINDOW=29200 RES=0x00 SYN URGP=0 

解決方法

firewalld で必要な通信が遮断されていることが原因であるため、コントローラーノードの firewalld で ポート番号 5672 の TCP 通信を許可する。

firewalld で、現在許可されているポート番号を確認する。

[root@controller ~]# firewall-cmd --list-port --zone=public --permanent
5000/tcp
[root@controller ~]# 

firewalld で、TCP 5672 ポート番号を許可する。

[root@controller ~]# firewall-cmd --add-port=5672/tcp --zone=public --permanent
success
[root@controller ~]# 

firewalld で、TCP 5672 ポート番号が許可されていることを確認する。

[root@controller ~]# firewall-cmd --list-port --zone=public --permanent
5000/tcp 5672/tcp
[root@controller ~]# 

firewalld をリロードし、設定を反映する。

[root@controller ~]# firewall-cmd --reload
success
[root@controller ~]#