事象内容

openstack server create コマンドで作成したインスタンスの状態を確認すると状態がエラーとなる

[root@controller ~]# openstack server list
+--------------------------------------+-------------------+--------+----------+--------+---------+
| ID                                   | Name              | Status | Networks | Image  | Flavor  |
+--------------------------------------+-------------------+--------+----------+--------+---------+
| 25537371-bd52-4bb4-b1d1-de763e4b44bb | provider-instance | ERROR  |          | cirros | m1.nano |
+--------------------------------------+-------------------+--------+----------+--------+---------+
[root@controller ~]# 

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

[root@controller ~]# tail -F /var/log/messages 
Oct 21 16:31:46 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=3183 DF PROTO=TCP SPT=52728 DPT=9696 WINDOW=29200 RES=0x00 SYN URGP=0 
Oct 21 16:31:47 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=16979 DF PROTO=TCP SPT=59162 DPT=9292 WINDOW=29200 RES=0x00 SYN URGP=0 

解決方法

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

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

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

firewalld で、TCP 9696、9292 ポート番号を許可します。

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

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

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

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