class VagrantPlugins::Openstack::Action::InternalProvisionWrapper
Public Class Methods
new(app, env)
click to toggle source
Calls superclass method
# File lib/vagrant-openstack-provider/action/provision.rb, line 28 def initialize(app, env) @logger = Log4r::Logger.new('vagrant_openstack::action::internal_provision_wrapper') super app, env end
Public Instance Methods
run_provisioner(env)
click to toggle source
# File lib/vagrant-openstack-provider/action/provision.rb, line 33 def run_provisioner(env) if env[:provisioner].is_a?(Vagrant.plugin('2').manager.provisioners[:shell]) handle_shell_meta_args(env) end env[:provisioner].provision end
Private Instance Methods
handle_shell_meta_args(env)
click to toggle source
# File lib/vagrant-openstack-provider/action/provision.rb, line 42 def handle_shell_meta_args(env) config = env[:provisioner].config args = config.args.nil? ? [] : [config.args].flatten config.args = [] @logger.info "Shell provisioner args: #{args}" args.each do |arg| if '@@ssh_ip@@'.eql? arg ssh_info = VagrantPlugins::Openstack::Action.get_ssh_info(env) @logger.info "Replace meta-arg #{arg} by value #{ssh_info[:host]}" config.args << ssh_info[:host] else config.args << arg end end end