Commit Graph

45 Commits

Author SHA1 Message Date
Justin Cormack
498c481700 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
220f3df37a 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
1977888b18 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
dd41c21021 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
d9288f5bba 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
421dee55d0 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
c9c9994d89 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
7b5811cdbd 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
5b7c05c25b 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
dd5fe0455b 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
5165a6c795 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
e56be71ba3 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
59ed40b5ed diagnostics: dump more config files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-06-07 16:00:16 +01:00
Rolf Neugebauer
1fa702886b 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
218e9de40c 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
66372fe5e8 Remove hupper and mobyconfig watch
Signed-off-by: Dave Tucker <dt@docker.com>
2016-06-02 20:39:25 +01:00
Justin Cormack
41c1231c47 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
d7863c8882 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
f1aa816c4a 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
a740d022ff 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
c470c2f0fa 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
184fa38903 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
15b772d496 diagnostics: vendor the vsock package
Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-15 17:07:22 +01:00
David Scott
4802911c8f 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
cb08ad76d3 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
6b0b4e05cb 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
18e54b792b 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
9608c4aaf0 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
a187d2e5f4 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
1947dc4e19 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
1beef9a6c8 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
157d2aef07 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
82e9dfc4ee 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
f9eca40371 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
d24dd9d59b 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
a97038273e 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
75f60eca3c 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
af9b3ad7a2 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
192c90b0a7 Replace 9pudfuse with transfused 2016-02-12 14:07:43 +00:00
Justin Cormack
c8b2fa4ff1 typo
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-01-26 17:42:45 +00:00
Justin Cormack
b24ce0d678 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
d5c1bbe105 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
e1e1809717 add hupper process to diagnostics
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-01-25 10:45:50 +00:00
Justin Cormack
c51b6cc299 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
d5b9f7ec1d new initrd with diagnostics
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-21 10:57:30 +00:00