vagrant-vsphere 0.15.0 → 0.16.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c011d25a3f928fd80cd7fc8c9df74e647de432a8
4
- data.tar.gz: c4f6350c4ac9090a4fa87a167f9ae73e18069768
3
+ metadata.gz: 86bbc3afad22bc9be46d1ea266be3eb020251f29
4
+ data.tar.gz: 576d495fee241d31b5954b1bb55886bc7438b7e4
5
5
  SHA512:
6
- metadata.gz: 51261468c611ba92faf5803e6883b7fa5219efe4c4be61a18cd54c42122a9bc6a8afd8261b9dcd26f7508d6dbec569916bf505021a34921c97ce550410830325
7
- data.tar.gz: 45038a038b302e6c82a06d8e9bf459f35daa25f329b937ca1795d32795217383e2a17a57dcec9195b3978e58f876d98442dc5680cc43566a9841362c256aac0f
6
+ metadata.gz: 8f62c938f26de6ef905bf1d97899ff095630c4c165bd328ec8c9d6f2d7a1dafad4ace951cca5b4fd23c173936b89d23c9e285917b9f5d44593704395b95d48fc
7
+ data.tar.gz: f0a47dd6662ea81107f5a64761b5416933310739613dd19140de3416d37524f19c27c74a9b0b959dfee5ea1264ab11d54c854fc416763acd48e6f65f8f1e475d
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 0.15.0
2
+ current_version = 0.16.0
3
3
  tag = true
4
4
  commit = true
5
5
 
