Commit Graph

45 Commits

Author SHA1 Message Date
Justin Cormack
5b7ff1f6ef Wait for docker to finish starting up before terminateing init script
This means dependent services can rely on docker being up.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-15 11:29:32 +01:00
Justin Cormack
0ec195786a Add a system containerd
This adds an independent system containerd for running internal
containers.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-14 12:28:44 +01:00
Rolf Neugebauer
0aee0c0ed5 diagnostics: Don't check for transfused on Windows
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-12 14:28:11 +01:00
Ian Campbell
110bdd831b diagnostics: Only log connection failure if not EAFNOTSUPPORT
EAFNOTSUPPORT likely means we are running on a hypervisor which doesn't support
that particular socket type.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-01 15:35:27 +01:00
Ian Campbell
dde4ab70ba diagnostics: Log over syslog
Instead of spamming the console.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-01 15:35:27 +01:00
Ian Campbell
a329bbc8e0 diagnostics: Correct error formatting
They should be formatted as %s not %#v (which prints all sorts of opaque
pointers).

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-01 15:35:26 +01:00
Ian Campbell
f2b432053c diagnostics: run "gofmt -w" over go code
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-01 15:35:26 +01:00
Rolf Neugebauer
72fd755473 diag: improve diagnostics
- try several wget's on well known IP addresses to check IP
  connectivity (ping in hostnet mode is not good enough)
- try DNS lookup on a well known server
- add service-port-opener logs

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-22 11:38:51 +01:00
Justin Cormack
b70b51af18 reverse on Windows check for diagnostics
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-15 10:42:21 +01:00
Justin Cormack
759ad55f03 Update to docker 1.12-dev plus proxy patches, close to what will be rc1
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-14 14:13:36 +01:00
Ian Campbell
b8a7032161 Add || true to the docker rmi invocations in the clean target
Linux xargs calls the command with no arguments if it gets no inputs, which
`docker rmi` complains about. It provides -r / --no-run-if-empty to prevent
this but unfortunately this isn't supported on OSX.

Ignore errors from `docker rmi` so that `make clean` will keep going and clean
up later stuff.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-08 13:59:47 +01:00
Rolf Neugebauer
a923d92338 diagnostics: Add daemon.json to the diagnistics tarball
With #186 we are now using /etc/docker/daemon.json again.
Add it to the tarball.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-08 13:51:59 +01:00
Rolf Neugebauer
80e17378f2 diagnostics: dump more config files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-07 16:00:16 +01:00
Rolf Neugebauer
67448a87be diagnostics: dump the master branch of the database
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-07 16:00:16 +01:00
Rolf Neugebauer
05e3e7262f diagnostics: add more log files and more content from logfiles
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-07 15:04:17 +01:00
Dave Tucker
202cccd9d9 Remove hupper and mobyconfig watch
Signed-off-by: Dave Tucker <dt@docker.com>
2016-06-02 20:39:25 +01:00
Justin Cormack
6b6dff3222 update diagnostics now tap-vsockd only runs on WIndows
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-31 15:07:33 +01:00
David Scott
dbd9fb77fd tap-vsockd: add to /sbin
Install the daemon in /sbin, but don't start it up yet.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 21:15:11 +01:00
Rolf Neugebauer
245fa32d28 diagnostics: add support for hyper-V sockets
Use the new shared vendor'ed packages

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-19 13:54:48 +01:00
Justin Cormack
a66704fdc6 use build-base not alpine-sdk as smaller
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-17 10:00:58 -05:00
Justin Cormack
084761b9db remove mdnstool now we are only using hostnet
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-26 14:45:50 +01:00
David Scott
78c14c5161 diagnostics: listen on both TCP/IP and vsock ports
The TCP/IP port will be used by Windows, while Mac can use the vsock
one.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-15 17:07:52 +01:00
David Scott
0619d947dd diagnostics: vendor the vsock package
Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-15 17:07:22 +01:00
David Scott
578c037e81 moby: rewrite diagnostics server in Go
This will make it easier to add a vsock interface as well as a regular
TCP/IP one.

