Description of problem: nova_vnc_proxy container is in unhealthy state on IPv6 environments: [root@controller-0 ~]# docker ps | grep unhealthy 20eab4075181 192.168.24.1:8787/rhosp14/openstack-nova-novncproxy:2018-12-05.2 "kolla_start" 10 minutes ago Up 10 minutes (unhealthy) nova_vnc_proxy [root@controller-0 ~]# docker exec -it nova_vnc_proxy bash ()[nova@controller-0 /]$ bash -x /openstack/healthcheck + . /usr/share/openstack-tripleo-common/healthcheck/common.sh ++ : 10 ++ : curl-healthcheck ++ : '\n%{http_code}' '%{remote_ip}:%{remote_port}' '%{time_total}' 'seconds\n' ++ get_config_val /etc/nova/nova.conf vnc novncproxy_host 127.0.0.1 ++ crudini --get /etc/nova/nova.conf vnc novncproxy_host + bind_host=fd00:fd00:fd00:2000::14 ++ get_config_val /etc/nova/nova.conf vnc novncproxy_port 6080 ++ crudini --get /etc/nova/nova.conf vnc novncproxy_port + bind_port=6080 ++ get_config_val /etc/nova/nova.conf DEFAULT ssl_only false ++ crudini --get /etc/nova/nova.conf DEFAULT ssl_only + proto_is_ssl=False + bind_proto=http + '[' false = true ']' + healthcheck_curl http://fd00:fd00:fd00:2000::14:6080/ + curl -g -k -q --fail --max-time 10 --user-agent curl-healthcheck --write-out '\n%{http_code} %{remote_ip}:%{remote_port} %{time_total} seconds\n' http://fd00:fd00:fd00:2000::14:6080/ 000 :0 0.000 seconds curl: (3) IPv6 numerical address used in URL without brackets + return 1 Version-Release number of selected component (if applicable): 2018-12-05.2 puddle How reproducible: 100% Steps to Reproduce: 1. Deploy overcloud with IPv6 isolate networks 2. Check nova_vnc_proxy health status Actual results: unhealthy Expected results: healthy Additional info:
brackets missing for IPv6 in [1] # Add brackets if IPv6 if [[ $bind_host =~ ":" ]]; then bind_host="[${bind_host}]" fi [1] https://github.com/openstack/tripleo-common/blob/master/healthcheck/nova-vnc-proxy
(In reply to Marius Cornea from comment #0) > Description of problem: > nova_vnc_proxy container is in unhealthy state on IPv6 environments: > > [root@controller-0 ~]# docker ps | grep unhealthy > 20eab4075181 > 192.168.24.1:8787/rhosp14/openstack-nova-novncproxy:2018-12-05.2 > "kolla_start" 10 minutes ago Up 10 minutes (unhealthy) > nova_vnc_proxy > [root@controller-0 ~]# docker exec -it nova_vnc_proxy bash > ()[nova@controller-0 /]$ bash -x /openstack/healthcheck > + . /usr/share/openstack-tripleo-common/healthcheck/common.sh > ++ : 10 > ++ : curl-healthcheck > ++ : '\n%{http_code}' '%{remote_ip}:%{remote_port}' '%{time_total}' > 'seconds\n' > ++ get_config_val /etc/nova/nova.conf vnc novncproxy_host 127.0.0.1 > ++ crudini --get /etc/nova/nova.conf vnc novncproxy_host > + bind_host=fd00:fd00:fd00:2000::14 > ++ get_config_val /etc/nova/nova.conf vnc novncproxy_port 6080 > ++ crudini --get /etc/nova/nova.conf vnc novncproxy_port > + bind_port=6080 > ++ get_config_val /etc/nova/nova.conf DEFAULT ssl_only false > ++ crudini --get /etc/nova/nova.conf DEFAULT ssl_only > + proto_is_ssl=False > + bind_proto=http > + '[' false = true ']' > + healthcheck_curl http://fd00:fd00:fd00:2000::14:6080/ > + curl -g -k -q --fail --max-time 10 --user-agent curl-healthcheck > --write-out '\n%{http_code} %{remote_ip}:%{remote_port} %{time_total} > seconds\n' http://fd00:fd00:fd00:2000::14:6080/ As Martin noted in his comment, the above IP v6 address in the `curl` command should be put in brackets (some subtle `curl` bug). (Also it's good that the `curl` command is using '-g', which turns off the "URL globbing parser", and is required if you're using {}[] characters.) [...]
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2019:0448