IPv6 undercloud: docker-distribution service fails to start

Bug #1755455 reported by Derek Higgins
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Won't Fix
High
Emilien Macchi

Bug Description

Uploading images to the undercloud registry fails if the local IP is ipv6

(undercloud) (undercloud) [centos@undercloud ~]$ openstack overcloud container image upload --verbose --config-file overcloud_containers.yaml
START with options: [u'overcloud', u'container', u'image', u'upload', u'--verbose', u'--config-file', u'overcloud_containers.yaml']
command: overcloud container image upload -> tripleoclient.v1.container_image.UploadImage (auth=False)
Using config files: [u'overcloud_containers.yaml']
imagename: docker.io/tripleomaster/centos-binary-swift-proxy-server:current-tripleo
Running skopeo inspect docker://docker.io/tripleomaster/centos-binary-swift-proxy-server:current-tripleo
Running skopeo inspect docker://[fd00:1101::2]:8787/tripleomaster/centos-binary-swift-proxy-server:current-tripleo
500 Server Error: Internal Server Error ("invalid reference format")
END return value: 1
(undercloud) (undercloud) [centos@undercloud ~]$

The registry isn't running
Mar 09 15:20:34 undercloud.novalocal registry[27991]: time="2018-03-09T15:20:34Z" level=fatal msg="listen tcp: address fd00:1101::2:8787: too many colons in address"

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-tripleo (master)

Fix proposed to branch: master
Review: https://review.openstack.org/554608

Changed in tripleo:
status: Triaged → In Progress
Changed in tripleo:
milestone: rocky-1 → rocky-2
Changed in tripleo:
milestone: rocky-2 → rocky-3
Changed in tripleo:
milestone: rocky-3 → rocky-rc1
Changed in tripleo:
milestone: rocky-rc1 → stein-1
Changed in tripleo:
milestone: stein-1 → stein-2
Changed in tripleo:
milestone: stein-2 → stein-3
Changed in tripleo:
milestone: stein-3 → train-1
Changed in tripleo:
importance: Medium → High
tags: added: edge
tags: added: queens-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-tripleo (stable/queens)

Fix proposed to branch: stable/queens
Review: https://review.openstack.org/653688

Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

NOTE: I tried to use notation :

vi /etc/docker-distribution/registry/config.yml

version: 0.1
log:
  fields:
    service: registry
storage:
    cache:
        layerinfo: inmemory
    filesystem:
        rootdirectory: /var/lib/registry
http:
    addr: [<some-IPv6-address>]:8787

but the docker-distribution service fails to restart.
So perhaps the master patch was not enough to address that issue?

Changed in tripleo:
assignee: Derek Higgins (derekh) → Bogdan Dobrelya (bogdando)
Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

local testing shows ipv6 addresses do not get accepted by docker-registry config

Changed in tripleo:
status: In Progress → Won't Fix
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on puppet-tripleo (stable/queens)

Change abandoned by Bogdan Dobrelya (<email address hidden>) on branch: stable/queens
Review: https://review.openstack.org/653688
Reason: local testing shows ipv6 addresses do not get accepted by docker-registry config

Changed in tripleo:
assignee: Bogdan Dobrelya (bogdando) → Emilien Macchi (emilienm)
status: Won't Fix → In Progress
Changed in tripleo:
milestone: train-1 → train-2
Revision history for this message
Alex Schultz (alex-schultz) wrote :

There appears to currently be only a single way to get the docker-distribution to listen when dealing with ipv6 traffic. You can configure it to only listen on the port which will result in it answering on any ipv4 or ipv6 interface on the system. You can specify the following hieradata in a file to accomplish this configuration:

tripleo::profile::base::docker_registry::registry_host: ''

Once you have a file with this configuration, update the undercloud.conf to reference the hieradata override file and run the undercloud installation.

Closing as won't fix as we have replaced docker-distribution with something else in newer versions which does support ipv6. The mentioned workaround should work for <=Rocky but it does open the registry on the undercloud to access from all interfaces so make sure to update firewall rules appropriately.

Changed in tripleo:
status: In Progress → Won't Fix
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on puppet-tripleo (master)

Change abandoned by Alex Schultz (<email address hidden>) on branch: master
Review: https://review.opendev.org/554608
Reason: this doesn't work for docker-distribution

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.