Commit graph

277 commits

Author SHA1 Message Date
Solomon Hykes
a52a28b609 Temporarily disable a broken test (waiting for @creack to fix it), and silence a warning which pollutes unit tests but is complicated to fix 2013-03-31 22:05:14 -07:00
Solomon Hykes
54443c092c gofmt 2013-03-31 22:04:59 -07:00
Dominik Honnef
6f9a67a7c7 Make IP allocator lazy
Instead of allocating all possible IPs in advance, generate them as
needed.

A loop will cycle through all possible IPs in sequential order,
allocating them as needed and marking them as in use. Once the loop
exhausts all IPs, it will wrap back to the beginning. IPs that are
already in use will be skipped. When an IP is released, it will be
cleared and be available for allocation again.

Two decisions went into this design:

1) Minimize memory footprint by only allocating IPs that are actually
in use

2) Minimize reuse of released IP addresses to avoid sending traffic to
the wrong containers

As a side effect, the functions for IP/Mask<->int conversion have been
rewritten to never be able to fail in order to reduce the amount of
error returns.

Fixes gh-231
2013-04-01 06:02:44 +02:00
Guillaume J. Charmes
d949e2804a Add a check to avoid double start (resulting in dockerd to panic) and unit test for it 2013-03-31 14:15:10 -07:00
Solomon Hykes
0b9a3c86a2 Show shorthand container IDs for convenience. Shorthand IDs (or any non-conflicting prefix) can be used to lookup containers 2013-03-31 02:02:01 -07:00
Guillaume J. Charmes
4760749402 Close the containers stdin when the process dies 2013-03-30 09:08:53 -07:00
Guillaume J. Charmes
7efde5eb83 Fix a scope issue preventing the close of slave stdin pty (#228) 2013-03-30 09:07:54 -07:00
Guillaume J. Charmes
5252ab697c Store the master ptys in order to close them when the process dies (#228) 2013-03-30 09:05:53 -07:00
Solomon Hykes
d0d5d5ff09 Merge pull request #265 from dotcloud/formating_debug_harmonize
Formating debug harmonize
2013-03-29 21:30:43 -07:00
Guillaume J. Charmes
0f7a4534c1 Do not log non-running containers 2013-03-29 08:46:06 -07:00
Guillaume J. Charmes
7a565a0479 Remove unused variable from container struct 2013-03-29 08:41:48 -07:00
Guillaume J. Charmes
69c2250ec2 Add some error checking in container monitor 2013-03-29 08:29:59 -07:00
Guillaume J. Charmes
d17f78c373 Harmonize the error management. Use fmt.Errorf instead of errors.New 2013-03-29 08:19:42 -07:00
Guillaume J. Charmes
ccac5b1382 Add debug infos 2013-03-29 08:18:43 -07:00
Maxim Treskin
6d72758f12 Remove unnecessary part of paths to lxc executables 2013-03-29 12:07:25 +07:00
Jonathan Rudenberg
a6da7f138c Camelize some snake_case variable names 2013-03-28 20:12:23 -04:00
Guillaume J. Charmes
cca59081de #189 Fix the env in TTY mode 2013-03-26 07:01:59 -07:00
shin-
2333be46aa Re-enabled help for run command and added client-side error messages when arguments are missing 2013-03-26 08:31:26 -07:00
Guillaume J. Charmes
c85db1003b Force xterm as TERM in tty mode 2013-03-25 19:20:18 -07:00
Guillaume J. Charmes
50bee2f811 Fix termcaps on the linux client 2013-03-25 18:44:05 -07:00
Solomon Hykes
bd63ae72e6 Merge branch 'master' of ssh://github.com/dotcloud/docker 2013-03-25 14:25:17 -07:00
shin-
c8ca50b483 Fixed issue #158 (docker crashes when docker run is called with not enough arguments) 2013-03-25 07:17:11 -07:00
Solomon Hykes
b32436cd2e Prevent container.Kill() from crashing if container.cmd is nil 2013-03-23 19:51:35 -07:00
Solomon Hykes
6ce64e8458 Moved image name into config. runtime.Create() now receives a single Config parameter 2013-03-23 12:39:09 -07:00
Solomon Hykes
031f91df1a runtime.Create receives an image name + Config. The Config includes all required runtime information: command, environment, ports etc. 2013-03-23 12:16:58 -07:00
Solomon Hykes
34fbaa5f6d 'docker run -e': set environment variables in a container 2013-03-22 20:36:34 -07:00
Solomon Hykes
ef711962d5 Folded graph/ back into main package 2013-03-21 17:47:23 -07:00
Solomon Hykes
d65983f386 No need for a Container.networkManager field: it can be accessed via Container.runtime 2013-03-21 01:43:03 -07:00
Solomon Hykes
0208b6accd moved GenerateId() to the graph package 2013-03-21 01:07:07 -07:00
Solomon Hykes
b8547f31e4 Renamed Docker{} to Runtime{} for clarity 2013-03-21 00:41:15 -07:00
Solomon Hykes
7c57a4cfc0 Simplified the core container API, ported it to the new graph. Some features are missing eg. image 'paths' and tags 2013-03-21 00:25:00 -07:00
creack
453d49573c Put back the github.com path for the import 2013-03-12 11:59:27 -07:00
creack
150a4fe7e5 Merge master within fs 2013-03-12 08:33:21 -07:00
Guillaume J. Charmes
45a8bba15e gofmt 2013-03-12 05:36:37 -07:00
Guillaume J. Charmes
e0b09d4933 Add "nuke" function to docker tests to avoid disk space waste 2013-03-12 00:08:41 -07:00
Sam Alba
948961831a Renamed Container property Ram to Memory before it is too late 2013-03-11 19:25:02 -07:00
Sam Alba
75d04a5a75 Added support for RamSwap in the generated LXC config (to limit the swap and have the right default settings) 2013-03-11 17:40:54 -07:00
Solomon Hykes
2548722dae Fix a bug which caused dockerd to crash at startup if a container didn't have a registered mountpoint 2013-03-11 17:05:01 -07:00
Guillaume J. Charmes
687d6f25ee Change relative paths to absolute 2013-03-11 02:59:52 -07:00
shin-
5d6199b925 post-merge repairs 2013-03-11 07:39:06 -07:00
shin-
2441edf1a3 Merged upstream changes in fs branch 2013-03-11 05:50:09 -07:00
shin-
97a8209438 Merged master branch into fs 2013-03-11 05:42:36 -07:00
Solomon Hykes
4474cd5677 Fixed a bug which caused docker to crash at startup while restoring existing containers 2013-03-09 19:49:09 -08:00
Solomon Hykes
c59fff422f gofmt 2013-03-09 19:44:09 -08:00
shin-
93ba6dd82b Plugged in image store in front-end (some commands are deactivated right now, will progressively reintroduce them 2013-03-08 10:48:22 -08:00
Solomon Hykes
2df0bc6bc0 Container logs are persisted on disk 2013-03-06 16:08:44 -08:00
Andrea Luzzardi
09eacdfade Container can now take a list of ports to expose in its config 2013-02-28 11:51:14 -08:00
shin-
2ebf3464a1 Halfway through fs branch fixes, TestUser not passing 2013-02-26 17:45:46 -08:00
Andrea Luzzardi
c7f4602b18 Merge from master 2013-02-26 17:32:07 -08:00
Solomon Hykes
ebaa50c4c9 docker wait: block until a container exits, and print its exit code 2013-02-26 11:43:54 -08:00