事象内容
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 ~]#