docker-tools icon indicating copy to clipboard operation
docker-tools copied to clipboard

With docker 1.12 the destroy event is not process properly , record stay in the DNS

Open x3rus opened this issue 8 years ago • 0 comments

Hi, yep me again :D ,

The creation process work , event are trap correctly with my pull request when I fixed the issue #11 , but the destroy event don't delete entry in the DNS :

Creation process :

$ docker run -it --name tata --hostname titi ubuntu:14.04 bash

2017-01-11 21:36:27,206 - root - DEBUG - Read line 2017-01-11T21:36:27.206203129-05:00 container create 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f (image=ubuntu:14.04, name=tata)
2017-01-11 21:36:27,207 - root - DEBUG - Got event create for container 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f
2017-01-11 21:36:27,207 - root - DEBUG - Read line 2017-01-11T21:36:27.207517516-05:00 container attach 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f (image=ubuntu:14.04, name=tata)
2017-01-11 21:36:27,207 - root - DEBUG - Got event attach for container 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f
2017-01-11 21:36:27,517 - root - DEBUG - Read line 2017-01-11T21:36:27.516753075-05:00 network connect 9728b95a3cc6594414cfbcae6a1eab71dc9de12f406d839b68a53a76b960de42 (container=19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f, name=bridge, type=bridge)
2017-01-11 21:36:27,807 - root - DEBUG - Read line 2017-01-11T21:36:27.807006428-05:00 container start 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f (image=ubuntu:14.04, name=tata)
2017-01-11 21:36:27,807 - root - DEBUG - Got event start for container 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f
2017-01-11 21:36:27,810 - requests.packages.urllib3.connectionpool - DEBUG - "GET /v1.22/containers/19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f/json HTTP/1.1" 200 None
2017-01-11 21:36:27,811 - root - INFO - Updating 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f to ip (titi|tata) -> 172.17.0.4
2017-01-11 21:36:27,812 - root - DEBUG - Read line 2017-01-11T21:36:27.808612144-05:00 container resize 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f (height=49, image=ubuntu:14.04, name=tata, width=190)
2017-01-11 21:36:27,812 - root - DEBUG - Got event resize for container 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f

DNS validation :


$ ping titi.dck.example.com
PING titi.dck.example.com (172.17.0.4) 56(84) bytes of data.
64 bytes from 172.17.0.4: icmp_seq=1 ttl=64 time=0.051 ms

$ ping tata.dck.example.com
PING titi.dck.example.com (172.17.0.4) 56(84) bytes of data.
64 bytes from 172.17.0.4: icmp_seq=1 ttl=64 time=0.048 ms

$ dig titi.dck.example.com
;; ANSWER SECTION:
titi.dck.example.com.     60      IN      A       172.17.0.4


$ dig tata.dck.example.com
;; ANSWER SECTION:
tata.dck.example.com.     600     IN      CNAME   titi.dck.example.com.
titi.dck.example.com.     60      IN      A       172.17.0.4

But the TXT record don't exist :

$ ping 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f.dck.example.com
ping: unknown host 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f.dck.example.com

# short_ID
$ ping 19d65d9f22e0.dck.example.com
ping: unknown host 19d65d9f22e0.dck.example.com   

$ dig TXT 19d65d9f22e0.dck.example.com
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;19d65d9f22e0.dck.example.com.    IN      TXT

$ dig TXT titi.dck.example.com
;; ANSWER SECTION:
titi.dck.example.com.     600     IN      TXT     "dockerDDNS-alias:tata:"


$ dig TXT 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f.dck.example.com
dig: '19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f.dck.example.com' is not a legal name (label too long)

The label is too long because : http://www.freesoft.org/CIE/RFC/1035/9.htm

    labels  63 octets or less
    names   255 octets or less

So when the script try to delete the record I have those errors :

I Try to destroy container name tata with hostname titi , container ID : 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f

$ tail -f /var/log/docker-ddns.log
2017-01-11 21:45:05,947 - root - DEBUG - Read line 2017-01-11T21:45:05.947599729-05:00 container die 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f (exitCode=0, image=ubuntu:14.04, name=tata)
2017-01-11 21:45:05,948 - root - DEBUG - Got event die for container 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f
2017-01-11 21:45:05,948 - root - INFO - Destroying 19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f
2017-01-11 21:45:05,948 - root - DEBUG - Looking for alias to 19d65d9f22e0.dck.example.com
2017-01-11 21:45:05,949 - root - ERROR - Cannot get TXT record for 19d65d9f22e0:
2017-01-11 21:45:05,951 - root - INFO - Removing record for 19d65d9f22e0
2017-01-11 21:45:06,350 - root - DEBUG - Read line 2017-01-11T21:45:06.349804656-05:00 network disconnect 9728b95a3cc6594414cfbcae6a1eab71dc9de12f406d839b68a53a76b960de42 (container=19d65d9f22e0844b27845522e9c14e4303428f2ca440be3b6a7d5c0646fd811f, name=bridge, type=bridge)

x3rus avatar Jan 12 '17 17:01 x3rus