Description of problem: The current processing of the nova.conf file results in invalid URLs when IPv6 IPs are used. For IPv6 URLs that contain port numbers, it is required that the IP addresses be inside of square brackets to properly differentiate IP addresses from port numbers. This is required because IPv6 addresses can be shortened if there are repeated zeroes, so it can be impossible to differentiate an IP address from an IP/Port combination. Version-Release number of selected component (if applicable): 8.0 beta How reproducible: 100% Steps to Reproduce: 1. Deploy with IPv6 TripleO Heat templates 2. 3. Actual results: /etc/nova.conf novnc URL is in improper format when using IPv6: novncproxy_base_url=http://fd00:fd00:fd00:2000:f816:3eff:feae:4747:6080/vnc_auto.html Expected results: The IP in the URL should appear in brackets: novncproxy_base_url=http://[fd00:fd00:fd00:2000:f816:3eff:feae:4747]:6080/vnc_auto.html Additional info: vncproxy.pp will need to be modified. Today it uses the same hiera value for the values that require a raw IP as the ones that require a bracketed IP. Proposed fix #1: Today everything is based on the hieradata value of nova::vncproxy::host. We could modify the TripleO Heat templates to provide a new value in the hieradata, which is the host IP with brackets in the case of IPv6, or without brackets in the case of IPv4. This value might be called nova::vncproxy::host_uri. This new value should be optional, and should override the value of the host if it exists, but only in the places where the URLs are written. Proposed fix #2: The puppet modules themselves can determine if the host IP is an IPv6 address, and write the URLs with brackets in the configuration file if so.
This above patches solves the problem in the puppet module.
Merged upstream
openstack-puppet-modules-7.0.17-1.el7ost.noarch [root@overcloud-controller-0 heat-admin]# grep novncproxy_base_url /etc/nova/nova.conf novncproxy_base_url=http://[fd00:fd00:fd00:2000::14]:6080/vnc_auto.html
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://rhn.redhat.com/errata/RHBA-2016-0636.html