事象内容

openstack volume service list コマンドで、Block Storage の volume サービスのコンポーネントを一覧表示しようとすると、下記エラーとなる。

[root@controller ~]# openstack volume service list
Unable to establish connection to http://controller:8776/v2/29c783eb422844dd99636aa747fd582e/os-services: HTTPConnectionPool(host='controller', port=8776): Max retries exceeded with url: /v2/29c783eb422844dd99636aa747fd582e/os-services (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f936303e390>: Failed to establish a new connection: [Errno 111] \xe6\x8e\xa5\xe7\xb6\x9a\xe3\x82\x92\xe6\x8b\x92\xe5\x90\xa6\xe3\x81\x95\xe3\x82\x8c\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f',))
[root@controller ~]# 

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

[root@controller ~]# tail -F /var/log/messages
Oct 14 16:46:21 controller kernel: FINAL_REJECT: IN=eth0 OUT= MAC=52:54:00:39:5f:c7:52:54:00:c4:3c:0d:08:00 SRC=192.168.24.113 DST=192.168.24.111 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=35356 DF PROTO=TCP SPT=50094 DPT=3306 WINDOW=29200 RES=0x00 SYN URGP=0 
Oct 14 16:46:31 controller kernel: FINAL_REJECT: IN=eth0 OUT= MAC=52:54:00:39:5f:c7:52:54:00:c4:3c:0d:08:00 SRC=192.168.24.113 DST=192.168.24.111 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=46596 DF PROTO=TCP SPT=50096 DPT=3306 WINDOW=29200 RES=0x00 SYN URGP=0 

解決方法

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

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

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

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

[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 8776/tcp 8472/udp 9191/tcp 11211/tcp 8774/tcp 8775/tcp
[root@controller ~]# 

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

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