kitchen-vra 2.3.0 → 2.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rubocop.yml +16 -3
- data/CHANGELOG.md +34 -3
- data/Gemfile +1 -0
- data/README.md +30 -8
- data/Rakefile +2 -1
- data/kitchen-vra.gemspec +5 -4
- data/lib/kitchen/driver/vra.rb +55 -18
- data/lib/kitchen/driver/vra_version.rb +2 -1
- data/spec/spec_helper.rb +1 -0
- data/spec/vra_spec.rb +4 -3
- metadata +17 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4d0bbd05938738944f5f2eda7e6700dce159eaa21e842369c24817f7a9d08953
|
4
|
+
data.tar.gz: ca72c71e4a05482a568480c8aeb9f63ea9ef211762aecaa6f69915e8e8eab29c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23569b112d12feae0c5828cdf5b2b7df0c26326047f694a35252605f9769b137b79d398f5d367f310fe8ecf74677297b06fce6be6998f9ad0b4dfb7792fe7cd1
|
7
|
+
data.tar.gz: e3a6e753cdcd958eaabf481ca1d1a5c76ce754d72960cda3dabe9b024eb4c958ef88047f860f2f2addcc0d1a9f79b82a45081fedd61993c0e36e0d48c6e1a5fb
|
data/.rubocop.yml
CHANGED
@@ -1,19 +1,32 @@
|
|
1
1
|
AllCops:
|
2
2
|
DisplayCopNames: true
|
3
3
|
Metrics/AbcSize:
|
4
|
-
Max:
|
4
|
+
Max: 100
|
5
5
|
Metrics/ClassLength:
|
6
6
|
Max: 125
|
7
|
+
Metrics/CyclomaticComplexity:
|
8
|
+
Max: 20
|
9
|
+
Metrics/MethodLength:
|
10
|
+
Exclude:
|
11
|
+
- '**/*.rb'
|
12
|
+
Enabled: false
|
13
|
+
Metrics/PerceivedComplexity:
|
14
|
+
Max: 30
|
7
15
|
Metrics/LineLength:
|
8
|
-
Max:
|
16
|
+
Max: 200
|
9
17
|
Metrics/MethodLength:
|
10
18
|
Max: 25
|
11
19
|
Style/Documentation:
|
12
20
|
Enabled: false
|
21
|
+
Style/EndOfLine:
|
22
|
+
EnforcedStyle: lf
|
13
23
|
Style/SignalException:
|
14
24
|
Enabled: false
|
15
|
-
|
25
|
+
Layout/SpaceInsideBrackets:
|
26
|
+
Enabled: false
|
27
|
+
Style/MutableConstant:
|
16
28
|
Enabled: false
|
17
29
|
Metrics/BlockLength:
|
18
30
|
Exclude:
|
19
31
|
- "**/*_spec.rb"
|
32
|
+
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,38 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [
|
4
|
-
|
3
|
+
## [v2.7.1](https://github.com/chef-partners/kitchen-vra/tree/v2.7.1)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/chef-partners/kitchen-vra/compare/v2.7.0...v2.7.1)
|
6
|
+
|
7
|
+
- Pin vmware-vra gem dep to < 3 to prevent pulling in the new release
|
8
|
+
|
9
|
+
## [v2.7.0](https://github.com/chef-partners/kitchen-vra/tree/v2.7.0)
|
10
|
+
|
11
|
+
[Full Changelog](https://github.com/chef-partners/kitchen-vra/compare/v2.6.0...v2.7.0)
|
12
|
+
|
13
|
+
- Accept shirt size option available in blueprint as input in kitchen.yml
|
14
|
+
|
15
|
+
## [v2.5.0](https://github.com/chef-partners/kitchen-vra/tree/v2.5.0)
|
16
|
+
|
17
|
+
[Full Changelog](https://github.com/chef-partners/kitchen-vra/compare/v2.4.0...v2.5.0)
|
18
|
+
|
19
|
+
**Closed issues:**
|
20
|
+
|
21
|
+
- Feature Query: Support for Capture Snapshot & Restore Snapshot [\#27](https://github.com/chef-partners/kitchen-vra/issues/27)
|
22
|
+
|
23
|
+
**Merged pull requests:**
|
24
|
+
|
25
|
+
- Accept subtenant name as input in kitchen.yml [\#28](https://github.com/chef-partners/kitchen-vra/pull/28) ([vinuphilip](https://github.com/vinuphilip))
|
26
|
+
|
27
|
+
## [v2.4.0](https://github.com/chef-partners/kitchen-vra/tree/v2.4.0) (2018-01-22)
|
28
|
+
[Full Changelog](https://github.com/chef-partners/kitchen-vra/compare/v2.3.0...v2.4.0)
|
29
|
+
|
30
|
+
**Merged pull requests:**
|
31
|
+
|
32
|
+
- Kitchen vRA enahancements [\#26](https://github.com/chef-partners/kitchen-vra/pull/26) ([rupeshpatel88](https://github.com/rupeshpatel88))
|
33
|
+
|
34
|
+
## [v2.3.0](https://github.com/chef-partners/kitchen-vra/tree/v2.3.0) (2017-07-14)
|
35
|
+
[Full Changelog](https://github.com/chef-partners/kitchen-vra/compare/v2.2.0...v2.3.0)
|
5
36
|
|
6
37
|
**Merged pull requests:**
|
7
38
|
|
@@ -82,4 +113,4 @@
|
|
82
113
|
|
83
114
|
|
84
115
|
|
85
|
-
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
116
|
+
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -36,7 +36,22 @@ driver:
|
|
36
36
|
verify_ssl: true
|
37
37
|
```
|
38
38
|
|
39
|
-
|
39
|
+
If you want username and password to be prompted, remove usename and password in your .kitchen.yml as shown below:
|
40
|
+
|
41
|
+
```yaml
|
42
|
+
driver:
|
43
|
+
name: vra
|
44
|
+
tenant: mytenant
|
45
|
+
base_url: https://vra.corp.local
|
46
|
+
verify_ssl: true
|
47
|
+
```
|
48
|
+
If you don't want to explicitly specify username and password in the kitchen.yml, you have an option to set it in the environment variable as
|
49
|
+
|
50
|
+
$ export VRA_USER_NAME='myuser@corp.local'
|
51
|
+
$ export VRA_USER_PASSWORD='mypassword'
|
52
|
+
|
53
|
+
Then configure your platforms. Either a catalog_id or a catalog_name is required for each platform. If both catalog_id and catalog_name are mentioned in .kitchen.yml then catalog_name would be used to derive the catalog_id and this catalog_id would override the catalog_id being passed in .kitchen.yml. In the below example as can be seen we are using catalog_id for centos6 driver while catalog_name for the centos7 driver just to demonstrate that we can use either of the two.
|
54
|
+
|
40
55
|
|
41
56
|
```yaml
|
42
57
|
platforms:
|
@@ -45,9 +60,11 @@ platforms:
|
|
45
60
|
catalog_id: e9db1084-d1c6-4c1f-8e3c-eb8f3dc574f9
|
46
61
|
- name: centos7
|
47
62
|
driver:
|
48
|
-
|
63
|
+
catalog_name: my_catalog_name
|
49
64
|
```
|
50
65
|
|
66
|
+
|
67
|
+
|
51
68
|
Other options that you can set include:
|
52
69
|
|
53
70
|
* **lease_days**: number of days to request for a lease, if your catalog item / blueprint requires it
|
@@ -55,12 +72,14 @@ Other options that you can set include:
|
|
55
72
|
* **server_ready_retries**: Number of times to retry the "waiting for server to be ready" check. In some cases, this will error out immediately due to DNS propagation issues, etc. Setting this to a number greater than 0 will retry the `wait_until_ready` method with a growing sleep in between each attempt. Defaults to 1. Set to 0 to disable any retrying of the `wait_until_ready` method.
|
56
73
|
* **cpus**: number of CPUs the host should have
|
57
74
|
* **memory**: amount of RAM, in MB, the host should have
|
75
|
+
* **shirt_size**: This parameter corresponds to shirt size option of vRA available on blueprint like ValueSet.Large, ValueSet.Small etc. As shirt size is a combination of memory and RAM, hence while using this no need to use cpus and memory parameter. This shirt size option helps in standardizing the sizing available for end users
|
58
76
|
* **requested_for**: the vRA login ID to list as the owner of this resource. Defaults to the vRA username configured in the `driver` section.
|
59
77
|
* **subtenant_id**: the Business Group ID to list as the owner. This is required if the catalog item is a shared/global item; we are unable to determine the subtenant_id from the catalog, and vRA requires it to be set on every request.
|
78
|
+
* **subtenant_name**: the Business Group Name as the owner. This can be passed instead of subtenant_id and would act as a more friendly name. subtenant_id would be internally retrieved based on the provided subtenant_name. In case both subtenant_id and subtenant_name are passed, subtenant_name would take the precendence and would try to retrieve subtenant_id based on subtenant_name passed.
|
60
79
|
* **private_key_path**: path to the SSH private key to use when logging in. Defaults to '~/.ssh/id_rsa' or '~/.ssh/id_dsa', preferring the RSA key. Only applies to instances where SSH transport is used; i.e., does not apply to Windows hosts with the WinRM transport configured.
|
61
80
|
* **use_dns**: Defaults to `false`. Set to `true` if vRA doesn't manage vm ip addresses. This will cause kitchen to attempt to connect via hostname.
|
62
81
|
* **dns_suffix**: Defaults to `nil`. Set to your domain suffix, for example 'mydomain.com'. This only takes effect when `use_dns` == true and is appended to the hostname returned by vRA.
|
63
|
-
* **extra_parameters**: a hash of other data to set on a catalog request, most notably custom properties. Allows updates to existing properties on the blueprint as well as the addition of new properties.
|
82
|
+
* **extra_parameters**: a hash of other data to set on a catalog request, most notably custom properties. Allows updates to existing properties on the blueprint as well as the addition of new properties. Each key in the hash is the property name, and the value is a another hash containing the value data type and the value itself. It is possible to use a `~` to add nested parameters.
|
64
83
|
|
65
84
|
These settings can be set globally under the top-level `driver` section, or they can be set on each platform, which allows you to set globals and then override them. For example, this configuration would set the CPU count to 1 except on the "large" platform:
|
66
85
|
|
@@ -72,23 +91,26 @@ driver:
|
|
72
91
|
platforms:
|
73
92
|
- name: small
|
74
93
|
driver:
|
94
|
+
catalog_name: my_catalog_name_small
|
75
95
|
catalog_id: 8a189191-fea6-43eb-981e-ee0fa40f8f57
|
76
96
|
extra_parameters:
|
77
|
-
|
97
|
+
mycustompropname:
|
78
98
|
type: string
|
79
99
|
value: smallvalue
|
80
|
-
|
100
|
+
Vrm.DataCenter.Location:
|
81
101
|
type: string
|
82
102
|
value: Non-Prod
|
83
103
|
- name: large
|
84
104
|
driver:
|
105
|
+
catalog_name: my_catalog_name_large
|
85
106
|
catalog_id: 1d7c6122-18fa-4ed6-bd13-8a33b6c6ed50
|
86
107
|
cpus: 2
|
108
|
+
subtenant_name: my_subtenant_name
|
87
109
|
extra_parameters:
|
88
|
-
|
110
|
+
mycustompropname:
|
89
111
|
type: string
|
90
112
|
value: largevalue
|
91
|
-
|
113
|
+
Vrm.DataCenter.Location:
|
92
114
|
type: string
|
93
115
|
value: Prod
|
94
116
|
```
|
@@ -97,7 +119,7 @@ platforms:
|
|
97
119
|
|
98
120
|
Author:: Chef Partner Engineering (<partnereng@chef.io>)
|
99
121
|
|
100
|
-
Copyright:: Copyright (c) 2015-
|
122
|
+
Copyright:: Copyright (c) 2015-2019 Chef Software, Inc.
|
101
123
|
|
102
124
|
License:: Apache License, Version 2.0
|
103
125
|
|
data/Rakefile
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'bundler/gem_tasks'
|
3
4
|
require 'rspec/core/rake_task'
|
4
5
|
require 'rubocop/rake_task'
|
@@ -17,4 +18,4 @@ rescue LoadError
|
|
17
18
|
puts 'github_changelog_generator is not available. gem install github_changelog_generator to generate changelogs'
|
18
19
|
end
|
19
20
|
|
20
|
-
task default: [
|
21
|
+
task default: %i[spec style]
|
data/kitchen-vra.gemspec
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
# frozen_string_literal: true
|
3
|
+
|
3
4
|
lib = File.expand_path('../lib', __FILE__)
|
4
5
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
6
|
require 'kitchen/driver/vra_version'
|
@@ -12,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
12
13
|
spec.summary = 'A Test Kitchen driver for VMware vRealize Automation (vRA)'
|
13
14
|
spec.description = spec.summary
|
14
15
|
spec.homepage = 'https://github.com/chef-partners/kitchen-vra'
|
15
|
-
spec.license = 'Apache
|
16
|
+
spec.license = 'Apache-2.0'
|
16
17
|
|
17
18
|
spec.files = `git ls-files -z`.split("\x0")
|
18
19
|
spec.executables = []
|
@@ -20,15 +21,15 @@ Gem::Specification.new do |spec|
|
|
20
21
|
spec.require_paths = ['lib']
|
21
22
|
|
22
23
|
spec.add_dependency 'test-kitchen'
|
23
|
-
spec.add_dependency 'vmware-vra', '~> 2'
|
24
|
+
spec.add_dependency 'vmware-vra', '~> 2', '< 3' # 3.0 and newer is not supported
|
24
25
|
spec.add_dependency 'highline'
|
25
26
|
spec.add_dependency 'rack', '~> 1.6' unless RUBY_VERSION.index('2.0.').nil?
|
26
27
|
spec.add_dependency 'ffi-yajl', '~> 2.2.3' unless RUBY_VERSION.index('2.0.').nil?
|
27
|
-
spec.add_development_dependency 'bundler', '
|
28
|
+
spec.add_development_dependency 'bundler', '>= 1.7'
|
28
29
|
spec.add_development_dependency 'github_changelog_generator'
|
29
30
|
spec.add_development_dependency 'rake', '~> 10.0'
|
30
31
|
spec.add_development_dependency 'rspec', '~> 3.2'
|
31
32
|
spec.add_development_dependency 'simplecov', '~> 0.10'
|
32
33
|
spec.add_development_dependency 'webmock', '~> 1.21'
|
33
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
34
|
+
spec.add_development_dependency 'rubocop', '~> 0.49.0'
|
34
35
|
end
|
data/lib/kitchen/driver/vra.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
#
|
3
4
|
# Author:: Chef Partner Engineering (<partnereng@chef.io>)
|
4
5
|
# Copyright:: Copyright (c) 2015 Chef Software, Inc.
|
@@ -31,19 +32,22 @@ module Kitchen
|
|
31
32
|
kitchen_driver_api_version 2
|
32
33
|
plugin_version Kitchen::Driver::VRA_VERSION
|
33
34
|
|
34
|
-
default_config :username,
|
35
|
-
default_config :password,
|
35
|
+
default_config :username, nil
|
36
|
+
default_config :password, nil
|
36
37
|
required_config :base_url
|
37
38
|
required_config :tenant
|
38
|
-
|
39
|
+
default_config :catalog_id, nil
|
40
|
+
default_config :catalog_name, nil
|
39
41
|
|
40
|
-
default_config :
|
42
|
+
default_config :subtenant_id, nil
|
43
|
+
default_config :subtenant_name, nil
|
41
44
|
default_config :verify_ssl, true
|
42
45
|
default_config :request_timeout, 600
|
43
46
|
default_config :request_refresh_rate, 2
|
44
47
|
default_config :server_ready_retries, 1
|
45
48
|
default_config :cpus, 1
|
46
49
|
default_config :memory, 1024
|
50
|
+
default_config :shirt_size, nil
|
47
51
|
default_config :requested_for do |driver|
|
48
52
|
driver[:username]
|
49
53
|
end
|
@@ -52,7 +56,7 @@ module Kitchen
|
|
52
56
|
default_config :cache_credentials, false
|
53
57
|
default_config :extra_parameters, {}
|
54
58
|
default_config :private_key_path do
|
55
|
-
%w
|
59
|
+
%w[id_rsa id_dsa].map do |key|
|
56
60
|
file = File.expand_path("~/.ssh/#{key}")
|
57
61
|
file if File.exist?(file)
|
58
62
|
end.compact.first
|
@@ -65,21 +69,26 @@ module Kitchen
|
|
65
69
|
end
|
66
70
|
|
67
71
|
def check_config(force_change = false)
|
68
|
-
|
69
|
-
config[:
|
70
|
-
config[:
|
71
|
-
|
72
|
+
config[:username] = config[:username] || ENV['VRA_USER_NAME']
|
73
|
+
config[:password] = config[:password] || ENV['VRA_USER_PASSWORD']
|
74
|
+
c_load if config[:username].nil? && config[:password].nil?
|
75
|
+
|
76
|
+
config[:username] = ask('Enter Username: e.g. username@domain') if config[:username].nil? || force_change
|
77
|
+
config[:password] = ask('Enter password: ') { |q| q.echo = '*' } if config[:password].nil? || force_change
|
78
|
+
c_save if config[:cache_credentials]
|
72
79
|
end
|
73
80
|
|
74
81
|
def c_save
|
75
82
|
cipher = OpenSSL::Cipher::Cipher.new('aes-256-cbc')
|
76
83
|
cipher.encrypt
|
77
84
|
cipher.key = Digest::SHA1.hexdigest(config[:base_url])
|
78
|
-
|
79
|
-
cipher.iv =
|
85
|
+
iv_user = cipher.random_iv
|
86
|
+
cipher.iv = iv_user
|
80
87
|
username = cipher.update(config[:username]) + cipher.final
|
88
|
+
iv_pwd = cipher.random_iv
|
89
|
+
cipher.iv = iv_pwd
|
81
90
|
password = cipher.update(config[:password]) + cipher.final
|
82
|
-
output = "#{Base64.encode64(
|
91
|
+
output = "#{Base64.encode64(iv_user).strip!}:#{Base64.encode64(username).strip!}:#{Base64.encode64(iv_pwd).strip!}:#{Base64.encode64(password).strip!}"
|
83
92
|
file = File.open('.kitchen/cached_vra', 'w')
|
84
93
|
file.write(output)
|
85
94
|
file.close
|
@@ -90,14 +99,16 @@ module Kitchen
|
|
90
99
|
def c_load
|
91
100
|
if File.exist? '.kitchen/cached_vra'
|
92
101
|
encrypted = File.read('.kitchen/cached_vra')
|
93
|
-
|
102
|
+
iv_user = Base64.decode64(encrypted.split(':')[0] + '\n')
|
94
103
|
username = Base64.decode64(encrypted.split(':')[1] + "\n")
|
95
|
-
|
104
|
+
iv_pwd = Base64.decode64(encrypted.split(':')[2] + "\n")
|
105
|
+
password = Base64.decode64(encrypted.split(':')[3] + "\n")
|
96
106
|
cipher = OpenSSL::Cipher::Cipher.new('aes-256-cbc')
|
97
107
|
cipher.decrypt
|
98
108
|
cipher.key = Digest::SHA1.hexdigest(config[:base_url])
|
99
|
-
cipher.iv =
|
109
|
+
cipher.iv = iv_user
|
100
110
|
config[:username] = cipher.update(username) + cipher.final
|
111
|
+
cipher.iv = iv_pwd
|
101
112
|
config[:password] = cipher.update(password) + cipher.final
|
102
113
|
end
|
103
114
|
rescue
|
@@ -191,17 +202,43 @@ module Kitchen
|
|
191
202
|
info("Destroy request #{destroy_request.id} submitted.")
|
192
203
|
wait_for_request(destroy_request)
|
193
204
|
info('Destroy request complete.')
|
205
|
+
|
206
|
+
File.delete('.kitchen/cached_vra') if File.exist?('.kitchen/cached_vra')
|
207
|
+
info('Removed cached file')
|
194
208
|
end
|
195
209
|
|
196
|
-
def catalog_request
|
210
|
+
def catalog_request # rubocop:disable Metrics/MethodLength
|
211
|
+
unless config[:catalog_name].nil?
|
212
|
+
info('Fetching Catalog ID by Catalog Name')
|
213
|
+
response = vra_client.catalog.fetch_catalog_items(config[:catalog_name])
|
214
|
+
parsed_json = JSON.parse(response.body)
|
215
|
+
begin
|
216
|
+
config[:catalog_id] = parsed_json['content'][0]['catalogItemId']
|
217
|
+
rescue
|
218
|
+
puts "Unable to retrieve Catalog ID from Catalog Name: #{config[:catalog_name]}"
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
197
222
|
catalog_request = vra_client.catalog.request(config[:catalog_id])
|
198
223
|
|
199
224
|
catalog_request.cpus = config[:cpus]
|
200
225
|
catalog_request.memory = config[:memory]
|
226
|
+
catalog_request.shirt_size = config[:shirt_size] unless config[:shirt_size].nil?
|
201
227
|
catalog_request.requested_for = config[:requested_for]
|
202
228
|
catalog_request.lease_days = config[:lease_days] unless config[:lease_days].nil?
|
203
229
|
catalog_request.notes = config[:notes] unless config[:notes].nil?
|
204
|
-
|
230
|
+
|
231
|
+
unless config[:subtenant_name].nil?
|
232
|
+
info('Fetching Subtenant ID by Subtenant Name')
|
233
|
+
response = vra_client.fetch_subtenant_items(config[:tenant], config[:subtenant_name])
|
234
|
+
parsed_json = JSON.parse(response.body)
|
235
|
+
begin
|
236
|
+
config[:subtenant_id] = parsed_json['content'][0]['id']
|
237
|
+
rescue
|
238
|
+
puts "Unable to retrieve Subtenant ID from Subtenant Name: #{config[:subtenant_name]}"
|
239
|
+
end
|
240
|
+
end
|
241
|
+
catalog_request.subtenant_id = config[:subtenant_id] unless config[:subtenant_id].nil?
|
205
242
|
|
206
243
|
config[:extra_parameters].each do |key, value_data|
|
207
244
|
catalog_request.set_parameters(key, value_data)
|
@@ -211,7 +248,7 @@ module Kitchen
|
|
211
248
|
end
|
212
249
|
|
213
250
|
def vra_client
|
214
|
-
check_config
|
251
|
+
check_config config[:cache_credentials]
|
215
252
|
@client ||= ::Vra::Client.new(
|
216
253
|
base_url: config[:base_url],
|
217
254
|
username: config[:username],
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
#
|
3
4
|
# Author:: Chef Partner Engineering (<partnereng@chef.io>)
|
4
5
|
# Copyright:: Copyright (c) 2015 Chef Software, Inc.
|
@@ -19,6 +20,6 @@
|
|
19
20
|
|
20
21
|
module Kitchen
|
21
22
|
module Driver
|
22
|
-
VRA_VERSION = '2.
|
23
|
+
VRA_VERSION = '2.7.1'
|
23
24
|
end
|
24
25
|
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/vra_spec.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
#
|
3
4
|
# Author:: Chef Partner Engineering (<partnereng@chef.io>)
|
4
5
|
# Copyright:: Copyright (c) 2015 Chef Software, Inc.
|
@@ -399,7 +400,7 @@ describe Kitchen::Driver::Vra do
|
|
399
400
|
allow(driver).to receive(:vra_client).and_return(vra_client)
|
400
401
|
allow(vra_client).to receive(:catalog).and_return(catalog)
|
401
402
|
allow(catalog).to receive(:request).and_return(catalog_request)
|
402
|
-
[
|
403
|
+
%i[cpus= memory= requested_for= lease_days= notes= subtenant_id= set_parameter].each do |method|
|
403
404
|
allow(catalog_request).to receive(method)
|
404
405
|
end
|
405
406
|
end
|
@@ -457,8 +458,8 @@ describe Kitchen::Driver::Vra do
|
|
457
458
|
end
|
458
459
|
|
459
460
|
it 'sets extra parmeters' do
|
460
|
-
expect(catalog_request).to receive(:
|
461
|
-
expect(catalog_request).to receive(:
|
461
|
+
expect(catalog_request).to receive(:set_parameters).with('key1', type: 'string', value: 'value1')
|
462
|
+
expect(catalog_request).to receive(:set_parameters).with('key2', type: 'integer', value: 123)
|
462
463
|
driver.catalog_request
|
463
464
|
end
|
464
465
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-vra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chef Partner Engineering
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-kitchen
|
@@ -31,6 +31,9 @@ dependencies:
|
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '2'
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '3'
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -38,6 +41,9 @@ dependencies:
|
|
38
41
|
- - "~>"
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: '2'
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '3'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: highline
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,14 +62,14 @@ dependencies:
|
|
56
62
|
name: bundler
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
|
-
- - "
|
65
|
+
- - ">="
|
60
66
|
- !ruby/object:Gem::Version
|
61
67
|
version: '1.7'
|
62
68
|
type: :development
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
|
-
- - "
|
72
|
+
- - ">="
|
67
73
|
- !ruby/object:Gem::Version
|
68
74
|
version: '1.7'
|
69
75
|
- !ruby/object:Gem::Dependency
|
@@ -142,14 +148,14 @@ dependencies:
|
|
142
148
|
requirements:
|
143
149
|
- - "~>"
|
144
150
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
151
|
+
version: 0.49.0
|
146
152
|
type: :development
|
147
153
|
prerelease: false
|
148
154
|
version_requirements: !ruby/object:Gem::Requirement
|
149
155
|
requirements:
|
150
156
|
- - "~>"
|
151
157
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
158
|
+
version: 0.49.0
|
153
159
|
description: A Test Kitchen driver for VMware vRealize Automation (vRA)
|
154
160
|
email:
|
155
161
|
- partnereng@chef.io
|
@@ -174,9 +180,9 @@ files:
|
|
174
180
|
- spec/vra_spec.rb
|
175
181
|
homepage: https://github.com/chef-partners/kitchen-vra
|
176
182
|
licenses:
|
177
|
-
- Apache
|
183
|
+
- Apache-2.0
|
178
184
|
metadata: {}
|
179
|
-
post_install_message:
|
185
|
+
post_install_message:
|
180
186
|
rdoc_options: []
|
181
187
|
require_paths:
|
182
188
|
- lib
|
@@ -191,9 +197,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
197
|
- !ruby/object:Gem::Version
|
192
198
|
version: '0'
|
193
199
|
requirements: []
|
194
|
-
|
195
|
-
|
196
|
-
signing_key:
|
200
|
+
rubygems_version: 3.2.32
|
201
|
+
signing_key:
|
197
202
|
specification_version: 4
|
198
203
|
summary: A Test Kitchen driver for VMware vRealize Automation (vRA)
|
199
204
|
test_files:
|