Commit graph

174 commits

Author SHA1 Message Date
Virgil Dupras
dd24cdc3d6 Fix incompatibility with LXC 3.0
LXC 3.0, unlike 2.1, doesn't support old configuration formats at all
and because our previous approach to handling old format was incomplete,
running `vagrant up` on a system with LXC 3.0 would fail, even if the
base box itself was made with modernized config.

This commit fixes this problem: is the box has a modern config, it's
going to be properly created and booted under LXC 3.0. It does so
without breaking the support for LXC < 2.1
2018-04-29 22:57:31 -04:00
Lucas Kanashiro
2e20f96fec Support the new redir 3.x command line interface
Since redir 2.x upstream is not evolving it, Joachim Nilsson adopted it
and have started to work on it and publish a new command line interface
(check out https://github.com/troglobit/redir). The redir 3.1 is already
available in Debian and Ubuntu in their stable releases.
2018-03-12 13:09:06 -03:00
Virgil Dupras
2b08ae199f driver: little cleanup after LXC 1.0+ requirement bump
The conditional `lxc-version` and `lxc-config` mechanisms aren't needed
anymore. They were for pre-1.0 LXC versions.
2018-01-13 20:34:41 -05:00
Virgil Dupras
aa777653f4 Use lxc-info instead of lxc-attach to retrieve container IP
`lxc-info -iH` to retrieve IP address was not available in early LXC
development but was there at LXC 1.0. Because we've bumped our minimum
LXC requirement to v1.0 recently, we can simplify the IP retrieval
process and also get rid of the `dnsmasq` fallback.
2018-01-13 15:53:28 -05:00
Virgil Dupras
97b5882262 Refactoring: make SudoWrapper a bit more self-contained
By looking at the code, it seems that it was a goal to make the sudo
wrapper path configurable through the Vagrantfile, but it wasn't
effective and didn't make much sense (that kind of config is a per-host
config, not a per-guest one).

This caused the cause to be needlessly complex by giving the Provider
the responsibility of instanciating the wrapper. This commit gets rid of
that.

I didn't get rid of `sudo_wrapper` injection in `Driver` and
`Driver::CLI` constructors because they're needed for tests. I'm not
ready to tackle this yet.
2018-01-13 08:32:27 -05:00
Robin Gloster
9c67e13fb8 Fix test on NixOS
Tempfile can be created in /run, too.
2015-08-02 10:15:55 +00:00
Robin Gloster
2b91983cae do not copy the lxc template instead use the full path 2015-08-02 10:15:55 +00:00
Antonio Terceiro
81f2c13541 forward_ports: bind to localhost only by default
This has been raised as security concern on vagrant itself, and fixed
there some time ago.
2015-07-19 12:29:27 -03:00
Cam Cope
caa3c53a8f move mountpoint creation to lxc template for lvm rootfs support 2015-04-05 17:46:22 -07:00
Fabio Rehm
156bc015c8 Allow backingstore options to be used along with the sudo wrapper script [GH-310] 2015-01-14 21:07:35 -02:00
Fabio Rehm
f4b738ebd9 Minor tweaks to specs introduced by GH-329 2015-01-11 21:16:30 -02:00
Tim Goddard
fe532525c8 Support for formatted overlayfs path spec when finding the root FS path
We're using snapshots in a CI set-up so that a Vagrant cluster can be built
once, then each push to the repository only checked as an incremental
update to the cluster. We copy each LXC VM to a master image, then re-create
the original names as snapshots.

This change corrects a method which assumes the LXC root path in the config
file is a simple directory name, which is only true for directory-backed
instances.

Conflicts:
	spec/unit/driver_spec.rb
2014-11-12 15:21:28 +13:00
Fabio Rehm
2f0eccb236 🔨 Fix the build 🔨 2014-10-15 01:14:52 -03:00
Azamat Khudaygulov
f454924a59 The path of storage containers taken from lxc-config, instead of using a constant for lxc>=1.0.0.
* for lxc to 1.0.0 using constant Vagrant::LXC::Driver::DEFAULT_CONTAINERS_PATH
 * change method Vagrant::LXC::Driver::CLI#version to call lxc-create if lxc-version command not exists (to lxc version 1.0.0)
