Skip to content
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

Veth device left even if container has been cleaned up #846

Closed
chenchun opened this issue Dec 30, 2015 · 1 comment
Closed

Veth device left even if container has been cleaned up #846

chenchun opened this issue Dec 30, 2015 · 1 comment

Comments

@chenchun
Copy link
Contributor

chenchun@chenchun-T450:~/project/go/src/github.com/docker/docker$ docker -v
Docker version 1.9.1, build a34a1d5
chenchun@chenchun-T450:~/project/go/src/github.com/docker/docker$ docker info
Containers: 0
Images: 449
Server Version: 1.9.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 601
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-23-generic
Operating System: Ubuntu Kylin 14.10
CPUs: 4
Total Memory: 3.567 GiB
Name: chenchun-T450
ID: DHD6:VDR3:CVD2:A72R:OOPR:YRPD:TXWI:DMH2:XEOO:YR3S:IHBB:VIWD
Debug mode (server): true
 File Descriptors: 26
 Goroutines: 51
 System Time: 2015-12-30T14:12:19.785307867+08:00
 EventsListeners: 0
 Init SHA1: 
 Init Path: /usr/bin/docker
 Docker Root Dir: /var/lib/docker
WARNING: No swap limit support
Cluster store: zk://127.0.0.1:2181
Cluster advertise: 10.72.133.127:2375

reproduce

chenchun@chenchun-T450:~/project/go/src/github.com/docker/docker$ docker network create -d overlay ovl
9789e9671633e22a548ca342883977b808cceb5594022c08a711ae7ce35fb517
chenchun@chenchun-T450:~/project/go/src/github.com/docker/docker$ docker run -d --net=ovl ubuntu sleep 3323
f435a21bf3837f634227981def5d306fcc8db031e04da34385622f2cbeb46451
chenchun@chenchun-T450:~/project/go/src/github.com/docker/docker$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
f435a21bf383        ubuntu              "sleep 3323"        2 seconds ago       Up 1 seconds                            focused_einstein
chenchun@chenchun-T450:~/project/go/src/github.com/docker/docker$ ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 68:f7:28:b2:ca:67 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 34:02:86:b2:cf:2d brd ff:ff:ff:ff:ff:ff
    inet 10.72.133.127/24 brd 10.72.133.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::3602:86ff:feb2:cf2d/64 scope link 
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:11:c2:bd:eb brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.0/16 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:11ff:fec2:bdeb/64 scope link 
       valid_lft forever preferred_lft forever
262: docker_gwbridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:89:ce:74:81 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 scope global docker_gwbridge
       valid_lft forever preferred_lft forever
    inet6 fe80::42:89ff:fece:7481/64 scope link 
       valid_lft forever preferred_lft forever
294: vethb2956ec: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker_gwbridge state UP group default 
    link/ether 02:4e:51:89:6b:57 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::4e:51ff:fe89:6b57/64 scope link 
       valid_lft forever preferred_lft forever
chenchun@chenchun-T450:~/project/go/src/github.com/docker/docker$ docker rm -v -f $(docker ps -aq)
f435a21bf383
chenchun@chenchun-T450:~/project/go/src/github.com/docker/docker$ ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 68:f7:28:b2:ca:67 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 34:02:86:b2:cf:2d brd ff:ff:ff:ff:ff:ff
    inet 10.72.133.127/24 brd 10.72.133.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::3602:86ff:feb2:cf2d/64 scope link 
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:11:c2:bd:eb brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.0/16 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:11ff:fec2:bdeb/64 scope link 
       valid_lft forever preferred_lft forever
262: docker_gwbridge: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:89:ce:74:81 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 scope global docker_gwbridge
       valid_lft forever preferred_lft forever
    inet6 fe80::42:89ff:fece:7481/64 scope link 
       valid_lft forever preferred_lft forever
291: veth7b89463: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default 
    link/ether 02:42:0a:00:00:02 brd ff:ff:ff:ff:ff:ff
292: veth457d479: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default 
    link/ether 02:b4:aa:5f:78:03 brd ff:ff:ff:ff:ff:ff

I think this is due to https://github.com/docker/libnetwork/blob/master/osl/interface_linux.go#L140-L143, I changed those to delete iface directly and veth device can be cleaned up.
Why move the network interface to caller namespace instead of deleting it?

@aboch
Copy link
Contributor

aboch commented Jan 7, 2016

Closed by #854

@aboch aboch closed this as completed Jan 7, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants