Skip to content

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

Description

@x3rus

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions