Skip to content

[20.10 backport] vendor: docker/libnetwork b3507428be5b458cb0e2b4086b13531fb0706e46 #42205

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 1, 2021

Conversation

thaJeztah
Copy link
Member

backport of #41908

also somewhat related to #28589, which discusses the "implicit" binding of IPv6

depends on:

full diff: moby/libnetwork@fa125a3...b350742

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

The normalizing was updated with the output of the "docker port" command
in mind, but we're normalizing the "expected" output, which is passed
without the "->" in front of the mapping, causing some tests to fail;

    === RUN   TestDockerSuite/TestPortHostBinding
        --- FAIL: TestDockerSuite/TestPortHostBinding (1.21s)
            docker_cli_port_test.go:324: assertion failed: error is not nil: |:::9876!=[::]:9876|
    === RUN   TestDockerSuite/TestPortList
        --- FAIL: TestDockerSuite/TestPortList (0.96s)
            docker_cli_port_test.go:25: assertion failed: error is not nil: |:::9876!=[::]:9876|

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit c8599a6)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
full diff: moby/libnetwork@fa125a3...b350742

- fixed IPv6 iptables rules for enabled firewalld (libnetwork#2609)
    - fixes "Docker uses 'iptables' instead of 'ip6tables' for IPv6 NAT rule, crashes"
- Fix regression in docker-proxy
    - introduced in "Fix IPv6 Port Forwarding for the Bridge Driver" (libnetwork#2604)
    - fixes/addresses: "IPv4 and IPv6 addresses are not bound by default anymore" (libnetwork#2607)
    - fixes/addresses "IPv6 is no longer proxied by default anymore" (moby#41858)
- Use hostIP to decide on Portmapper version
    - fixes docker-proxy not being stopped correctly

Port mapping of containers now contain separatet mappings for IPv4 and IPv6 addresses, when
listening on "any" IP address. Various tests had to be updated to take multiple mappings into
account.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 0450728)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
@wget
Copy link

wget commented Apr 14, 2021

@thaJeztah Hello Sebastian! Could you properly tag the latest 20.10.6 release? https://github.com/moby/moby/releases
Because I was monitoring this page automatically and only realized the 20.10.6 was out. :)

@thaJeztah
Copy link
Member Author

Looks like it's tagged; https://github.com/moby/moby/releases/tag/v20.10.6
But probably github releases not showing that as a release as it hides tags once a repository has done "github release"

@thaJeztah
Copy link
Member Author

ok; added a GitHub release https://github.com/moby/moby/releases/tag/v20.10.6

@alexandru-lazarev
Copy link

alexandru-lazarev commented Apr 20, 2021

After update to 20.10.06 issue happened again on CentOS 7.9 with ipv6 disabled (I really do not need it) - any ideea how to fix it?

root@AlexL:~ # docker run -e POSTGRES_PASSWORD=password -p 5432:5432 postgres:12.4
docker: Error response from daemon: driver failed programming external connectivity on endpoint sleepy_wilson (4c360a7cf5c62a8ee4199ebe623b20154e12a8b9902c796bf7009a3e742bb1ab): Error starting userland proxy: listen tcp6 [::]:5432: socket: address family not supported by protocol.
ERRO[0000] error waiting for container: context canceled 

buildroot-auto-update pushed a commit to buildroot/buildroot that referenced this pull request May 2, 2021
Fixes various networking issues:

- Fix a regression in docker 20.10, causing IPv6 addresses no longer to be
  bound by default when mapping ports moby/moby#42205

- Fix implicit IPv6 port-mappings not included in API response.  Before
  docker 20.10, published ports were accessible through both IPv4 and IPv6
  by default, but the API only included information about the IPv4 (0.0.0.0)
  mapping moby/moby#42205

- Fix a regression in docker 20.10, causing the docker-proxy to not be
  terminated in all cases moby/moby#42205

- Fix iptables forwarding rules not being cleaned up upon container removal
  moby/moby#42205

For more details, see the release notes:
https://docs.docker.com/engine/release-notes/#20106

Signed-off-by: Mario Fink <knif.oiram@gmail.com>
Tested-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
buildroot-auto-update pushed a commit to buildroot/buildroot that referenced this pull request May 7, 2021
Fixes various networking issues:

- Fix a regression in docker 20.10, causing IPv6 addresses no longer to be
  bound by default when mapping ports moby/moby#42205

- Fix implicit IPv6 port-mappings not included in API response.  Before
  docker 20.10, published ports were accessible through both IPv4 and IPv6
  by default, but the API only included information about the IPv4 (0.0.0.0)
  mapping moby/moby#42205

- Fix a regression in docker 20.10, causing the docker-proxy to not be
  terminated in all cases moby/moby#42205

- Fix iptables forwarding rules not being cleaned up upon container removal
  moby/moby#42205

For more details, see the release notes:
https://docs.docker.com/engine/release-notes/#20106

Signed-off-by: Mario Fink <knif.oiram@gmail.com>
Tested-by: Christian Stewart <christian@paral.in>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit e1458fe)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants