Commit Graph

120 Commits

Author SHA1 Message Date
fadae43674 move plugins out of experimental
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: c410222e42fb9195909390337bc129c6481e2453
Component: engine
2016-11-10 15:51:32 -08:00
1b35413a33 Fix IT case for network name validation
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
Upstream-commit: 9cebccfb95b75e7688b897d74c1eee9eb668526f
Component: engine
2016-11-03 11:04:37 -07:00
276bac2138 Basic IT for plugin-v2 network driver
Since the plugin APIs have not changed for local-scoped network drivers
between plugin-v1 and v2, a simple test to validate the bootstrapping
and network creation APIs would suffice.

Any network driver specific API validations are handled independent of
plugin v1 or v2 format.

Using a sample v2 network plugin :
https://github.com/mavenugo/test-docker-netplugin/

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 259441c027226683d38080caac7a39d6192c9dfa
Component: engine
2016-10-31 15:43:50 -07:00
4b9781e130 all: replace loop with single append
Signed-off-by: Elena Morozova <lelenanam@gmail.com>
Upstream-commit: 64238fef8c7b739a2ae5648386cf594eb3a162e5
Component: engine
2016-10-13 13:31:52 -07:00
ed910442b7 [nit] integration-cli: obey Go's naming convention
No substantial code change.

 - Api         --> API
 - Cli         --> CLI
 - Http, Https --> HTTP, HTTPS
 - Id          --> ID
 - Uid,Gid,Pid --> UID,PID,PID
 - Ipam        --> IPAM
 - Tls         --> TLS (TestDaemonNoTlsCliTlsVerifyWithEnv --> TestDaemonTLSVerifyIssue13964)

Didn't touch in this commit:
 - Git: because it is officially "Git": https://git-scm.com/
 - Tar: because it is officially "Tar": https://www.gnu.org/software/tar/
 - Cpu, Nat, Mac, Ipc, Shm: for keeping a consistency with existing production code (not changable, for compatibility)

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: 7fb7a477d79c67ab53c432977780662ccbfeec57
Component: engine
2016-09-30 01:21:05 +00:00
6b1c398ebc Fix incorrect aux-address examples and test
The (host)name for aux-addresses should
be unique, otherwise later values overwrite
earlier values.

Before this change, the example command
would send this API request;

    {
      "Attachable": false,
      "CheckDuplicate": true,
      "Driver": "overlay",
      "EnableIPv6": false,
      "IPAM": {
        "Config": [
          {
            "Gateway": "192.168.0.100",
            "IPRange": "192.168.1.0/24",
            "Subnet": "192.168.0.0/16"
          },
          {
            "AuxiliaryAddresses": {
              "a": "192.170.1.5",
              "b": "192.170.1.6"
            },
            "Gateway": "192.170.0.100",
            "Subnet": "192.170.0.0/16"
          }
        ],
        "Driver": "default",
        "Options": {
        }
      },
      "Internal": false,
      "Labels": {
      },
      "Name": "my-multihost-network",
      "Options": {
      }
    }

After this change, the request looks
like this (all aux-addresses preserved);

    {
      "Attachable": false,
      "CheckDuplicate": true,
      "Driver": "overlay",
      "EnableIPv6": false,
      "IPAM": {
        "Config": [
          {
            "AuxiliaryAddresses": {
              "my-router": "192.168.1.5",
              "my-switch": "192.168.1.6"
            },
            "Gateway": "192.168.0.100",
            "IPRange": "192.168.1.0/24",
            "Subnet": "192.168.0.0/16"
          },
          {
            "AuxiliaryAddresses": {
              "my-printer": "192.170.1.5",
              "my-nas": "192.170.1.6"
            },
            "Gateway": "192.170.0.100",
            "Subnet": "192.170.0.0/16"
          }
        ],
        "Driver": "default",
        "Options": {
        }
      },
      "Internal": false,
      "Labels": {
      },
      "Name": "my-multihost-network",
      "Options": {
      }
    }

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: fd7161bb3061e2e2f56faed1a4ba1f7a887627bf
Component: engine
2016-09-27 01:12:29 +02:00
23bca39d98 Fix improper use of --rm in test case
Test is testing that a user can disconnect from the default network
before it is started (#26220).
This test does not need to use `--rm`, which is never aken into account
since the container is never started.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: f05ed0075893bb907b5cc2612d9193d775134e2d
Component: engine
2016-09-14 13:14:30 -04:00
45ddc4bfcb Add engine-api types to docker
This moves the types for the `engine-api` repo to the existing types
package.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 91e197d614547f0202e6ae9b8a24d88ee131d950
Component: engine
2016-09-07 11:05:58 -07:00
edfe468b08 Fix issue in disconnecting a container from network
This fix tries to address the issue raised in 26220 where
disconnecting a container from network does not work if
the network id (instead of network name) has been specified.

The issue was that internally when trying to disconnecting
a contaienr fromt the network, the originally passed network
name or id has been used.

This fix uses the resolved network name (e.g., `bridge`).

An integration test has been added to cover the changes.

This fix fixes 26220.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 83d79f13aa2e94085e83e0f5bc5d51305dd2c192
Component: engine
2016-09-04 07:28:45 -07:00
54575c4167 Fix issue in --ip6 validation for docker create
This fix tries to address the issue raised in comment:
https://github.com/docker/docker/pull/25943#discussion_r76843081
Previously, the validation for `ip6` is done by checking ParseIP().To16().
However, in case an IPv4 address or an IPv4-mapped Ipv6 address has been
provided, the validation will pass (should fail).

This fix first check if `--ip6` is passed with a valid IP address and returns
error for invalid IP addresses. It then check if an IPv4 or IPv4-mapped Ipv6
address is passed, and return error accordingly.

This fix adds two more cases in the tests. One for IPv4 address passed to `--ip6`
and another for Ipv4-mapped IPv6 address passed to `--ip6`. In both cases,
without this fix the validation will pass through.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 1e6eccae69bd9b1f65ec87c33a6a872c81f7fb23
Component: engine
2016-08-30 19:28:44 -07:00
63926fbdf3 Merge pull request #26055 from mavenugo/ndn
Support container disconnect for non-existing network
Upstream-commit: 9ea28ea8944744d9dc8f50bdc1733868fda6ce7f
Component: engine
2016-08-28 01:48:02 +00:00
8bee71dfee Support container disconnect for non-existing network
There are cases such as migrating from classic overlay network to the
swarm-mode networking (without kv-store), such a mechanism to allow
disconnecting a container even when a network isnt available will be
useful.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 05a3f2666ee34c2dfa04663bbdda3c7763b001d8
Component: engine
2016-08-26 16:48:52 -07:00
6068b202c6 Validate --ip and --ip6 for docker create
This fix tries to fix the issue raised in 25863 where `--ip` value
is not validated for `docker create`. As a result, the IP address
passed by `--ip` is not used for `docker create` (ignored silently).

This fix adds validation in the daemon so that `--ip` and  `--ip6`
are properly validated for `docker create`.

An integration test has been added to cover the changes.

This fix fixes 25863.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: c7045eb93523df76feb9f3e00540e69471a1855e
Component: engine
2016-08-25 22:11:23 -07:00
0d4234bb46 Change to use c.Assert() instead of result.Assert()
Fix delete containers and make sure it prints errors correctly.
Rename Result.Fails to Result.Assert()
Create a constant for the default expected.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 243885808f5c69143679d094d964d333c47e69bf
Component: engine
2016-08-23 15:12:36 -04:00
eaa727c6e2 Create a unified RunCommand function with Assert()
Remove some run functions and replace them with the unified run command.
Remove DockerCmdWithStdoutStderr
Remove many duplicate runCommand functions.
Also add dockerCmdWithResult()
Allow Result.Assert() to ignore the error message if an exit status is expected.
Fix race in DockerSuite.TestDockerInspectMultipleNetwork
Fix flaky test DockerSuite.TestRunInteractiveWithRestartPolicy

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: d7022f2b46589cb9d860219e1d8278351ba147c3
Component: engine
2016-08-23 15:11:46 -04:00
33375755ad Add network --format flag to ls
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: a8aaafc4a3fc716bdb2c4e571e34c66eb80bbab2
Component: engine
2016-08-04 14:59:51 +02:00
a4c4731dc9 Rename --net to --network
Add a `--network` flag which replaces `--net` without deprecating it
yet. The `--net` flag remains hidden and supported.

Add a `--network-alias` flag which replaces `--net-alias` without deprecating
it yet. The `--net-alias` flag remains hidden and supported.

Signed-off-by: Arnaud Porterie (icecrime) <arnaud.porterie@docker.com>
Upstream-commit: c0c7d5e71586ec8e4d54aef9e061f061e9223cc4
Component: engine
2016-07-12 13:01:35 -07:00
85aba87fc8 Fix hanging integration tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 22f827ababc1910bc48762d7980913497dbc915d
Component: engine
2016-06-15 10:19:45 -07:00
955da7c9c3 Merge pull request #23524 from aboch/restore
Daemon to support network restore
Upstream-commit: 91197953d07843e34f02d6d2dc435cc4c43dfec1
Component: engine
2016-06-15 02:33:16 +00:00
dc06e7fb83 Add test case for network restore
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 7d0689a8d35e4dd7d569e552957a20ba287c95e6
Component: engine
2016-06-14 16:45:30 -07:00
6c19b5ff61 Allow user to specify container's link-local addresses
Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: 1c4efb6aa05026efce99a7a5bb7e710c0f1b3002
Component: engine
2016-06-14 14:28:33 -07:00
cfcc9cde2b Fix the network inspect id
This fixes #22231

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
Upstream-commit: 864e362aa05ed2207d71471780068e951fe9d02e
Component: engine
2016-06-06 15:26:07 +00:00
62fb401985 Migrate network command to cobra
- Migrates network command and subcommands (connect, create, disconnect,
  inspect, list and remove) to spf13/cobra
- Create a RequiredExactArgs helper function for command that require an
  exact number of arguments.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 4bd202b00f7859ebeb4ba87511a0618ad08d0605
Component: engine
2016-06-06 10:28:52 +02:00
35c5774373 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: c1be45fa38e82054dcad606d71446a662524f2d5
Component: engine
2016-06-02 17:17:22 +08:00
67d0b2dc23 remove deprecated feature of passing HostConfig at API container start
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
Upstream-commit: 0a8386c8be3fa87b7523bef7fd31c81a7f84709c
Component: engine
2016-06-01 22:25:17 +08:00
611bbe573a Update port info on network connect/disconnect
Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: f198dfd856ca6125ef50b11d9d698550d66c9d4e
Component: engine
2016-05-25 17:02:50 -07:00
6e410ce449 Add "driver" filter for network ls
This add a new filter to 'docker network ls'
to allow filtering by driver-name.

Contrary to "ID" and "name" filters, this
filter only supports an *exact* match.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 23e418b6c966a43a463a064053ce0c741b8e5159
Component: engine
2016-04-29 16:22:26 +02:00
4ebf703e54 Merge pull request #21495 from HackToday/addnetworkfilter
Add network label filter support
Upstream-commit: 75cc2c926b3296ed07af130a91ed2409f823ff70
Component: engine
2016-04-19 19:15:14 +02:00
7e0d42a8a5 Add container's short-id as default network alias
link feature in docker0 bridge by default provides short-id as a
container alias. With built-in SD feature, providing a container
short-id as a network alias will fill that gap.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: ea531f061d3c511e376753f9863cb41f1b96d87e
Component: engine
2016-04-18 14:45:16 -07:00
1beaa5c119 Add network label filter support
This patch did following:

1) Make filter check logic same as `docker ps ` filters

Right now docker container logic work as following:
when same filter used like below:
 -f name=jack -f name=tom
it would get all containers name is jack or tom(it is or logic)

when different filter used like below:

 -f name=jack -f id=7d1
it would get all containers name is jack and id contains 7d1(it is and logic)

It would make sense in many user cases, but it did lack of compliate filter cases,
like "I want to get containers name is jack or id=7d1", it could work around use
(get id=7d1 containers' name and get name=jack containers, and then construct the
final containers, they could be done in user side use shell or rest API)

2) Fix one network filter bug which could include duplicate result
when use -f name=  -f id=, it would get duplicate results

3) Make id filter same as container id filter, which means match any string.
not use prefix match.

It is for consistent match logic

Closes: #21417

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
Upstream-commit: f812b55692f5d50d427684216ad6c806bac5a702
Component: engine
2016-04-18 00:38:48 +00:00
676dd1beed Fix Docker core dumps when removing network with special characters (#21401).
This fix tries to fix Docker core dumps when removing network with special
characters. The issue is from the fact that when docker client tries to
pass the command to API, the networkID is not escaped in case of special
characters. This also means other commands (not just `docker network rm`)
may face the same issue (e.g., `docker network connect`).

This fix adds the URL path escape to properly handle it. In addition, an
integration test for network create and delete is added to cover the cases
in #21401.

This fix fixes #21401.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
(cherry picked from commit f8dc5562d0a74792c46b9382181ddf97e5d7cdac)
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: f1542276081aa91396495059638d3ea30d4e5a10
Component: engine
2016-03-23 15:07:14 -04:00
26e4c9db49 Vendoring libnetwork v0.7.0-dev.10
Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: fbdb3c3a4b15720c0df3a59d4bef0773b365c2b1
Component: engine
2016-03-22 12:36:21 -07:00
fe56b4ef22 add label support for build, networks and volumes
build: implement --label

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

network: allow adding labels on create

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

volume: allow adding labels on create

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

add tests for build, network, volume

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

vendor: libnetwork and engine-api bump

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
Upstream-commit: fc214b4408d915e3510f61c7584ca01c176d1373
Component: engine
2016-03-22 11:49:06 -04:00
d91c7046be Vendoring libnetwork v0.7.0-dev.5
Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: 5a654089416762da484ca9929fcd216076b591ab
Component: engine
2016-03-08 18:47:02 -08:00
a0833fa844 Merge pull request #20995 from wenchma/ping_timeout
Update ping command timeout to 4 sec
Upstream-commit: 6d6919ed79083b3339889911853589a6502afc5c
Component: engine
2016-03-08 15:35:00 -05:00
8912d208d9 Update ping command timeout to 4 sec
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
Upstream-commit: c7a340e2be351e24c3be7aba8fa2032fa6f01e52
Component: engine
2016-03-08 15:06:58 +08:00
a41eec344b Merge pull request #20852 from wenchma/net-alias
Add tests of unsupported network-scoped alias on default networks
Upstream-commit: 5ded3a212b16087f836622e7dbfb584944e6e145
Component: engine
2016-03-07 13:37:12 -05:00
c06c593d4a Enhancement of TestDockerNetworkInternalMode
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
Upstream-commit: 312e20bf6ce7bb396cbc9d05114a66b41f23e3ab
Component: engine
2016-03-04 10:56:10 +08:00
a2c76ae251 Add tests of unsupported network-scoped alias on default networks
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
Upstream-commit: 0515d9b9c0cbfa9d10b98c58f428f599174e961e
Component: engine
2016-03-02 16:57:50 +08:00
f04054d6f5 Fix typo
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
Upstream-commit: 8474bbff4594f382dbac5ad59767d18b2d8f2689
Component: engine
2016-02-23 17:27:55 +08:00
34184bd076 Merge pull request #20383 from HackToday/addsort
Make network ls output order
Upstream-commit: 0e72550c5b27704ac1ec043302fe2aaebe3b1956
Component: engine
2016-02-19 15:42:48 -05:00
d9c028ed66 Merge pull request #20419 from aboch/cr
Allow passing global datastore to libnetwork and v0.7.0-dev1 vendoring
Upstream-commit: 117a982d2e805d3279ff75fcec071635e5191ef6
Component: engine
2016-02-18 17:39:46 -08:00
d9d773f20a IT case for sending invalid query to embedded DNS server
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
Upstream-commit: e5293f97f240c194eba1a46e5883514c9ccb4586
Component: engine
2016-02-18 12:14:19 -08:00
7d665cca4e Merge pull request #17513 from aidanhs/aphs-expose-ipv6-default-bridge
Expose bridge IPv6 setting to `docker network inspect`
Upstream-commit: 2e6c841b826cc73332c44d5a04a5996fc65af724
Component: engine
2016-02-18 10:35:04 -08:00
f8aea9f057 Make network ls output order
Fixes: #20328
We sort network ls output with incresing order,
it may make output more easy to consume for users.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
Upstream-commit: 838ed1866bf285759efdc01a97ae837f0f1c326a
Component: engine
2016-02-17 04:35:36 +00:00
cacd57e1c5 Merge pull request #20261 from tophj-ibm/change-test-to-use-variable
Change integration test to use declared variable
Upstream-commit: fffff202fcc3dc63f72ce883d728eb5149e9f1ce
Component: engine
2016-02-12 07:52:51 -08:00
f115ec243c Change integration test to use variable
Followup to #20246, changes the test to use already declared variable

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
Upstream-commit: ce1059973a4a46acc272a8c0fea521c96e628ba7
Component: engine
2016-02-11 21:20:00 -05:00
992182031d Merge pull request #20250 from vieux/fix_misspell
fix common misspells
Upstream-commit: 5ca6d3bafd0dd53dd26f8251218c68a8016e5ce7
Component: engine
2016-02-11 17:22:06 -08:00
697a990701 fix common misspell
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: 99a396902f0ea9d81ef87a683489b2435408f415
Component: engine
2016-02-11 15:49:36 -08:00
cfb6f193ab Expose bridge IPv6 setting to docker network inspect
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
Upstream-commit: dfb00652aa801ecd7fcc3bf492434bd140d9d1ea
Component: engine
2016-02-11 22:13:47 +00:00