Merge pull request #89 from mffrench/add-default-network-and-ssh-key-file-parameters

Add default network and ssh key file parameters
This commit is contained in:
Dmitry Vasilets
2013-12-03 12:10:21 -08:00
4 changed files with 21 additions and 6 deletions

View File

@@ -97,8 +97,9 @@ This provider exposes quite a few provider-specific configuration options:
* `connect_via_ssh` - If use ssh tunnel to connect to Libvirt.
* `username` - Username and password to access Libvirt.
* `password` - Password to access Libvirt.
* `storage_pool_name` - Libvirt storage pool name, where box image and
instance snapshots will be stored.
* `id_ssh_key_file` - The id ssh key file name to access Libvirt (eg: id_dsa or id_rsa or ... in the user .ssh directory)
* `storage_pool_name` - Libvirt storage pool name, where box image and instance snapshots will be stored.
* `default_network` - Libvirt default network name. If not specified default network name is 'default'.
### Domain Specific Options

View File

@@ -53,9 +53,12 @@ module VagrantPlugins
uri << virt_path
uri << '?no_verify=1'
# set ssh key for access to libvirt host
home_dir = `echo ${HOME}`.chomp
uri << "&keyfile=#{home_dir}/.ssh/id_rsa"
if config.id_ssh_key_file
# set ssh key for access to libvirt host
home_dir = `echo ${HOME}`.chomp
uri << "&keyfile=#{home_dir}/.ssh/"+config.id_ssh_key_file
end
conn_attr = {}
conn_attr[:provider] = 'libvirt'

View File

@@ -16,6 +16,7 @@ module VagrantPlugins
def initialize(app, env)
@logger = Log4r::Logger.new('vagrant_libvirt::action::create_network_interfaces')
@default_network = env[:machine].provider_config.default_network;
@app = app
end
@@ -151,7 +152,7 @@ module VagrantPlugins
end
# TODO Network default can be missing or named different.
return 'default'
return @default_network;
end
end
end

View File

@@ -18,10 +18,16 @@ module VagrantPlugins
# Password for Libvirt connection.
attr_accessor :password
# ID SSH key file
attr_accessor :id_ssh_key_file
# Libvirt storage pool name, where box image and instance snapshots will
# be stored.
attr_accessor :storage_pool_name
# Libvirt default network
attr_accessor :default_network
# Domain specific settings used while creating new domain.
attr_accessor :memory
attr_accessor :cpus
@@ -34,7 +40,9 @@ module VagrantPlugins
@connect_via_ssh = UNSET_VALUE
@username = UNSET_VALUE
@password = UNSET_VALUE
@id_ssh_key_file = UNSET_VALUE
@storage_pool_name = UNSET_VALUE
@default_network = UNSET_VALUE
# Domain specific settings.
@memory = UNSET_VALUE
@@ -49,7 +57,9 @@ module VagrantPlugins
@connect_via_ssh = false if @connect_via_ssh == UNSET_VALUE
@username = nil if @username == UNSET_VALUE
@password = nil if @password == UNSET_VALUE
@id_ssh_key_file = nil if @id_ssh_key_file == UNSET_VALUE
@storage_pool_name = 'default' if @storage_pool_name == UNSET_VALUE
@default_network = 'default' if @default_network == UNSET_VALUE
# Domain specific settings.
@memory = 512 if @memory == UNSET_VALUE