Commit graph

243 commits

Author SHA1 Message Date
Fabio Rehm
8c884a2e8c fork + exec = spawn 2013-04-23 08:03:29 -03:00
Fabio Rehm
2807f88212 Properly kill redir child processes
Fixes #59
2013-04-23 08:00:42 -03:00
Fabio Rehm
243701a3f8 Up version for development 2013-04-20 17:01:15 -03:00
Fabio Rehm
5679158ea1 Do not display port forwarding message in case no forwarded ports where set 2013-04-18 23:02:07 -03:00
Fabio Rehm
454edec6bb Bump version 2013-04-18 23:01:10 -03:00
Fabio Rehm
895c0ad58f v0.3.1 2013-04-18 22:47:33 -03:00
Fabio Rehm
a12391638a Change logging to match lxc "verbiage"
This should make it clear that we are dealing with LXC containers and
not VBox VMs.
2013-04-18 03:27:27 -03:00
Fabio Rehm
10914d53b0 Add our own DestroyConfirm action 2013-04-18 03:11:36 -03:00
Fabio Rehm
ecc127321f Get rid of dependency on VBox provider for displaying some messages to the user 2013-04-18 03:01:01 -03:00
Fabio Rehm
3a458df621 Add a general purpose ui "messager" / "logger" Action 2013-04-18 03:01:01 -03:00
Fabio Rehm
6e7490f16e Remove duplicated code 2013-04-10 18:56:33 -03:00
Fabio Rehm
e10d6863e9 Up version for development 2013-04-10 18:56:17 -03:00
Fabio Rehm
5508e031b7 v0.3.0 2013-04-10 03:28:09 -03:00
Fabio Rehm
2e14c974d7 Redirect redir stderr to /dev/null
Closes #51
2013-04-10 02:22:19 -03:00
Fabio Rehm
a9c4745b78 Hack in support for fetching container IPs from dnsmasq leases
Closes #49
2013-04-10 02:02:38 -03:00
Fabio Rehm
e4dd0620ce Revert "Remove custom Disconnect action"
This reverts commit a8825b0b28.

