事象内容
コントローラーノードで以下コマンドを実行しサービスコンポーネントを一覧表示すると、nova-consoleauth のサービスコンポーネントが一覧に表示されない。
[root@controller ~]# openstack compute service list +----+----------------+------------+----------+---------+-------+----------------------------+ | ID | Binary | Host | Zone | Status | State | Updated At | +----+----------------+------------+----------+---------+-------+----------------------------+ | 1 | nova-scheduler | controller | internal | enabled | up | 2018-10-21T03:49:43.000000 | | 3 | nova-conductor | controller | internal | enabled | up | 2018-10-21T03:49:43.000000 | | 6 | nova-compute | compute1 | nova | enabled | up | 2018-10-21T03:49:40.000000 | +----+----------------+------------+----------+---------+-------+----------------------------+ [root@controller ~]#
解決方法
インスタンスへの VNC アクセスをホストするノードは、ファイアウォールを介した VNC トラフィックを許可するように設定する必要があります。表示されない場合は、コントローラーノードのファイアウォールで必要となる通信が許可されてない可能性がある。デフォルトでは、openstack-nova-novncproxy サービスは TCP ポート 6080 をリッスンし、openstack-nova-xvpncproxy サービスは TCP ポート 6081 をリッスンするため、これら通信をコントローラーノードのファイアウォールで許可する。
コントローラーノードのfirewalld で、現在許可されているポート番号を確認する。
[root@controller ~]# firewall-cmd --list-port --zone=public --permanent 5000/tcp 5672/tcp 8778/tcp [root@controller ~]#
firewalld で、TCP 6080 と 6081 ポート番号を許可する。
[root@controller ~]# firewall-cmd --add-port=6080/tcp --zone=public --permanent success [root@controller ~]# [root@controller ~]# firewall-cmd --add-port=6081/tcp --zone=public --permanent success [root@controller ~]#
firewalld で、TCP 6080 と 6081 ポート番号が許可されていることを確認する。
[root@controller ~]# firewall-cmd --list-port --zone=public --permanent 5000/tcp 5672/tcp 8778/tcp 6080/tcp 6081/tcp [root@controller ~]#
firewalld をリロードし、設定を反映する。
[root@controller ~]# firewall-cmd --reload success [root@controller ~]#