As a side-effect, the server is now able to handle more than one concurrent
request!

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-15 16:09:54 +01:00
David Sheets
52feb0c4d5 transfused: use vsock transport instead of 9p
Signed-off-by: David Sheets <dsheets@docker.com>
2016-04-12 16:38:06 +01:00
Justin Cormack
09a98bf3e2 remove 9pudc, unused and not being fixed
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 18:21:01 +01:00
David Scott
48a3916095 diagnostics: apply a timeout to all commands
This should avoid unnecessary blocking if (for example) the network is
down.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-02 13:55:36 +01:00
David Scott
911a1e2bd7 diagnostics: run iptables-save
This is more complete than `iptables -t nat -L`

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-02 13:55:36 +01:00
Justin Cormack
e891d65e97 Support for 1.11.0-rc2, fix #57
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-31 18:54:05 +01:00
Justin Cormack
5551e60fd1 check diagnostics server running in diagnostics
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-31 14:58:13 +01:00
David Scott
a163c06ba0 diagnose: include iptables -t nat -L
The extra `-t nat` includes the masquerading stuff.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-31 11:14:31 +01:00
David Scott
b10af0dc92 diagnostics: use netstat -tulpn which includes process names
For example:

  docker:~# netstat -tulpn
  Active Internet connections (only servers)
  Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
  tcp        0      0 :::32768                :::*                    LISTEN      1344/docker-proxy
  tcp        0      0 :::2375                 :::*                    LISTEN      1124/docker
  tcp        0      0 :::5000                 :::*                    LISTEN      1444/docker-proxy
  tcp        0      0 :::5001                 :::*                    LISTEN      1494/docker-proxy

Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-31 10:35:35 +01:00
David Scott
5a4cc0a779 diagnose: grab the tail /var/log/docker.log
Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-30 15:42:48 +01:00
David Scott
673b44cf95 diagnose: put all the files inside a moby/ subdirectory
Signed-off-by: David Scott <dave@recoil.org>
2016-03-30 15:03:28 +01:00
David Scott
2461710f7d diagnose: ls -l /var, /var/lib and /var/lib/docker
Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-30 14:28:00 +01:00
David Scott
4bd38ce8bf diagnose: try a ping, grab /etc/resolv.conf and route -n
Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-30 14:25:58 +01:00
David Scott
d402a579f5 diagnostics-server: add more diagnostics
For networking:
- ifconfig -a
- brctl show

For storage:
- mount
- df

Signed-off-by: David Scott <dave@recoil.org>
2016-03-30 10:34:04 +01:00
David Scott
d842e1b5dc Allow diagnostics to be downloaded on port 62374
A client like `pinata diagnose` can do the equivalent of:

  nc 192.168.64.2 62374 > foo.tar

and find `foo.tar` contains

- the output of `/usr/bin/diagnostics`
- `iptables -L`
- `netstat -an`
- `ps uax`
- `docker ps`
- `dig docker.com`
- `wget http://docker.com`

This will allow us to diagnose various in-VM faults, without having
to ask the user to access the console and run commands.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-03-30 10:31:55 +01:00
David Sheets
726650a126 Replace 9pudfuse with transfused 2016-02-12 14:07:43 +00:00
Justin Cormack
67fb87a8f6 typo
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-01-26 17:42:45 +00:00
Justin Cormack
34150463e5 add diagnostics for fuse if used
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-01-26 10:59:09 +00:00
Justin Cormack
bc3f3f005a make diagnostics run after all teh things it checks
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-01-25 23:25:25 +00:00
Justin Cormack
a1283877fe add hupper process to diagnostics
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-01-25 10:45:50 +00:00
Justin Cormack
7f49537054 make sure diagnostics runs after all other startup
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-21 11:14:30 +00:00
Justin Cormack
010382b4a3 new initrd with diagnostics
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-21 10:57:30 +00:00