2014-09-23 16:07:03 +04:00
Fabio Rehm
80d54bb261 Fix the build 2014-07-24 21:58:04 -03:00
Fabio Rehm
3e22f424e6 driver: Escape synced folders with spaces
Fix GH-291
2014-06-08 23:27:27 -03:00
Fabio Rehm
235f268942 Backport some specs 2014-06-08 22:52:33 -03:00
Fabio Rehm
c94e765391 Fix the build 2014-05-12 23:17:04 -03:00
Fabio Rehm
5eef1524d7 driver: Use relative guest paths for synced folders
Closes GH-258
2014-05-04 20:52:00 -03:00
Fabio Rehm
b17fb7baa8 Fix broken specs 2014-05-04 20:50:04 -03:00
Fabio Rehm
9838d32c2d action/forward_ports: Merge port forwarding with sudo specs into a single file [GH-259] 2014-05-03 23:31:43 -03:00
Fabio Rehm
a0fe2f9cf0 action/clear_forwarded_ports: Fix privileged port detection and simplify code [GH-259] 2014-05-03 23:28:59 -03:00
Fabio Rehm
ee63d2b2ae Merge branch 'sudo-for-redir' of https://github.com/guerremdq/vagrant-lxc 2014-05-03 23:14:29 -03:00
Jef Mathiot
0eae5c0926 Removed unsecure calls to SudoWrapper#su_c. 2014-04-17 12:56:56 +02:00
idontdomath
d8d371984b enabled warning on the used environment for forward ports spec.
removed warn checks on test were the condition didn't apply.
2014-03-29 20:21:14 -03:00
Facundo Guerrero
36b38b7664 add expect for warn message 2014-03-27 15:25:12 -03:00
guerremdq
697d8bde08 only use sudo with redir when port number is lower than 1024 2014-03-23 13:39:42 -03:00
Fabio Rehm
c2d0e0a02c spec: Embrace rspec3 2014-03-21 19:31:34 -03:00
Fabio Rehm
164afc7839 package: Nicely handle optional lxc-template on base boxes when packaging 2014-03-21 19:30:28 -03:00
Fabio Rehm
2e2c2fad56 Convert specs to RSpec 2.99.0.beta2 syntax with Transpec
This conversion is done by Transpec 1.10.2 with the following command:
    transpec

* 46 conversions
    from: obj.should
      to: expect(obj).to

* 20 conversions
    from: obj.stub(:message)
      to: allow(obj).to receive(:message)

* 10 conversions
    from: == expected
      to: eq(expected)

* 6 conversions
    from: obj.should_receive(:message)
      to: expect(obj).to receive(:message)

* 5 conversions
    from: obj.should_not
      to: expect(obj).not_to

* 5 conversions
    from: Klass.any_instance.stub(:message) { |arg| }
      to: Klass.any_instance.stub(:message) { |instance, arg| }

* 5 conversions
    from: Klass.any_instance.stub(:message)
      to: allow_any_instance_of(Klass).to receive(:message)

* 1 conversion
    from: lambda { }.should
      to: expect { }.to
2014-03-14 11:38:54 -03:00
Fabio Rehm
60f3a67bb0 Make sure Vagrant::LXC.source_root is available to all specs 2014-03-14 11:34:46 -03:00
Fabio Rehm
2cdbf84848 I've tested this by hand and it will take us some effort to get rid of the excessive mocking I wrote 2014-03-14 11:21:45 -03:00
Fabio Rehm
eb274e879c Fix spec 2014-03-14 11:21:45 -03:00
Fabio Rehm
20d4547044 synced_folder: Support for mount_options 2014-03-13 23:36:15 -03:00
Fabio Rehm
0aac50fa76 package: Add spec to check that the plugin does not blow up in case the new lxc-config file is not present 2014-03-13 00:57:37 -03:00
Fabio Rehm
38ae9441fc package: lxc-config should be included when repackaging boxes 2014-03-13 00:57:37 -03:00
Fabio Rehm
36f7daa528 💣 hand made sanity checks (vagrant-spec is coming in!) 2014-03-13 00:57:36 -03:00
Fabio Rehm
aef40d5b42 core: Fix tests to be rspec 3.0 compatible [GH-111] 2014-03-13 00:57:36 -03:00
Fabio Rehm
deac5930cc action/handle_box_metadata: Implement support for 1.0.0 base boxes 2014-03-09 21:21:39 -03:00
Fabio Rehm
44f00bd7ed Add spec to check if container state detection is case insentive [GH-217] 2014-02-12 01:47:23 -02:00
Fabio Rehm
7e00b96520 Show something meaningful to the user in case the container already exists [GH-132] 2014-02-02 19:27:08 -02:00
Fabio Rehm
bf6e4b5c89 Respect Vagrantfile options to disable forwarded port
Closes GH-149
2013-11-06 21:01:21 -02:00
Fabio Rehm
c61ade8ef4 Nicely handle nil values for :host_ip when specifying forwarded ports
Fix GH-170
2013-11-06 20:25:46 -02:00
Fabio Rehm
02f85e4e59 Couple of tweaks to acceptance specs
This will be eventually converted to Bats...
2013-11-06 01:11:38 -02:00
Fabio Rehm
2b062487bc Hack in a fix for hosts that do not have lxc-shutdown around [GH-150] 2013-10-24 11:47:15 -02:00
Vokhmin Alexey V
39515cc1da #157: small refactoring, updated specs 2013-10-12 02:15:12 +04:00
Fabio Rehm
c194b3a24a Fix lxc-attach --namespaces support detection and cache the result 2013-10-03 13:26:04 -03:00
Fabio Rehm
ca0d8d53a5 Fix broken specs 2013-10-03 10:38:42 -03:00
Fabio Rehm
6bbc7c5e91 Couple of tweaks on Vagrantfile used for acceptance testing 2013-09-28 01:47:34 -03:00
Fabio Rehm
cf73a843d0 Do not worry about transition to running state when starting a container, this is handled from outside 2013-09-12 01:12:07 -03:00