Bryan Boreham
f0e511510a
Don't print a message on flag not found
2017-11-15 12:35:19 +00:00
Bryan Boreham
570ab0b10b
Avoid deleting persisted data on weave-kube upgrade
...
Add a feature to weaveutil to get and set flags, then use this feature
to mark the DB when this version runs
2017-11-15 11:26:43 +00:00
Martynas Pumputis
ade6738789
Handle "weave expose" in weaver
...
The change makes "weave expose" to call the "/expose" HTTP
endpoint implemented in router which exposes the bridge.
Such architectural change required as we need to know whether NPC is
enabled when exposing the bridge and weaver knows this fact the best.
Unfortunately, this change makes impossible to "weave expose"
when weaver is not running.
2017-10-17 12:08:43 +01:00
Bryan Boreham
be412812f9
Remove unused variable assignment
2017-10-05 10:45:51 +00:00
David Shepherd
8bf08c3cf8
Remove docker binary from weaveexec container
...
Fixes #2957
- replace `docker stop` with `weaveuitl stop-container`
- replace `docker kill` with `weaveutil kill-container`
- replace `docker rm` with `weaveutil remove-container`
- replace `docker run` with minimal `weaveutil container-run`
- replace `docker inspect -f {{.ID}}` with `weaveutil container-id`
- replace data-only container `docker create` with `weaveutil create-volume-container`
- remove `docker inspect` dependencies from `weave` script
`rewrite_etc_hosts` and `with_container_fqdn`
- rework `weave` script `check_running` and `check_not_running` to use `weaveutil`
- rework `weave version` to use `weaver` /report API or `weaver --version` if not running
- rework `weave setup`'s `docker pull` to run locally rather than in `weaveexec` container
2017-09-13 08:03:58 -04:00
Martynas Pumputis
f37377264b
Fix fallback to pcap based bridge when odp is not supported
...
The fix ensures that if odp is not supported (usually due to
missing openvswitch, vxlan or vport-vxlan kernel modules),
weaver will create the pcap based bridge instead of crashing.
2017-06-27 18:38:21 +02:00
Bryan Boreham
28aa181480
Move setting up addresses for a container, into weaveutil-invoked function
...
This means we only change netns by execing nsenter: changing netns in
Go is unsafe for long-running processes like the proxy.
2017-06-16 13:19:08 +00:00
Bryan Boreham
97e0fcb765
Refactor: move SetupIface code from weaveutil to net package
2017-06-16 13:19:08 +00:00
Bryan Boreham
37526728e0
Merge branch '1.9'
2017-05-30 13:55:49 +00:00
Avi Deitcher
c05955d598
First cut of adding hairpin functionality to weave
2017-05-30 10:30:49 +00:00
Marc Carré
bc1d6c47ba
Merge pull request #2947 from weaveworks/issues/1940-remove-proxy-attach-dep
...
Attach containers from Proxy using Go code
2017-05-12 14:49:20 +01:00
Martynas Pumputis
0e3ac00ff5
Fix DriverName for plugin-v2
...
Print the full plugin-v2 name which might include a registry name.
Also, do not print error from "proxy_addrs".
2017-05-12 14:22:39 +03:00
Martynas Pumputis
2285942384
Add better detection for plugin-v2 (net-plugin)
...
The problem is that the plugin name is prefixed with a registry name.
So, if the plugin is fetched from Docker Store, its name will be
"store/weaveworks/net-plugin".
The detection function does an exact match on "weaveworks/net-plugin",
so in the Docker Store case, the presence of the plugin cannot be
detected.
2017-05-12 13:56:56 +03:00
Bryan Boreham
edbf85655a
Move rewrite /etc/hosts from shell to Go
2017-05-12 06:56:52 +00:00
Martynas Pumputis
d5d45de5a4
Get rid of ipam modes in plugin-v2
...
plugin-v2 is not going to be used with Docker IPAM in most cases,
so there is no need to complicate the code with ipam mode selection.
2017-05-05 17:25:17 +00:00
Bryan Boreham
d2cbb2749e
Move plugin network creation from shell script to Go
...
In the process, use the default subnet instead of the whole IP
allocation range.
2017-04-27 17:07:59 +00:00
Bryan Boreham
a731d47d97
Rename bridge detection/creation functions
2017-04-24 16:42:05 +00:00
Bryan Boreham
108f4784a6
Add back check for datapath supported
2017-04-20 16:12:42 +00:00
Bryan Boreham
a7feb41e62
Replace switch statements with Bridge polymorphism
2017-04-20 15:57:49 +00:00
Bryan Boreham
fddb3ee06e
Review feedback
2017-04-20 15:57:49 +00:00
Bryan Boreham
3574da267b
Remove -enforce_docker_bridge_addr_assign_type no longer used
2017-04-17 19:41:47 +00:00
Bryan Boreham
f05bb6c4e0
Don't assume we always run in in host pid space
...
Pass the path to the proc filesystem down
2017-04-17 19:41:47 +00:00
Bryan Boreham
dd232775e6
Move expect-npc setup from weave script to Go code
2017-04-17 19:41:47 +00:00
Bryan Boreham
a8eb7966b6
Wire up enforce_docker_bridge_addr_assign_type
2017-04-17 19:41:47 +00:00
Bryan Boreham
8051f51d46
Move bridge-creation code from weave script into Go code
...
via weaveutil create-bridge function
2017-04-17 19:41:47 +00:00
Marc CARRE
7c5dda353d
Only list active containers.
...
Previously was using `docker.ListContainersOptions{All: true}`, which is the equivalent of `docker ps -a`, and is not what we want here.
2017-04-13 12:12:49 +01:00
Marc Carré
8961041469
Merge pull request #2727 from weaveworks/issues/2397-v2-plugin
...
Create a V2 Docker plugin
2017-04-12 14:27:34 +01:00
Martynas Pumputis
09606db9c3
Exit when launching plugin-v2 if node is not active in Swarm
...
We retrieve the list of swarm masters for peer discovery when launching
plugin-v2, thus the node should belong to any Swarm when enabling the
plugin.
2017-04-12 13:05:40 +00:00
Martynas Pumputis
3c11c8aa38
Add comment about failures to is-docker-plugin-enabled cmd
2017-04-12 13:05:40 +00:00
Martynas Pumputis
0ff37d3492
Do "docker plugin inspect" inside weaveutil
...
We cannot do it from weaveexec, because the latter is distributed
with an old version of Docker client which does not support
Plugins API.
2017-04-12 13:05:40 +00:00
Martynas Pumputis
82b56848a9
Add peer discovery for Docker Swarm
...
The peer discovery relies on "GET /info" API call which returns
list of master nodes. The peer list is passed to weaver when
launching it.
If node is a master, then we pass "--ipalloc-alloc
consensus=$(MASTER_NODES_COUNT)" to weaver. Otherwise, we pass
"--ipalloc-alloc observer".
2017-04-12 13:05:39 +00:00
Marc Carré
19a31a5b82
Merge pull request #2814 from weaveworks/weaveutil-allids
...
Fetch list of container IDs inside weaveutil
2017-04-12 11:35:37 +01:00
Martynas Pumputis
ceb0186f46
Better error reporing for weaveutil
...
If a weaveutil subcmd is not found, report the fact to stderr.
2017-04-12 09:48:03 +00:00
Bryan Boreham
b307b9872a
Fetch list of container IDs inside weaveutil, for 'weave ps'
2017-04-12 09:36:21 +00:00
Bryan Boreham
d9ca54e777
Don't use Printf without a format
2017-03-21 11:38:35 +00:00
Bryan Boreham
1f6a6349a9
Remove useless 'break'
2017-03-21 11:38:35 +00:00
Bryan Boreham
c3c28ea27e
Update CNI library to version 0.5.0
2017-03-16 18:23:20 +00:00
Bryan Boreham
ebcb7f6108
Use persisted peer name if it matches old-style ID
2017-01-11 13:14:35 +00:00
Bryan Boreham
70a20b4d26
Generate peer name / mac address in Go
2017-01-11 13:12:30 +00:00
Bryan Boreham
ea014d1362
Reimplement docker_bridge_ip shell pipeline in Go
2016-12-23 12:10:26 +00:00
Bryan Boreham
d5f1c233bf
Remove punctuation from the end of error messages
...
to placate the linter
2016-11-18 10:40:41 +00:00
Bryan Boreham
e458c11e66
Weave script calls Go implementation of expose_nat
2016-11-14 12:37:42 +00:00
Bryan Boreham
5630a01a8c
Implement CNI plugin via weaveutil
2016-11-03 17:42:39 +00:00
Martynas Pumputis
9754da15d6
Encode "list-netdevs" output in JSON
2016-10-20 18:18:57 +01:00
Martynas Pumputis
e611f04f41
Move NetDev utils from common/ to net/
2016-10-19 17:03:30 +01:00
Martynas Pumputis
3492cd93d0
Use safe version of WithNetNS
2016-10-19 16:15:59 +01:00
Martynas Pumputis
947ae11fee
Refactor NetDev utilities
...
- Make them safe by using the safe version of WithNetNS.
- Improve naming.
2016-10-19 16:07:53 +01:00
Martynas Pumputis
cdd6ed548c
Add netdev subcommands to weaveutil
...
The subcommands are going to be used with WithNetNS wrapper.
2016-10-19 16:07:53 +01:00
Martynas Pumputis
4a49ff3083
Replace usage of WithNetNSUnsafe in plugin/net/watcher.go with safer version
...
Unsafe version was in ConfigureARPforVeths; replacement is via `weaveutil configure-arp`
2016-10-06 15:25:05 +01:00
Bryan Boreham
50a8dc1383
Add weaveutil process-addrs
...
Fetches addresses for every veth that is in a network namespace and
attached to the specified bridge. Works by iterating over every process.
2016-09-29 14:16:05 +01:00