事象内容
OpenStack ダッシュボードでインスタンスを起動しようとすると、下記エラーとなり起動できない。
エラー: インスタンス “3” に対して要求された操作を実行できませんでした。このインスタンスはエラー状態です。: 後からもう一度お試しください [エラー: インスタンス 49157283-7f98-4278-8e3d-557ecde7600d の作成は打ち切られました: cinder ホストへの接続に失敗しました: Unable to establish connection to http://controller:8776/v3/b9644b0689c4469baa45f9acb009d860/volumes: HTTPConn]
コントローラーノードの message ログでは、ポート番号 8776 のTCP 通信がファイアウォール( firewalld )で遮断されているメッセージが出力されている。
[root@controller ~]# tail -F /var/log/messages Oct 22 15:29:06 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=64113 DF PROTO=TCP SPT=40898 DPT=8776 WINDOW=29200 RES=0x00 SYN URGP=0 Oct 22 15:29:08 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=2787 DF PROTO=TCP SPT=40900 DPT=8776 WINDOW=29200 RES=0x00 SYN URGP=0
解決方法
firewalld で必要な通信が遮断されていることが原因であるため、コントローラーノードの firewalld で ポート番号 8776 の TCP 通信を許可する。
firewalld で、現在許可されているポート番号を確認する。
[root@controller ~]# firewall-cmd --list-port --zone=public --permanent 5000/tcp 5672/tcp 8778/tcp 6080/tcp 80/tcp 3306/tcp 9696/tcp 9292/tcp 8472/tcp 6081/tcp 6082/tcp 123/udp 67/udp [root@controller ~]#
firewalld で、TCP 8776 ポート番号を許可する。
[root@controller ~]# firewall-cmd --add-port=8776/tcp --zone=public --permanent success [root@controller ~]#
firewalld をリロードし、設定を反映する。
[root@controller ~]# firewall-cmd --reload success [root@controller ~]#