data/README.md CHANGED
@@ -12,9 +12,9 @@ This provider is built on top of the [RbVmomi](https://github.com/vmware/rbvmomi
12
12
  * libxml2, libxml2-dev, libxslt, libxslt-dev
13
13
 
14
14
  ## Current Version
15
- **version: 0.15.0**
15
+ **version: 0.16.0**
16
16
 
17
- vagrant-vsphere (**version: 0.15.0**) is available from [RubyGems.org](https://rubygems.org/gems/vagrant-vsphere)
17
+ vagrant-vsphere (**version: 0.16.0**) is available from [RubyGems.org](https://rubygems.org/gems/vagrant-vsphere)
18
18
 
19
19
  ## Installation
20
20
 
@@ -101,6 +101,7 @@ This provider has the following settings, all are required unless noted:
101
101
  * `proxy_host` - _Optional_ proxy host name for connecting to vSphere via proxy
102
102
  * `proxy_port` - _Optional_ proxy port number for connecting to vSphere via proxy
103
103
  * `vlan` - _Optional_ vlan to connect the first NIC to
104
+ * `memory_mb` - _Optional_ Configure the amount of memory (in MB) for the new VM
104
105
 
105
106
  ### Cloning from a VM rather than a template
106
107
 
@@ -192,6 +193,7 @@ This is useful if running Vagrant from multiple directories or if multiple machi
192
193
  * If the VM is powered on, then it is powered off, and destroyed.
193
194
  * If the VM is powered off, it is just destroyed.
194
195
  * If the VM is suspended, it is powered on, then powered off, then destroyed.
196
+ * 0.16.0 Add ability to configure amount of memory the new cloned VM will have [#94 rylarson:add-memory-configuration](https://github.com/nsidc/vagrant-vsphere/pull/94).
195
197
 
196
198
 
197
199
  ## Versioning
@@ -28,10 +28,12 @@ module VagrantPlugins
28
28
  begin
29
29
  location = get_location connection, machine, config, template
30
30
  spec = RbVmomi::VIM.VirtualMachineCloneSpec :location => location, :powerOn => true, :template => false
31
+ spec[:config] = RbVmomi::VIM.VirtualMachineConfigSpec
31
32
  customization_info = get_customization_spec_info_by_name connection, machine
32
33
 
33
34
  spec[:customization] = get_customization_spec(machine, customization_info) unless customization_info.nil?
34
35
  add_custom_vlan(template, dc, spec, config.vlan) unless config.vlan.nil?
36
+ add_custom_memory(spec, config.memory_mb) unless config.memory_mb.nil?
35
37
 
36
38
  env[:ui].info I18n.t('vsphere.creating_cloned_vm')
37
39
  env[:ui].info " -- #{config.clone_from_vm ? "Source" : "Template"} VM: #{template.pretty_path}"
@@ -137,7 +139,7 @@ module VagrantPlugins
137
139
  end
138
140
 
139
141
  def add_custom_vlan(template, dc, spec, vlan)
140
- spec[:config] = RbVmomi::VIM.VirtualMachineConfigSpec(:deviceChange => Array.new)
142
+ spec[:config][:deviceChange] = []
141
143
  network = get_network_by_name(dc, vlan)
142
144
  config = template.config
143
145
  card = config.hardware.device.grep(RbVmomi::VIM::VirtualEthernetCard).first or fail Errors::VSphereError, :missing_network_card
@@ -151,6 +153,10 @@ module VagrantPlugins
151
153
  dev_spec = RbVmomi::VIM.VirtualDeviceConfigSpec(:device => card, :operation => "edit")
152
154
  spec[:config][:deviceChange].push dev_spec
153
155
  end
156
+
157
+ def add_custom_memory(spec, memory_mb)
158
+ spec[:config][:memoryMB] = Integer(memory_mb)
159
+ end
154
160
  end
155
161
  end
156
162
  end
@@ -20,6 +20,7 @@ module VagrantPlugins
20
20
  attr_accessor :proxy_host
21
21
  attr_accessor :proxy_port
22
22
  attr_accessor :vlan
23
+ attr_accessor :memory_mb
23
24
 
24
25
  def validate(machine)
25
26
  errors = _detected_errors
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module VSphere
3
- VERSION = '0.15.0'
3
+ VERSION = '0.16.0'
4
4
  end
5
5
  end
data/spec/clone_spec.rb CHANGED
@@ -12,7 +12,8 @@ describe VagrantPlugins::VSphere::Action::Clone do
12
12
  expect(@template).to have_received(:CloneVM_Task).with({
13
13
  :folder => @data_center,
14
14
  :name => NAME,
15
- :spec => {:location => {:pool => @child_resource_pool} }
15
+ :spec => {:location => {:pool => @child_resource_pool},
16
+ :config => RbVmomi::VIM.VirtualMachineConfigSpec }
16
17
  })
17
18
  end
18
19
 
@@ -25,7 +26,8 @@ describe VagrantPlugins::VSphere::Action::Clone do
25
26
  expect(@template).to have_received(:CloneVM_Task).with({
26
27
  :folder => custom_base_folder,
27
28
  :name => NAME,
28
- :spec => {:location => {:pool => @child_resource_pool} }
29
+ :spec => {:location => {:pool => @child_resource_pool},
30
+ :config => RbVmomi::VIM.VirtualMachineConfigSpec }
29
31
  })
30
32
  end
31
33
 
@@ -55,11 +57,22 @@ describe VagrantPlugins::VSphere::Action::Clone do
55
57
  :name => NAME,
56
58
  :spec => {:location =>
57
59
  {:pool => @child_resource_pool},
58
- :config => expected_config
60
+ :config => expected_config
59
61
  }
60
62
  })
61
63
  end
62
64
 
65
+ it 'should create a CloneVM spec with configured memory_mb' do
66
+ @machine.provider_config.stub(:memory_mb).and_return(2048)
67
+ call
68
+ expect(@template).to have_received(:CloneVM_Task).with({
69
+ :folder => @data_center,
70
+ :name => NAME,
71
+ :spec => {:location => {:pool => @child_resource_pool},
72
+ :config => RbVmomi::VIM.VirtualMachineConfigSpec(:memoryMB => 2048) },
73
+ })
74
+ end
75
+
63
76
  it 'should set static IP when given config spec' do
64
77
  @machine.provider_config.stub(:customization_spec_name).and_return('spec')
65
78
  call
@@ -72,7 +85,8 @@ describe VagrantPlugins::VSphere::Action::Clone do
72
85
  expect(@template).to have_received(:CloneVM_Task).with({
73
86
  :folder => @data_center,
74
87
  :name => NAME,
75
- :spec => {:location => {:pool => @root_resource_pool } }
88
+ :spec => {:location => {:pool => @root_resource_pool },
89
+ :config => RbVmomi::VIM.VirtualMachineConfigSpec }
76
90
  })
77
91
  end
78
92
  end
data/spec/spec_helper.rb CHANGED
@@ -53,7 +53,8 @@ RSpec.configure do |config|
53
53
  :linked_clone => nil,
54
54
  :proxy_host => nil,
55
55
  :proxy_port => nil,
56
- :vlan => nil)
56
+ :vlan => nil,
57
+ :memory_mb => nil)
57
58
  vm_config = double(
58
59
  :vm => double('config_vm',
59
60
  :box => nil,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-vsphere
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Grauch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-23 00:00:00.000000000 Z
11
+ date: 2014-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri