class VagrantPlugins::OpenStack::Action::ConnectOpenStack

This action connects to OpenStack, verifies credentials work, and puts the OpenStack connection object into the ‘:openstack_compute` key in the environment.

Public Class Methods

new(app, env) click to toggle source
# File lib/vagrant-openstack/action/connect_openstack.rb, line 11
def initialize(app, env)
  @app    = app
  @logger = Log4r::Logger.new("vagrant_openstack::action::connect_openstack")
end

Public Instance Methods

call(env) click to toggle source
# File lib/vagrant-openstack/action/connect_openstack.rb, line 16
def call(env)
  # Get the configs
  config   = env[:machine].provider_config
  @logger.info("Connecting to OpenStack Compute...")
  env[:openstack_compute] = Fog::Compute.new({
                :provider => :openstack,
                :openstack_region => config.region,
                :openstack_username => config.username,
                :openstack_api_key => config.api_key,
                :openstack_auth_url => config.endpoint,
                :openstack_tenant => config.tenant
            })

  @app.call(env)
end