I'm still having issues with SSH connections, even with 1.1.5
2013-04-10 01:37:07 -03:00
Fabio Rehm
e4c74dadd2 Support lxc templates under /usr/lib/lxc/templates
Ubuntu Precise with lxc 0.7.5 keeps things on that folder
2013-04-10 01:09:39 -03:00
Fabio Rehm
0ce7629859 Do not ignore NFS shared folders, just share them 2013-04-10 00:48:42 -03:00
Fabio Rehm
116bde9655 Remove commented out actions that we wont implement 2013-04-10 00:09:45 -03:00
Fabio Rehm
6932749ac4 Remove unused var 2013-04-10 00:07:01 -03:00
Fabio Rehm
a700d88783 Store shared folders customizations on a local array instead of messing up with provider configs 2013-04-10 00:05:22 -03:00
Fabio Rehm
7187556b6a Remove dependency on Config object to start containers 2013-04-09 23:53:01 -03:00
Fabio Rehm
c53f9456b7 Remove duplicated Driver#rootfs_path 2013-04-09 22:12:05 -03:00
Fabio Rehm
dd5c1b1c6b Add support for reading installed lxc version from cli object 2013-04-08 22:29:06 -03:00
Fabio Rehm
fd0c863f34 Properly handle invalid boxes 2013-04-08 22:06:38 -03:00
Fabio Rehm
a8825b0b28 Remove custom Disconnect action 2013-04-08 21:12:49 -03:00
Fabio Rehm
1eb7b52da9 💣 custom machine state class 2013-04-08 20:12:05 -03:00
Fabio Rehm
d4edab4979 Fix rootfs compression
* There is no need to adjust the rootfs to include the arch parameter anymore
* Uses tar instead of bsdtar to error output
2013-04-05 22:34:15 -03:00
Fabio Rehm
ed552b6af0 Driver#name -> Driver#container_name 2013-04-05 22:28:41 -03:00
Fabio Rehm
ee9bfa4189 Config#start_opts -> Config#customize 2013-04-05 22:10:49 -03:00
Fabio Rehm
2147ec0ba5 Move away from using ifconfig to ip addr for scanning container IPs
This was required since `ifconfig` is sensitive to localization.
Fixes #50
2013-04-05 22:10:49 -03:00
Fabio Rehm
670a43da00 Remove custom network action since we are not going to support it for a while 2013-04-05 22:10:49 -03:00
Fabio Rehm
04cdd1f3db Improved box metadata handling and container creation 2013-04-05 22:10:49 -03:00
Fabio Rehm
c0a3622413 Fix driver logger name 2013-04-05 22:10:49 -03:00
Fabio Rehm
14f769ee0d Remove support for setting target rootfs path 2013-04-05 22:10:48 -03:00
Fabio Rehm
514736bdd6 Rename old container references to driver 2013-04-05 22:10:48 -03:00
Fabio Rehm
082f7dc5d3 Rename Container to Driver 2013-04-05 22:10:48 -03:00
Fabio Rehm
4ebc691bda Fix custom I18n load path 2013-04-05 22:10:48 -03:00
Fabio Rehm
c433465432 Remove old comment 2013-04-05 22:10:48 -03:00
Fabio Rehm
164e57695e 💣 BaseAction 2013-04-05 22:10:48 -03:00
Fabio Rehm
0ad76b753a Add locale file to load path only when the provider is required 2013-04-05 22:10:48 -03:00
Fabio Rehm
1fcdc07a3a Remove crazy TODO note 2013-04-05 22:10:48 -03:00
Fabio Rehm
a23d38e263 Update Container#create to use the provided rootfs tarball 2013-04-05 22:10:48 -03:00
Fabio Rehm
efdcf035c3 Update HandleBoxMetadata action to not extract the rootfs and just set its path on metadata hash 2013-04-05 22:10:48 -03:00
Fabio Rehm
7626cda4e6 Up version for development 2013-04-04 23:00:09 -03:00
Fabio Rehm
152d4197ad v0.2.0 2013-03-31 13:29:50 -03:00
Fabio Rehm
edec52f004 HACK: Redirect rootfs extraction stderr to /dev/null as repackaged containers will output a lot of stuff (but it will still work fine :) 2013-03-30 19:23:06 -03:00
Fabio Rehm
23bb2e0733 Implement provider's package action 2013-03-30 19:19:38 -03:00
Fabio Rehm
0d9d80846e Add action to setup box package files 2013-03-30 19:18:52 -03:00
Fabio Rehm
9705483b21 Add action to compress container's rootfs 2013-03-30 19:18:05 -03:00
Fabio Rehm
08a949ab82 First stab at exporting container's rootfs 2013-03-30 19:17:13 -03:00
Fabio Rehm
b54dcdc57b Remove commented out actions that we wont implement 2013-03-30 16:54:46 -03:00
Fabio Rehm
846dc40d9b Up version for development 2013-03-29 13:50:20 -03:00
Fabio Rehm
3da1d20c38 Release 0.1.1 2013-03-29 12:48:00 -03:00
Fabio Rehm
78f8393536 Update comment reference 2013-03-29 12:31:36 -03:00
Fabio Rehm
31f60022d8 Allow setting guest ssh port from Vagrantfile 2013-03-29 12:29:24 -03:00
Fabio Rehm
306deaa0e2 Add support for configuring rootfs path
References #30
2013-03-29 12:24:39 -03:00
Fabio Rehm
c7c54457ce Remove unused constant 2013-03-29 12:21:55 -03:00
Fabio Rehm
844e6d3463 Remove lefover from arp calls. Closes #42 2013-03-29 12:20:14 -03:00
Fabio Rehm
d0f662a8c4 Skip Vagrant's built in ssh redirect 2013-03-29 03:04:53 -03:00
Fabio Rehm
976a6ebed7 Sets container name based on vagrant root path
Closes #14
2013-03-29 02:25:42 -03:00
Fabio Rehm
84f79869d5 Up version for development 2013-03-28 23:52:44 -03:00
Fabio Rehm
769e0af57e v0.1.0 2013-03-27 02:39:57 -03:00
Fabio Rehm
004ad783e3 Kill redir processes on machine halt 2013-03-26 22:14:31 -03:00
Fabio Rehm
399ab86d60 Add action for clearing forwarded ports 2013-03-26 22:14:31 -03:00
Fabio Rehm
0f3b99b376 Add port forwarding middleware to containers boot action 2013-03-26 22:14:31 -03:00
Fabio Rehm
dd99c56cda First stab at port forwarding with redir 2013-03-26 22:14:31 -03:00
Fabio Rehm
b4eb38e551 Update LXC::Action TODOs 2013-03-26 22:00:30 -03:00
Fabio Rehm
e6f4c93e9c Up version for development 2013-03-19 11:33:27 -03:00
Fabio Rehm
43a13e4d77 v0.0.3 2013-03-19 11:31:46 -03:00
Fabio Rehm
b5465ddab2 Add middleware to force ssh disconnect 2013-03-19 03:20:32 -03:00
Fabio Rehm
1609e6bdcb Bump version for development 2013-03-19 02:37:32 -03:00
Fabio Rehm
b4161ac8af Simplify container ip detection using lxc-attach + ifconfig
References: #31
2013-03-19 01:46:45 -03:00
Fabio Rehm
e8388743ca Add support for starting processes inside a running container using lxc-attach 2013-03-19 01:25:27 -03:00
Fabio Rehm
c6ec597182 Bump version 2013-03-14 22:28:43 -03:00
Fabio Rehm
6dcb118f86 Fix LXC_START_LOG_FILE support 2013-03-12 15:31:45 -03:00
Fabio Rehm
30ec42b36b Fix bug with lxc-start arguments 2013-03-12 15:10:25 -03:00
Fabio Rehm
4de5411a67 Logging output reviewed (closes #2) 2013-03-11 00:13:48 -03:00
Fabio Rehm
03f823130c Wait for container to be accessible after starting it 2013-03-11 00:12:01 -03:00
Fabio Rehm
59267d01e6 Get rid of a few TODOs that does not make sense anymore 2013-03-11 00:10:00 -03:00
Fabio Rehm
f2810da629 Add support for setting host name 2013-03-11 00:09:36 -03:00
Fabio Rehm
270cbd8a51 Move forced halt code into its own action 2013-03-11 00:08:28 -03:00
Fabio Rehm
431958899c Fix code related to Container#assigned_ip retryal attempts 2013-03-10 22:15:53 -03:00
Fabio Rehm
0f618a008e Ping everyone on the lxc-bridge subnet in case we cant identify container ip from arp
References #31
2013-03-10 21:57:47 -03:00
Fabio Rehm
550b926497 Clean up Container object by making use of the CLI 2013-03-10 21:15:43 -03:00
Fabio Rehm
228e03ecbe Implement CLI object required functionality to refactor the Container object 2013-03-10 21:15:43 -03:00
Fabio Rehm
567ede7db6 Begin to make use of CLI from LXC::Container 2013-03-10 19:23:05 -03:00
Fabio Rehm
811d9a4b29 Begin to extract a lxc cli object 2013-03-10 19:15:31 -03:00
Fabio Rehm
30b1420ced Ensure template-name and rootfs-cache-path are set prior to container creation 2013-03-10 02:34:17 -03:00
Fabio Rehm
1b9dcf5aad Comment out and remove blank actions 2013-03-10 02:33:22 -03:00
Fabio Rehm
d2a1eeeabc Use arp to grab container ip instead of dig (it seems to be more reliable)
References: #31
2013-03-10 01:55:18 -03:00
Fabio Rehm
238b5cd681 Move vendored_vagrant require to the right place 2013-03-10 00:45:27 -03:00
Fabio Rehm
62ecb3cee1 Remove leftover from spike 2013-03-10 00:39:05 -03:00
Fabio Rehm
9a168950fe First stab at handling a custom lxc-dhcp IP
Will help on #23
2013-03-08 04:32:47 -03:00
Fabio Rehm
759b1c5f80 Extract rootfs tar contents into a tmp folder to avoid headaches and
check if a lxc-template file was included on .box
2013-03-08 00:55:58 -03:00
Fabio Rehm
3d30418e53 Remove after create script support from box metadata 2013-03-07 02:44:06 -03:00
Fabio Rehm
cf2da28625 Handle new box metadata 2013-03-07 02:42:55 -03:00
Fabio Rehm
49963b532d Increase after-create-script sleep time between retries + add support for writing out lxc-start debugging logs 2013-03-05 01:10:40 -03:00
Fabio Rehm
5ec73c867b private network with IP: check
Closes #28
2013-03-05 01:10:28 -03:00
Fabio Rehm
d31769984f Handle box url from Vagrantfile
Closes #17
2013-03-04 19:40:40 -03:00
Fabio Rehm
3d72f4af02 Make use of Container#rootfs_path from #run_after_create_script 2013-03-04 01:18:50 -03:00
Fabio Rehm
953c2c8d55 debugging++ 2013-03-04 01:18:04 -03:00
Fabio Rehm
35f2c6eaf5 Check-in some TODOs and REFACTORs that have been around for a while 2013-03-04 01:16:45 -03:00
Fabio Rehm
2daabdf9fb Yes we have provisioners!
Closes #16
2013-03-04 01:10:09 -03:00
Fabio Rehm
b9bb1dff1a Fix issue with after create scripts 2013-03-04 01:09:12 -03:00
Fabio Rehm
f716dca6ab folder sharing: check
Closes #9
2013-03-03 23:21:13 -03:00
Fabio Rehm
50d86e927c Fix reference to message not created middleware 2013-03-03 23:16:02 -03:00
Fabio Rehm
71c1a401cc Add support for setting custom lxc-start arguments from Vagrantfile
Useful for #10
2013-03-03 04:37:07 -03:00
Fabio Rehm
169f92bf55 Graceful container shutdown 2013-03-03 03:22:44 -03:00
Fabio Rehm
479f9a0cdc Allow setting container hostname from Vagrantfile
Closes #15
2013-03-03 03:21:33 -03:00
Fabio Rehm
30d163d4bb Move action classes into their own files 2013-03-03 02:24:05 -03:00
Fabio Rehm
e8459de8cb Retry after create script execution and increase sleep time when trying to get container ip
Dont know why but I started getting a lot of timeouts so lets make the container
scripts wait a bit more before failing.
2013-03-03 01:21:01 -03:00
Fabio Rehm
cf8696d699 Copy and paste is evil 2013-03-03 00:32:41 -03:00
Fabio Rehm
330b90fa10 Fix ping command 2013-03-03 00:21:41 -03:00
Fabio Rehm
7b68802dd2 Make sure the machine is accessible when checking for the dhcp ip 2013-03-02 23:30:16 -03:00
Fabio Rehm
274f7c7b8a Provide --cache-path to lxc templates on creation 2013-03-02 23:12:26 -03:00
Fabio Rehm
61c4982fde Vendorize vagrant
Closes #19
2013-03-02 20:36:06 -03:00
Fabio Rehm
f87dca9537 vagrant ssh: check 2013-03-02 16:48:15 -03:00
Fabio Rehm
a8cf5deee2 Add middleware to run after create script on vagrant up 2013-03-02 16:47:44 -03:00
Fabio Rehm
22e5a48af5 Add ssh_info to provider 2013-03-02 16:45:14 -03:00
Fabio Rehm
a9acde7da1 Prepends box directory to after-create-script defined on box metadata 2013-03-02 16:43:27 -03:00
Fabio Rehm
10655d4c30 Add support for running scripts after container creation 2013-03-02 16:38:53 -03:00
Fabio Rehm
6afd4c5d9a Add support for grabbing the container ip from lxc dns server 2013-03-02 16:34:08 -03:00
Fabio Rehm
79efbe9cd0 Make use of box metadata for creating containers 2013-03-02 12:17:04 -03:00
Fabio Rehm
849e9c73d7 Rename LXC::Actions to LXC::Action 2013-03-02 03:57:03 -03:00
Fabio Rehm
b8e5a9fa1c lxc-destroy: check 2013-03-02 01:34:47 -03:00
Fabio Rehm
b02cf9c5e8 Clear machine id after container destruction in order to be able to use its name with lxc-destroy 2013-03-02 01:34:13 -03:00
Fabio Rehm
da534c3b0e lxc-shutdown: check 2013-03-02 01:20:27 -03:00
Fabio Rehm
5291f13316 Handle stale machine id / container name 2013-03-02 01:18:38 -03:00
Fabio Rehm
661b00ea22 Remove LXC::Container dependency on a vagrant machine 2013-03-02 00:55:45 -03:00
Fabio Rehm
8ca90f1071 Use STOPPED status to identify if machine is off 2013-03-02 00:11:29 -03:00
Fabio Rehm
e128b59241 Use lxc-info to determine machine state 2013-03-02 00:07:29 -03:00
Fabio Rehm
ce8902574c Fix public key path 2013-03-02 00:03:48 -03:00
Fabio Rehm
227a598917 Clean up specs 2013-03-01 23:27:08 -03:00
Fabio Rehm
4a9d74514e Waits for container to be running after "lxc-start"ing it 2013-03-01 23:08:17 -03:00
Fabio Rehm
f1623a9136 lxc-wait: check 2013-03-01 23:07:15 -03:00
Fabio Rehm
e9a5385c02 lxc-start: check 2013-03-01 22:47:02 -03:00
Fabio Rehm
8b8bfe739b lxc-create: check 2013-03-01 21:52:13 -03:00
Fabio Rehm
7168da249e Extract container object 2013-03-01 00:34:51 -03:00
Fabio Rehm
1bdd3f87a6 Hook up provider with some "placeholder" actions 2013-02-28 00:21:59 -03:00
Fabio Rehm
faa2aaa6ab Scaffold config, plugin and provider classes 2013-02-28 00:20:54 -03:00
Fabio Rehm
f40d3a1a96 Add custom machine state class with some convenience methods (like #created? and #off?) 2013-02-28 00:12:34 -03:00
Fabio Rehm
48c03d288d Gem boilerplate 2013-02-25 20:09:32 -03:00