vagrant-libvirt 0.0.19 → 0.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/lib/vagrant-libvirt/action/create_network_interfaces.rb +2 -0
- data/lib/vagrant-libvirt/action/forward_ports.rb +2 -0
- data/lib/vagrant-libvirt/action/set_name_of_domain.rb +6 -4
- data/lib/vagrant-libvirt/config.rb +5 -0
- data/lib/vagrant-libvirt/version.rb +1 -1
- data/locales/en.yml +2 -0
- data/spec/support/environment_helper.rb +3 -5
- data/spec/vagrant-libvirt/action/set_name_of_domain_spec.rb +8 -1
- data/vagrant-libvirt.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83974c73aa002ac05b8add5ba4b4e3adff53c729
|
4
|
+
data.tar.gz: 00d6184e958b478752de82b38150b98d5328eafd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 846e3a40da1e4223aaada5eed447656c339127da0b81a47a27009b338c7f9a3bde75108ea8ed2070b71c06b03ce0ca9779e6f592bd12c81da1456bc2d2e34430
|
7
|
+
data.tar.gz: 6f38f979224bbeed6f37fee8ffc54c6f8f2fc7d4c51a3bbd9cd2b1b416bda942d3b02f53eb776378b12621e37da566433c0751b5638769456dbf823e8a552faf
|
data/README.md
CHANGED
@@ -148,6 +148,7 @@ end
|
|
148
148
|
* `volume_cache` - Controls the cache mechanism. Possible values are "default", "none", "writethrough", "writeback", "directsync" and "unsafe". [See driver->cache in libvirt documentation](http://libvirt.org/formatdomain.html#elementsDisks).
|
149
149
|
* `kernel` - To launch the guest with a kernel residing on host filesystems. Equivalent to qemu `-kernel`.
|
150
150
|
* `initrd` - To specify the initramfs/initrd to use for the guest. Equivalent to qemu `-initrd`.
|
151
|
+
* `random_hostname` - To create a domain name with extra information on the end to prevent hostname conflicts.
|
151
152
|
* `cmd_line` - Arguments passed on to the guest kernel initramfs or initrd to use. Equivalent to qemu `-append`.
|
152
153
|
|
153
154
|
|
@@ -81,6 +81,7 @@ module VagrantPlugins
|
|
81
81
|
message = "Creating network interface eth#{@iface_number}"
|
82
82
|
message << " connected to network #{@network_name}."
|
83
83
|
if @mac
|
84
|
+
@mac = @mac.scan(/(\h{2})/).join(':')
|
84
85
|
message << " Using MAC address: #{@mac}"
|
85
86
|
end
|
86
87
|
@logger.info(message)
|
@@ -105,6 +106,7 @@ module VagrantPlugins
|
|
105
106
|
# It's used for provisioning and it has to be available during provisioning,
|
106
107
|
# ifdown command is not acceptable here.
|
107
108
|
next if slot_number == 0
|
109
|
+
next if options[:auto_config] === false
|
108
110
|
@logger.debug "Configuring interface slot_number #{slot_number} options #{options}"
|
109
111
|
|
110
112
|
network = {
|
@@ -97,6 +97,8 @@ module VagrantPlugins
|
|
97
97
|
"IdentityFile=#{pk}"
|
98
98
|
end).map { |s| s.prepend('-o ') }.join(' ')
|
99
99
|
|
100
|
+
options += " -o ProxyCommand=\"#{ssh_info[:proxy_command]}\"" if machine.provider_config.connect_via_ssh
|
101
|
+
|
100
102
|
# TODO: instead of this, try and lock and get the stdin from spawn...
|
101
103
|
ssh_cmd = ''
|
102
104
|
if host_port <= 1024
|
@@ -35,13 +35,13 @@ module VagrantPlugins
|
|
35
35
|
end
|
36
36
|
|
37
37
|
# build domain name
|
38
|
-
#
|
38
|
+
# random_hostname option avoids
|
39
|
+
# `domain about to create is already taken`
|
39
40
|
# parsable and sortable by epoch time
|
40
41
|
# @example
|
41
42
|
# development-centos-6-chef-11_1404488971_3b7a569e2fd7c554b852
|
42
43
|
# @return [String] libvirt domain name
|
43
44
|
def build_domain_name(env)
|
44
|
-
postfix = "#{Time.now.utc.to_i}_#{SecureRandom.hex(10)}"
|
45
45
|
config = env[:machine].provider_config
|
46
46
|
domain_name =
|
47
47
|
if config.default_prefix.nil?
|
@@ -49,8 +49,11 @@ module VagrantPlugins
|
|
49
49
|
else
|
50
50
|
config.default_prefix.to_s
|
51
51
|
end
|
52
|
+
domain_name << '_'
|
53
|
+
domain_name << env[:machine].name.to_s
|
52
54
|
domain_name.gsub!(/[^-a-z0-9_]/i, '')
|
53
|
-
domain_name << "_#{
|
55
|
+
domain_name << "_#{Time.now.utc.to_i}_#{SecureRandom.hex(10)}" if config.random_hostname
|
56
|
+
domain_name
|
54
57
|
end
|
55
58
|
|
56
59
|
end
|
@@ -58,4 +61,3 @@ module VagrantPlugins
|
|
58
61
|
end
|
59
62
|
end
|
60
63
|
end
|
61
|
-
|
@@ -40,6 +40,9 @@ module VagrantPlugins
|
|
40
40
|
# be stored.
|
41
41
|
attr_accessor :storage_pool_name
|
42
42
|
|
43
|
+
# Turn on to prevent hostname conflicts
|
44
|
+
attr_accessor :random_hostname
|
45
|
+
|
43
46
|
# Libvirt default network
|
44
47
|
attr_accessor :management_network_name
|
45
48
|
attr_accessor :management_network_address
|
@@ -70,6 +73,7 @@ module VagrantPlugins
|
|
70
73
|
@password = UNSET_VALUE
|
71
74
|
@id_ssh_key_file = UNSET_VALUE
|
72
75
|
@storage_pool_name = UNSET_VALUE
|
76
|
+
@random_hostname = UNSET_VALUE
|
73
77
|
@management_network_name = UNSET_VALUE
|
74
78
|
@management_network_address = UNSET_VALUE
|
75
79
|
|
@@ -182,6 +186,7 @@ module VagrantPlugins
|
|
182
186
|
@password = nil if @password == UNSET_VALUE
|
183
187
|
@id_ssh_key_file = 'id_rsa' if @id_ssh_key_file == UNSET_VALUE
|
184
188
|
@storage_pool_name = 'default' if @storage_pool_name == UNSET_VALUE
|
189
|
+
@random_hostname = false if @random_hostname == UNSET_VALUE
|
185
190
|
@management_network_name = 'vagrant-libvirt' if @management_network_name == UNSET_VALUE
|
186
191
|
@management_network_address = '192.168.121.0/24' if @management_network_address == UNSET_VALUE
|
187
192
|
|
data/locales/en.yml
CHANGED
@@ -3,7 +3,9 @@ require "pathname"
|
|
3
3
|
|
4
4
|
class EnvironmentHelper
|
5
5
|
|
6
|
-
attr_writer :
|
6
|
+
attr_writer :domain_name
|
7
|
+
|
8
|
+
attr_accessor :random_hostname, :name, :default_prefix
|
7
9
|
|
8
10
|
def [](value)
|
9
11
|
self.send(value.to_sym)
|
@@ -17,10 +19,6 @@ class EnvironmentHelper
|
|
17
19
|
self
|
18
20
|
end
|
19
21
|
|
20
|
-
def default_prefix
|
21
|
-
# noop
|
22
|
-
end
|
23
|
-
|
24
22
|
def root_path
|
25
23
|
Pathname.new("./spec/support/foo")
|
26
24
|
end
|
@@ -5,10 +5,17 @@ describe VagrantPlugins::ProviderLibvirt::Action::SetNameOfDomain do
|
|
5
5
|
@env = EnvironmentHelper.new
|
6
6
|
end
|
7
7
|
|
8
|
-
it "builds
|
8
|
+
it "builds unique domain name" do
|
9
|
+
@env.random_hostname = true
|
9
10
|
dmn = VagrantPlugins::ProviderLibvirt::Action::SetNameOfDomain.new(Object.new, @env)
|
10
11
|
first = dmn.build_domain_name(@env)
|
11
12
|
second = dmn.build_domain_name(@env)
|
12
13
|
first.should_not eq(second)
|
13
14
|
end
|
15
|
+
|
16
|
+
it "builds simple domain name" do
|
17
|
+
@env.default_prefix= 'pre'
|
18
|
+
dmn = VagrantPlugins::ProviderLibvirt::Action::SetNameOfDomain.new(Object.new, @env)
|
19
|
+
dmn.build_domain_name(@env).should eq('pre_')
|
20
|
+
end
|
14
21
|
end
|
data/vagrant-libvirt.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |gem|
|
|
22
22
|
|
23
23
|
gem.add_runtime_dependency 'fog', '~> 1.15'
|
24
24
|
gem.add_runtime_dependency 'ruby-libvirt', '~> 0.4.0'
|
25
|
-
gem.add_runtime_dependency 'nokogiri', '~> 1.
|
25
|
+
gem.add_runtime_dependency 'nokogiri', '~> 1.6'
|
26
26
|
|
27
27
|
gem.add_development_dependency 'rake'
|
28
28
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-libvirt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lukas Stanek
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-09-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rspec-core
|
@@ -88,14 +88,14 @@ dependencies:
|
|
88
88
|
requirements:
|
89
89
|
- - "~>"
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: 1.
|
91
|
+
version: '1.6'
|
92
92
|
type: :runtime
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - "~>"
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: 1.
|
98
|
+
version: '1.6'
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: rake
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|