Aanand Prasad
6e932794f7
Fix regression when mounting volumes
...
Caused by
77fec67c60
2014-04-25 12:28:00 +01:00
Aanand Prasad
9e1dfcfb37
Update docker-py APIError imports
2014-04-23 18:20:33 +01:00
Aanand Prasad
80991f1521
Set "VolumesFrom" when starting containers
...
This is necessary when working with Docker 0.10.0 and up. Fortunately,
we can set it both when creating and starting, and retain compatibility
with 0.8.x and 0.9.x.
recreate_containers() is now responsible for starting containers, as
well as creating them. This greatly simplifies usage of the Service
class.
2014-04-23 15:46:26 +01:00
Ben Firshman
2b245bdf9e
Update to docker-py 0.3.1
...
From 7f55a101f8
This now requires Docker 0.9 or greater.
2014-04-15 10:41:06 +01:00
sebastianneubauer
352ad7a38c
Scaling down removes containers
...
Squashed version of #162 .
Closes #121 .
2014-03-26 18:28:10 +00:00
Kevin van Zonneveld
0f5a56b3c2
Add support for privileged containers #123
...
This is required for mounting external volumes and
addresses errors such as `mount.nfs: Operation not permitted`
Be gentle, I don't normally use Python :)
2014-03-13 14:31:05 +01:00
Aanand Prasad
13c7380113
Only `fig run` containers link back to the service they're part of
...
Fixes #107 .
2014-03-06 18:59:24 +00:00
Aanand Prasad
2d98071e55
Support 'expose' config option, like docker's --expose
...
Exposes ports to linked services without publishing them to the world.
2014-03-04 18:06:52 +00:00
Aanand Prasad
6a3d1d06b5
Check NetworkSettings.Ports instead of HostConfig.PortBindings in tests
...
The latter appears to be unreliable.
2014-03-04 17:58:42 +00:00
Ben Firshman
044c348faf
Add test for fig rm
2014-03-04 11:00:09 +00:00
Ben Firshman
465c7d569c
Improve CLI test names
2014-03-04 11:00:09 +00:00
Aanand Prasad
a00ec9d1f8
Fix: image-defined entrypoint not overridden by intermediate container
...
This was causing recreation to hang.
2014-03-03 18:06:06 +00:00
Ben Firshman
3e7360c2c6
Improve error when service is not a dict
...
Fixes #127
2014-03-03 16:21:42 +00:00
Ben Firshman
bf47aa97b4
Fix tests importing six
2014-03-03 12:25:38 +00:00
Aanand Prasad
c07e96cf2b
Merge pull request #120 from marksteve/link-name
...
Add custom link names (Closes #72 )
2014-03-03 11:22:57 +00:00
Mark Steve Samson
193558a4bc
Add link names test
2014-03-03 08:54:47 +08:00
Mark Steve Samson
e38e866626
Fix links related test
2014-03-02 00:30:33 +08:00
Aanand Prasad
9d1383ba26
Alternate fig file can be specified with -f
2014-03-01 11:29:23 +00:00
Ben Firshman
b9c8e3e057
Fix scale not binding ports
2014-02-17 21:33:05 +00:00
Ben Firshman
5d4210ceb3
Fix tests when there is an image with int tag
2014-02-17 21:32:48 +00:00
Barnaby Gray
6431d52a2e
Implement topological sort using Cormen/Tarjan algorithm to handle a->b->c dependencies and detect a->b->c->a cycles.
2014-02-12 09:09:55 +00:00
Aanand Prasad
edf8f14ac0
Throw an error if you specify an unrecognised option in `fig.yml`
...
Closes #27 .
2014-02-04 17:46:04 -08:00
Ben Firshman
62607f4f04
Merge pull request #67 from orchardup/link-services-to-themselves
...
Link services to themselves
2014-01-31 02:46:52 -08:00
Ben Firshman
e4e9f0bc19
Link services to themselves
...
E.g. `fig run db ...` will be able to access the db service.
2014-01-30 13:11:23 +00:00
Cameron Maske
ae7573b9b8
Fix for #48 .
...
Rework of how services are sorted based on dependencies using a topological sort.
Includes error handling to detect circular/self imports (should raise a DependecyError).
Added in logging to the CLI to log out any DependencyErrors.
Removed the compact module as it is no longer used.
2014-01-29 18:38:25 +00:00
Aanand Prasad
ee880ca7be
Fix recreate_containers test
2014-01-29 13:57:28 +00:00
Ben Firshman
cbdeff99ee
Fix broken test on Python 3
2014-01-28 13:45:47 +00:00
Ben Firshman
8b75f7c7d3
Merge pull request #58 from mrchrisadams/load_yaml_as_well_as_yml
...
Support loading in Figfiles with .yaml extension
2014-01-28 03:35:25 -08:00
Chris Adams
1d18d747a5
Support loading in Figfiles with .yaml extension
...
Add basic boilerplate text - feel free to change
2014-01-28 00:43:23 +00:00
Ben Firshman
3e7e6e7656
Add link alias without project name
...
REDIS_1_PORT_6379_TCP_ADDR instead of
FIGTEST_REDIS_1_PORT_6379_TCP_ADDR.
Ref #37
2014-01-27 15:32:16 +00:00
Ben Firshman
ddf6819a75
Only pull ubuntu:latest in tests
...
Might stop Travis running out of disk space.
2014-01-26 20:37:40 +00:00
Ben Firshman
ee49e7055b
Pull ubuntu image for CLI tests
2014-01-26 20:29:05 +00:00
Ben Firshman
ea93c01dfb
Remove intermediate containers in recreate test
2014-01-26 19:48:10 +00:00
Ben Firshman
cf18a3141f
Remove images created by tests
2014-01-26 19:37:35 +00:00
Aanand Prasad
e8472be6d5
Fig bug in split_buffer where input was being discarded
...
Also, write some tests for it.
2014-01-22 17:44:04 +00:00
Aanand Prasad
df9f66d437
Allow ports to be specified in '1234/tcp' format
2014-01-22 17:01:10 +00:00
Aanand Prasad
ae67d55bf2
Fix bug where too many '/tcp' suffixes were added to port config
2014-01-22 16:52:42 +00:00
Ben Firshman
7abc4fbf3a
Improve ps CLI test
2014-01-20 16:50:41 +00:00
Ben Firshman
855a9c623c
Remove containers after running CLI tests
2014-01-20 16:47:58 +00:00
Cameron Maske
62bba1684b
Updated recreate_containers to attempt to base intermediate container's the previous container's image.
...
Added in additional functionality to reset any entrypoints for the intermediate container and pull/retry handling if the image does not exist.
Updated test coverage to check if an container is recreated with an entrypoint it is handled correctly.
2014-01-19 18:40:21 +00:00
Ben Firshman
56c6efdfce
Add scale command
...
Closes #9
2014-01-16 18:09:46 +00:00
Ben Firshman
8ed86ed551
Add number to container
2014-01-16 18:05:59 +00:00
Aanand Prasad
21528f08d4
Vendor docker-py
...
From 9dc03c5737
2014-01-16 13:30:01 +00:00
Aanand Prasad
ee0c4bf690
Fix test regression
2014-01-16 12:32:16 +00:00
Aanand Prasad
ea4753c49a
Use an anonymous intermediate container so that when recreating containers, suffixes always start from 1
2014-01-16 12:32:15 +00:00
Aanand Prasad
f5f9357736
Remove project.create_containers(), revamp project.recreate_containers()
...
`recreate_containers` now returns two lists of old+new containers, along
with their services.
2014-01-16 12:32:15 +00:00
Aanand Prasad
bdc6b47e1f
service.recreate_containers() no longer removes the old containers
...
We need to keep them around until the new ones have been started.
2014-01-16 12:32:15 +00:00
Aanand Prasad
3669236aa1
Support volumes in config with an unspecified host path
2014-01-16 12:32:15 +00:00
Aanand Prasad
207e83ac2f
Be sure to test that recreate_containers updates config
2014-01-16 12:32:15 +00:00
Ben Firshman
3c5e334d9d
Add recreate_containers method to service
2014-01-16 12:32:15 +00:00
Ben Firshman
7a1fb3a8d2
Fix ordering of port mapping
2014-01-16 01:54:05 +00:00
Aanand Prasad
8cab05feb4
Failing (on 2.7, at least) smoke test for 'fig ps'
...
See #8 .
2014-01-09 15:32:50 +00:00
Aanand Prasad
892677a9d3
Very basic CLI smoke test
...
See #8 .
2014-01-09 15:32:24 +00:00
Christopher Grebs
93b9b6fd9f
First version with python3 support.
...
* Moved requirements*.txt files to proper spec definitions in setup.py
* Added a new fig.compat module to store some compatibility code
2014-01-06 17:58:49 +00:00
Ben Firshman
f96a1a0b35
Fix Python 2.6
2014-01-06 17:58:49 +00:00
Ben Firshman
ff9fa5661d
Fix Python 2.6
2014-01-06 11:22:46 +00:00
Ben Firshman
853d8ad280
Namespace tests inside a project
...
So it doesn't delete all your containers for every test. Cool.
2014-01-02 15:27:51 +00:00
Aanand Prasad
d4f3ed1840
Fix 'fig up' behaviour
...
- For each service, creates a container if there are none (stopped OR
started)
- Attaches to all containers (unless -d is passed)
- Starts all containers
- On ^C, kills all containers (unless -d is passed)
2013-12-31 13:02:08 +00:00
Aanand Prasad
9ed6538693
Extract docker URL logic, use it in tests as well
2013-12-31 12:37:17 +00:00
Aanand Prasad
0cafdc9c6c
plum -> fig
2013-12-20 20:28:24 +00:00
Aanand Prasad
13a30c327a
Container.name strips the leading slash
2013-12-20 19:33:41 +00:00
Aanand Prasad
8291d36eaf
Fix stray test regression
2013-12-20 19:30:31 +00:00
Aanand Prasad
d3346fa174
up, start, stop, kill and rm all accept a list of services
2013-12-20 18:32:55 +00:00
Aanand Prasad
81093627fe
Implement kill and rm
2013-12-20 18:30:59 +00:00
Aanand Prasad
a4710fa9e1
'plum up' is now the special magic
...
'start' and 'stop' are now analogous to their Docker namesakes.
2013-12-20 18:30:59 +00:00
Ben Firshman
507940535f
Tag built images and use them when starting
...
A basic measure to get round the fact that adding isn't cached. Once
Docker supports cached adds, this is probably redundant.
2013-12-20 16:23:40 +00:00
Ben Firshman
326438b170
Pick correct numbers for one off containers
2013-12-20 12:55:45 +00:00
Ben Firshman
2f28265d10
Add support for differentiating one-off containers
...
This is a basic start, the API is pretty shonky.
2013-12-20 10:46:55 +00:00
Ben Firshman
2d2d81d33f
Rename "service collection" to "project"
2013-12-19 16:55:12 +00:00
Ben Firshman
c488710625
Add project option to services
2013-12-19 15:16:17 +00:00
Ben Firshman
6c551a200b
Do not allow underscores in names
2013-12-19 14:47:43 +00:00
Ben Firshman
a5fc880d10
Refactor service to add a container object
2013-12-18 18:37:48 +00:00
Ben Firshman
5e1e4a71e0
Rename ServiceTest
2013-12-18 17:01:50 +00:00
Ben Firshman
87c46e281c
Add support for specifying external port
2013-12-18 11:14:34 +00:00
Ben Firshman
772585109d
Moved tests to root directory
2013-12-14 16:34:24 +00:00