Commit graph

441 commits

Author SHA1 Message Date
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
6a1b24aaac Remove vendored vagrant code and gem dependencies 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
7e48b572d7 Add vagrant-lxc locales to I18n load path 2013-03-01 20:42:56 -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
a5b4817f86 Move provider spike related code out of the way 2013-02-27 19:50:34 -03:00
Fabio Rehm
48c03d288d Gem boilerplate 2013-02-25 20:09:32 -03:00
Fabio Rehm
55c9be772d Not so initial commit 2013-02-25 02:04:31 -03:00