Bryan Boreham
f7cb2ef25d
have waitForStartByIdent() return an error
2015-10-30 13:46:30 +00:00
Bryan Boreham
949f8bb2e7
Move updateContainerNetworkSettings() into proxy
2015-10-30 13:34:16 +00:00
Bryan Boreham
5eaff802d4
Make inspect-rewrite wait if the start operation is still in progress
2015-10-30 13:34:16 +00:00
Adam Harrison
4792fe6391
Improved detection of router container restart
...
Use the container name in addition to the entrypoint to avoid triggering
reattachment unnecessarily.
2015-10-27 14:41:26 +00:00
Paul Bellamy
bc9db72212
[proxy] Add notifyWaiters to fix anticipated race condition.
...
* User makes /start request, and blocks on the waiter
* ContainerStarted fires with ID
* Container goes away
* We try to inspect the container to get the entrypoint, which fails
* Previously, this wouldn't call notifyWaiters and the /start would hang (I expect)
2015-10-22 09:50:12 +01:00
Paul Bellamy
63339c026d
[proxy] return errors when attaching new containers
...
I had implemented this with a promise, but was informed that as
waitForStart is only called once, we are safe to just put the error into
the channel.
2015-10-21 13:05:05 +01:00
Bryan Boreham
08f6dcf08d
Missing format
2015-10-19 15:47:44 +00:00
Bryan Boreham
697ee62d9a
Use entrypoint to detect weave router
2015-10-19 15:47:43 +00:00
Bryan Boreham
a87cc5c3b1
Get the proxy to re-attach the weave router if it sees it restart
2015-10-19 15:46:47 +00:00
Matthias Radestock
db9229f485
Merge pull request #1551 from weaveworks/1547-proxy-restart-no-kill-containers
...
Proxy restart shouldn't kill containers
Fixes #1547 .
2015-10-19 13:55:48 +01:00
Paul Bellamy
ace6c01b00
Review feedback
2015-10-19 13:53:20 +01:00
Paul Bellamy
a0f0367e60
[proxy] don't kill containers when starting the proxy
2015-10-16 15:33:43 +01:00
Alvaro Saurin
6a674d0d67
Add hosts when attaching
2015-10-16 11:47:07 +02:00
Tom Wilkie
5b8ce8ebae
Expose some tls functions from the proxy for use elsewhere.
2015-10-13 14:56:11 +00:00
David Wragg
b56ff7678c
Make code coverage work through the proxy
...
Previously, the proxy would run the weave script in ways that did
not run the weaver executable. Now they can. This is a problem because
of the contortions involved in using golang's code coverage support
in the integration tests, which require the weaver command line args to
be slightly mangled.
2015-10-12 21:27:11 +01:00
Paul Bellamy
fbb2c213a9
[proxy] all request modification is done through map[string]interface{}
...
That way we are less likely fall victim to go-dockerclient, or the API changing.
2015-10-12 15:53:07 +01:00
Paul Bellamy
18872cc8ae
[proxy] remove status.sock before binding status.sock
2015-10-09 17:44:16 +01:00
Paul Bellamy
d704ba175f
[proxy] use a container-local unix socket to get the address, instead of logs
2015-09-28 16:08:25 +01:00
Paul Bellamy
547c9e7f5a
Removing confusing variable from getDNSDomain, just return "" when disabled
2015-09-22 15:09:32 +01:00
Paul Bellamy
3e4d8a3ffe
review feedback
2015-09-22 15:09:32 +01:00
Paul Bellamy
74c3b0d079
[proxy] Override sneaky /start HostConfig params
2015-09-22 15:09:32 +01:00
Paul Bellamy
b86d9bf1ab
[proxy] fix race condition when waiting for containers to start
...
If ContainerStarted fired before the response handler, then the "waiter"
chan would be nil, and the response handler would hang.
2015-09-22 12:50:36 +01:00
Paul Bellamy
e39974eb07
Merge pull request #1210 from weaveworks/401-proxy-start-events
...
make proxy attach network on docker start event
2015-09-15 10:18:48 +01:00
Bryan Boreham
76895c76a1
Use Mutex instead of RWMutex, for simplicity
2015-09-14 17:11:56 +01:00
Alfonso Acosta
ce5dd847e9
[proxy] Add --hostname-from-label
...
This allows registering container hostnames based on a label provided when
creating the container.
2015-09-04 17:02:07 +01:00
Matthias Radestock
633df0cdaf
refactor: extract docker API endpoint regexp creation
2015-09-04 13:40:07 +01:00
Paul Bellamy
e21a204eed
[proxy] add --rewrite-inspect flag
...
To return the weave ip/mac for docker inspect calls.
2015-09-04 13:40:06 +01:00
Paul Bellamy
704e6a8676
errcheck says I should handle this case
2015-09-04 10:40:47 +01:00
Bryan Boreham
1e2344341d
Wait for container to be attached before returning from {re}start request
2015-09-01 17:48:22 +01:00
Bryan Boreham
9ae6435317
Attach existing weave containers at startup
2015-09-01 17:48:22 +01:00
Bryan Boreham
81e8ba223f
Do network attach on docker event rather than intercepting start and restart commands.
...
This means it also works when the docker daemon restarts a container.
2015-09-01 17:48:12 +01:00
Matthias Radestock
375af0a7b9
Improve log messages for when the proxy ignores a container
...
- 'ignoring' could be misread as 'dropped request', so change that to
'leaving container alone'
- more elaborate reasons
2015-08-17 16:15:45 +01:00
Matthias Radestock
067f96023a
correct option name in log message
2015-08-17 09:37:46 +01:00
Paul Bellamy
0de292c0d4
[proxy] attach containers with --net=none to weave
2015-08-14 13:48:32 +01:00
Matthias Radestock
d5de0b41f9
Merge branch '1.0'
...
Conflicts:
proxy/proxy.go
2015-08-13 13:57:02 +01:00
Paul Bellamy
4961e83686
[proxy] support new docker 1.8 --net="default"
2015-08-13 13:36:47 +01:00
Paul Bellamy
f70dc6660a
[proxy] lock docker api usage to 1.15
2015-08-13 13:36:47 +01:00
Paul Bellamy
55051f0194
Merge remote-tracking branch 'upstream/1.0'
2015-07-31 11:01:19 +01:00
Paul Bellamy
4958b8d37a
[proxy] Mount /w from the host for weavewaited containers
...
We set it at container create. Had tried also setting it at start, but
it seems to cause weird behaviour, and there is no way to do it from the
CLI.
2015-07-30 15:11:03 +01:00
Paul Bellamy
a0876becbc
Merge remote-tracking branch 'upstream/1.0'
...
Conflicts:
proxy/create_container_interceptor.go
proxy/create_exec_interceptor.go
proxy/proxy.go
proxy/start_container_interceptor.go
2015-07-16 15:29:29 +01:00
Paul Bellamy
c6fa9cb17e
refactor weaveCIDRsFromConfig to return an error message
2015-07-16 15:15:32 +01:00
Paul Bellamy
9619a27f8c
[proxy] adding log message for ignored containers
2015-07-16 14:01:22 +01:00
Paul Bellamy
1132d26d47
[proxy] do not weave attach containers in '--net=host|container:<name|id>'
2015-07-16 13:58:27 +01:00
Alfonso Acosta
ded3d6b40b
Address PR comments
2015-07-14 15:31:44 +00:00
Alfonso Acosta
4f82dc97fd
[proxy] More flexible container name -> hostname derivation
...
Provides to new two new flags: `--hostname-match <regexp>`
and `--hostname-replacement <replacement>`. When launching a container, its name
matched against regular expression `<regexp>`. Then, based on that match,
`<replacement>` will be used to generate a hostname, which will ultimately be
handed over to weaveDNS for registration.
The substitution is implemented with
https://golang.org/pkg/regexp/#Regexp.ReplaceAllString . Thus, references to
regexp substitution groups should be prepended with a dollar sign.
For instance, if we provide `--hostname-match '^aws-[0-9]+-(.*)$'` and
`--hostname-replacement 'my-app-$1'`, running a container named
`aws-12798186823-foo` through WeaveProxy will lead to WeaveDNS registering
`my-app-foo`.
Closes #1018
2015-07-14 14:41:44 +00:00
Paul Bellamy
e4458372e8
[proxy] weavewait rewrites /etc/hosts so weave ip is returned first from 'hostname -i'
...
Adds a --no-rewrite-hosts flag to the proxy, and be default, removes the
docker IP from hosts. We only discard the docker host when it exists, so
--net=none works.
2015-07-10 13:57:20 +01:00
Paul Bellamy
7821412bf7
[proxy] print all stderr from callWeave to the proxy logs, even if successful
2015-07-03 15:45:09 +01:00
Bryan Boreham
a5ddb63fca
Remove Info.Print in favour of Log.Info
2015-07-01 14:01:45 +01:00
Bryan Boreham
d82578d895
Replace logging calls with new style
2015-07-01 12:26:23 +01:00
Tom Wilkie
c4565f6ed3
Make proxy listen on /var/run/weave.sock
2015-06-26 15:08:21 +00:00