diff --git a/lib/vagrant-lxc/action/fetch_ip_with_lxc_attach.rb b/lib/vagrant-lxc/action/fetch_ip_with_lxc_attach.rb index 25baa7b..0e5d28f 100644 --- a/lib/vagrant-lxc/action/fetch_ip_with_lxc_attach.rb +++ b/lib/vagrant-lxc/action/fetch_ip_with_lxc_attach.rb @@ -19,9 +19,11 @@ module Vagrant end def assigned_ip(env) + config = env[:machine].provider_config + fetch_ip_tries = config.fetch_ip_tries driver = env[:machine].provider.driver ip = '' - retryable(:on => LXC::Errors::ExecuteError, :tries => 20, :sleep => 3) do + retryable(:on => LXC::Errors::ExecuteError, :tries => fetch_ip_tries, :sleep => 3) do unless ip = get_container_ip_from_ip_addr(driver) # retry raise LXC::Errors::ExecuteError, :command => "lxc-attach" diff --git a/lib/vagrant-lxc/config.rb b/lib/vagrant-lxc/config.rb index e727f9f..b6b5da3 100644 --- a/lib/vagrant-lxc/config.rb +++ b/lib/vagrant-lxc/config.rb @@ -18,12 +18,15 @@ module Vagrant # machine name, set this to :machine attr_accessor :container_name + attr_accessor :fetch_ip_tries + def initialize @customizations = [] @backingstore = UNSET_VALUE @backingstore_options = [] @sudo_wrapper = UNSET_VALUE @container_name = UNSET_VALUE + @fetch_ip_tries = 10 end # Customize the container by calling `lxc-start` with the given