chef-provisioning-vsphere 2.2.2 → 2.3.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.
@@ -6,7 +6,7 @@ module ChefProvisioningVsphereStubs
6
6
  def network_device_changes(_action_handler, _vm_template, _options)
7
7
  [
8
8
  [RbVmomi::VIM::VirtualDeviceConfigSpec.new],
9
- [RbVmomi::VIM::VirtualDeviceConfigSpec.new]
9
+ [RbVmomi::VIM::VirtualDeviceConfigSpec.new],
10
10
  ]
11
11
  end
12
12
 
@@ -34,7 +34,7 @@ module RbVmomi
34
34
  class VIM::HostSystem
35
35
  attr_reader :parent
36
36
 
37
- def parent
37
+ def parent # rubocop:disable Lint/DuplicateMethods
38
38
  @parent ||= RbVmomi::VIM::ComputeResource.new
39
39
  end
40
40
  end
@@ -44,8 +44,8 @@ module RbVmomi
44
44
  class VIM::ComputeResource
45
45
  attr_reader :resourcePool
46
46
 
47
- def resourcePool
48
- @resourcePool ||= RbVmomi::VIM::ResourcePool.new(nil, nil)
47
+ def resourcePool # rubocop:disable Lint/DuplicateMethods
48
+ @resourcePool ||= RbVmomi::VIM::ResourcePool.new(nil, nil) # rubocop:disable Naming/VariableName
49
49
  end
50
50
  end
51
51
  end
@@ -1,44 +1,45 @@
1
- require 'chef/provisioning/vsphere_driver'
1
+ # frozen_string_literal: true
2
+ require "chef/provisioning/vsphere_driver"
2
3
 
3
4
  describe ChefProvisioningVsphere::VsphereHelper do
4
5
  let(:subject) do
5
6
  connection_opts = {
6
- host: 'fake.host.com',
7
- port: 443
7
+ host: "fake.host.com",
8
+ port: 443,
8
9
  }
9
- ChefProvisioningVsphere::VsphereHelper.new(connection_opts, 'fake datacenter')
10
+ ChefProvisioningVsphere::VsphereHelper.new(connection_opts, "fake datacenter")
10
11
  end
11
- let(:vm) { vm = double('vm') }
12
- let(:task) { double('task', wait_for_completion: true) }
12
+ let(:vm) { vm = double("vm") } # rubocop:disable Lint/UselessAssignment
13
+ let(:task) { double("task", wait_for_completion: true) }
13
14
 
14
- describe '#set_additional_disks_for' do
15
+ describe "#set_additional_disks_for" do
15
16
  before do
16
- allow(vm).to receive(:disks).and_return(['root_disk'], ['root_disk', 'first_disk'])
17
+ allow(vm).to receive(:disks).and_return(["root_disk"], %w{root_disk first_disk})
17
18
  end
18
19
 
19
- context 'when datastore is missing' do
20
+ context "when datastore is missing" do
20
21
  let(:datastore) { nil }
21
- it 'and no extra disks, nothing is raised' do
22
+ it "and no extra disks, nothing is raised" do
22
23
  additional_disk_size_gb = nil
23
24
  expect { subject.set_additional_disks_for vm, datastore, additional_disk_size_gb }.not_to raise_error
24
25
  end
25
26
 
26
- it 'and has 1 disk, error is raised' do
27
+ it "and has 1 disk, error is raised" do
27
28
  additional_disk_size_gb = 1
28
29
  expect { subject.set_additional_disks_for vm, datastore, additional_disk_size_gb }.to raise_error(RuntimeError)
29
30
  end
30
31
 
31
- it 'and has multiple disks, error is raised' do
32
+ it "and has multiple disks, error is raised" do
32
33
  additional_disk_size_gb = [1, 2]
33
34
  expect { subject.set_additional_disks_for vm, datastore, additional_disk_size_gb }.to raise_error(RuntimeError)
34
35
  end
35
36
  end
36
37
 
37
- context 'when datastore is present' do
38
- let(:datastore) { 'some datastore' }
38
+ context "when datastore is present" do
39
+ let(:datastore) { "some datastore" }
39
40
  let(:disk_1) do
40
41
  {
41
- spec: RbVmomi::VIM.VirtualMachineConfigSpec(
42
+ spec: RbVmomi::VIM.VirtualMachineConfigSpec(
42
43
  deviceChange: [
43
44
  RbVmomi::VIM::VirtualDeviceConfigSpec(
44
45
  operation: :add,
@@ -47,22 +48,22 @@ describe ChefProvisioningVsphere::VsphereHelper do
47
48
  key: 1,
48
49
  backing: RbVmomi::VIM.VirtualDiskFlatVer2BackingInfo(
49
50
  fileName: "[#{datastore}]",
50
- diskMode: 'persistent',
51
+ diskMode: "persistent",
51
52
  thinProvisioned: true
52
53
  ),
53
54
  capacityInKB: 1 * 1024 * 1024,
54
55
  controllerKey: 1000,
55
56
  unitNumber: 1
56
57
  )
57
- )
58
+ ),
58
59
  ]
59
- )
60
+ ),
60
61
  }
61
62
  end
62
63
 
63
64
  let(:disk_2) do
64
65
  {
65
- spec: RbVmomi::VIM.VirtualMachineConfigSpec(
66
+ spec: RbVmomi::VIM.VirtualMachineConfigSpec(
66
67
  deviceChange: [
67
68
  RbVmomi::VIM::VirtualDeviceConfigSpec(
68
69
  operation: :add,
@@ -71,50 +72,50 @@ describe ChefProvisioningVsphere::VsphereHelper do
71
72
  key: 2,
72
73
  backing: RbVmomi::VIM.VirtualDiskFlatVer2BackingInfo(
73
74
  fileName: "[#{datastore}]",
74
- diskMode: 'persistent',
75
+ diskMode: "persistent",
75
76
  thinProvisioned: true
76
77
  ),
77
78
  capacityInKB: 2 * 1024 * 1024,
78
79
  controllerKey: 1000,
79
80
  unitNumber: 2
80
81
  )
81
- )
82
+ ),
82
83
  ]
83
- )
84
+ ),
84
85
  }
85
86
  end
86
87
 
87
- it 'and no extra disks, nothing is created' do
88
+ it "and no extra disks, nothing is created" do
88
89
  additional_disk_size_gb = nil
89
90
  expect(vm).not_to receive(:ReconfigVM_Task)
90
91
  subject.set_additional_disks_for vm, datastore, additional_disk_size_gb
91
92
  end
92
93
 
93
- it 'and disk is a string, nothing is created' do
94
- additional_disk_size_gb = ['not a number']
94
+ it "and disk is a string, nothing is created" do
95
+ additional_disk_size_gb = ["not a number"]
95
96
  expect(vm).not_to receive(:ReconfigVM_Task)
96
97
  subject.set_additional_disks_for vm, datastore, additional_disk_size_gb
97
98
  end
98
99
 
99
- it 'and has 0 GB, nothing is created' do
100
+ it "and has 0 GB, nothing is created" do
100
101
  additional_disk_size_gb = [0]
101
102
  expect(vm).not_to receive(:ReconfigVM_Task)
102
103
  subject.set_additional_disks_for vm, datastore, additional_disk_size_gb
103
104
  end
104
105
 
105
- it 'and has -1 GB, nothing is created' do
106
+ it "and has -1 GB, nothing is created" do
106
107
  additional_disk_size_gb = [-1]
107
108
  expect(vm).not_to receive(:ReconfigVM_Task)
108
109
  subject.set_additional_disks_for vm, datastore, additional_disk_size_gb
109
110
  end
110
111
 
111
- it 'and has 1 x 1 GB, create disk' do
112
+ it "and has 1 x 1 GB, create disk" do
112
113
  additional_disk_size_gb = 1
113
114
  expect(vm).to receive(:ReconfigVM_Task).with(disk_1).and_return(task)
114
115
  subject.set_additional_disks_for vm, datastore, additional_disk_size_gb
115
116
  end
116
117
 
117
- it 'and has 2 disks, create 2 disks' do
118
+ it "and has 2 disks, create 2 disks" do
118
119
  additional_disk_size_gb = [1, 2]
119
120
 
120
121
  expect(vm).to receive(:ReconfigVM_Task).with(disk_1).and_return(task)
@@ -122,7 +123,7 @@ describe ChefProvisioningVsphere::VsphereHelper do
122
123
  subject.set_additional_disks_for vm, datastore, additional_disk_size_gb
123
124
  end
124
125
 
125
- it 'and has 3 disks, including 1 of 0 size, create 2 disks' do
126
+ it "and has 3 disks, including 1 of 0 size, create 2 disks" do
126
127
  additional_disk_size_gb = [0, 1, 2]
127
128
  expect(vm).to receive(:ReconfigVM_Task).with(disk_1).and_return(task)
128
129
  expect(vm).to receive(:ReconfigVM_Task).with(disk_2).and_return(task)
@@ -132,52 +133,51 @@ describe ChefProvisioningVsphere::VsphereHelper do
132
133
  end
133
134
  end
134
135
 
135
- describe '#set_initial_iso' do
136
+ describe "#set_initial_iso" do
136
137
  let(:cd_rom) do
137
- double('cd_rom',
138
- class: RbVmomi::VIM::VirtualCdrom,
139
- key: 'some key',
140
- controllerKey: 'some controller key'
141
- )
138
+ double("cd_rom",
139
+ class: RbVmomi::VIM::VirtualCdrom,
140
+ key: "some key",
141
+ controllerKey: "some controller key")
142
142
  end
143
143
 
144
144
  let(:fake_backing) do
145
- RbVmomi::VIM::VirtualCdromIsoBackingInfo(fileName: 'some_iso.iso')
145
+ RbVmomi::VIM::VirtualCdromIsoBackingInfo(fileName: "some_iso.iso")
146
146
  end
147
147
 
148
148
  let(:iso_spec) do
149
- {
149
+ {
150
150
  spec: RbVmomi::VIM.VirtualMachineConfigSpec(
151
151
  deviceChange: [
152
152
  operation: :edit,
153
153
  device: RbVmomi::VIM::VirtualCdrom(
154
154
  backing: fake_backing,
155
- key: 'some key',
156
- controllerKey: 'some controller key',
155
+ key: "some key",
156
+ controllerKey: "some controller key",
157
157
  connectable: RbVmomi::VIM::VirtualDeviceConnectInfo(
158
158
  startConnected: true,
159
159
  connected: true,
160
160
  allowGuestControl: true
161
161
  )
162
- )
162
+ ),
163
163
  ]
164
- )
164
+ ),
165
165
  }
166
166
  end
167
167
 
168
168
  before do
169
169
  allow(vm).to receive_message_chain(:config, :hardware, :device)
170
- .and_return([cd_rom])
170
+ .and_return([cd_rom])
171
171
  end
172
172
 
173
- it 'does nothing when no iso' do
173
+ it "does nothing when no iso" do
174
174
  expect(vm).not_to receive(:ReconfigVM_Task)
175
175
  subject.set_initial_iso vm, nil
176
176
  end
177
177
 
178
- it 'sets initial iso' do
178
+ it "sets initial iso" do
179
179
  expect(vm).to receive(:ReconfigVM_Task).with(iso_spec).and_return(task)
180
- subject.set_initial_iso vm, 'some_iso.iso'
180
+ subject.set_initial_iso vm, "some_iso.iso"
181
181
  end
182
182
  end
183
183
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-provisioning-vsphere
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CenturyLink Cloud
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-06-05 00:00:00.000000000 Z
12
+ date: 2018-06-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: chef
@@ -217,12 +217,9 @@ files:
217
217
  - ".github/ISSUE_TEMPLATE.md"
218
218
  - ".github/PULL_REQUEST_TEMPLATE.md"
219
219
  - ".gitignore"
220
- - ".rubocop.yml"
221
- - ".rubocop_todo.yml"
222
220
  - ".travis.yml"
223
221
  - CHANGELOG.md
224
222
  - Gemfile
225
- - Jenkinsfile
226
223
  - LICENSE
227
224
  - LICENSE-Rally
228
225
  - README.md
data/.rubocop.yml DELETED
@@ -1,10 +0,0 @@
1
- AllCops:
2
- Exclude:
3
- - "spec/**/*"
4
- - "vendor/**/*"
5
- - "pkg/**/*"
6
- - "vsphere_testing/**/*"
7
- - "examples/**/*"
8
- - "spec/unit/plugins/darwin/system_profiler_output.rb"
9
-
10
- inherit_from: .rubocop_todo.yml
data/.rubocop_todo.yml DELETED
@@ -1,135 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2017-10-30 16:48:40 -0700 using RuboCop version 0.49.1.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 1
10
- # Configuration parameters: AllowSafeAssignment.
11
- Lint/AssignmentInCondition:
12
- Exclude:
13
- - 'lib/chef/provisioning/vsphere_driver/vsphere_helpers.rb'
14
-
15
- # Offense count: 1
16
- # Cop supports --auto-correct.
17
- # Configuration parameters: EnforcedStyleAlignWith, SupportedStylesAlignWith, AutoCorrect.
18
- # SupportedStylesAlignWith: start_of_line, def
19
- Lint/DefEndAlignment:
20
- Exclude:
21
- - 'lib/chef/provisioning/vsphere_driver/driver.rb'
22
-
23
- # Offense count: 1
24
- # Cop supports --auto-correct.
25
- # Configuration parameters: EnforcedStyleAlignWith, SupportedStylesAlignWith, AutoCorrect.
26
- # SupportedStylesAlignWith: keyword, variable, start_of_line
27
- Lint/EndAlignment:
28
- Exclude:
29
- - 'lib/chef/provisioning/vsphere_driver/driver.rb'
30
-
31
- # Offense count: 6
32
- Lint/UselessAssignment:
33
- Exclude:
34
- - 'lib/chef/provisioning/vsphere_driver/clone_spec_builder.rb'
35
- - 'lib/chef/provisioning/vsphere_driver/vsphere_helpers.rb'
36
- - 'lib/kitchen/driver/vsphere.rb'
37
-
38
- # Offense count: 34
39
- Metrics/AbcSize:
40
- Max: 47
41
-
42
- # Offense count: 1
43
- # Configuration parameters: CountComments, ExcludedMethods.
44
- Metrics/BlockLength:
45
- Max: 29
46
-
47
- # Offense count: 1
48
- # Configuration parameters: CountBlocks.
49
- Metrics/BlockNesting:
50
- Max: 4
51
-
52
- # Offense count: 3
53
- # Configuration parameters: CountComments.
54
- Metrics/ClassLength:
55
- Max: 643
56
-
57
- # Offense count: 11
58
- Metrics/CyclomaticComplexity:
59
- Max: 12
60
-
61
- # Offense count: 140
62
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
63
- # URISchemes: http, https
64
- Metrics/LineLength:
65
- Max: 189
66
-
67
- # Offense count: 41
68
- # Configuration parameters: CountComments.
69
- Metrics/MethodLength:
70
- Max: 62
71
-
72
- # Offense count: 8
73
- Metrics/PerceivedComplexity:
74
- Max: 14
75
-
76
- # Offense count: 1
77
- Style/CaseEquality:
78
- Exclude:
79
- - 'lib/chef/provisioning/vsphere_driver/driver.rb'
80
-
81
- # Offense count: 3
82
- Style/ClassVars:
83
- Exclude:
84
- - 'lib/kitchen/driver/vsphere.rb'
85
-
86
- # Offense count: 5
87
- # Configuration parameters: AllowedVariables.
88
- Style/GlobalVars:
89
- Exclude:
90
- - 'lib/chef/provisioning/vsphere_driver/vsphere_helpers.rb'
91
-
92
- # Offense count: 13
93
- # Configuration parameters: MinBodyLength.
94
- Style/GuardClause:
95
- Exclude:
96
- - 'lib/chef/provisioning/vsphere_driver/clone_spec_builder.rb'
97
- - 'lib/chef/provisioning/vsphere_driver/driver.rb'
98
- - 'lib/chef/provisioning/vsphere_driver/vsphere_helpers.rb'
99
-
100
- # Offense count: 1
101
- Style/MultilineTernaryOperator:
102
- Exclude:
103
- - 'lib/chef/provisioning/vsphere_driver/driver.rb'
104
-
105
- # Offense count: 1
106
- Style/NestedTernaryOperator:
107
- Exclude:
108
- - 'lib/chef/provisioning/vsphere_driver/driver.rb'
109
-
110
- # Offense count: 1
111
- # Cop supports --auto-correct.
112
- # Configuration parameters: AutoCorrect, EnforcedStyle, SupportedStyles.
113
- # SupportedStyles: predicate, comparison
114
- Style/NumericPredicate:
115
- Exclude:
116
- - 'spec/**/*'
117
- - 'lib/chef/provisioning/vsphere_driver/driver.rb'
118
-
119
- # Offense count: 3
120
- # Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
121
- # NamePrefix: is_, has_, have_
122
- # NamePrefixBlacklist: is_, has_, have_
123
- # NameWhitelist: is_a?
124
- Style/PredicateName:
125
- Exclude:
126
- - 'spec/**/*'
127
- - 'lib/chef/provisioning/vsphere_driver/driver.rb'
128
-
129
- # Offense count: 3
130
- # Configuration parameters: EnforcedStyle, SupportedStyles.
131
- # SupportedStyles: snake_case, camelCase
132
- Style/VariableName:
133
- Exclude:
134
- - 'lib/chef/provisioning/vsphere_driver/clone_spec_builder.rb'
135
- - 'lib/chef/provisioning/vsphere_driver/vsphere_helpers.rb'
data/Jenkinsfile DELETED
@@ -1,82 +0,0 @@
1
- pipeline {
2
- agent {
3
- docker {
4
- args "-u root"
5
- reuseNode false
6
- image "localhost:5000/jjkeysv5"
7
- }
8
- }
9
- triggers {
10
- pollSCM('H * * * *')
11
- }
12
- stages {
13
- stage('Pull down ChefDK') {
14
- steps {
15
- sh '''apt-get update
16
- apt-get install -y curl sudo git build-essential
17
- curl -L https://chef.io/chef/install.sh | sudo bash -s -- -P chefdk -c current
18
- if [ -d "vsphere_testing" ]; then rm -rf vsphere_testing; fi'''
19
- }
20
- }
21
- stage('Bundle') {
22
- steps {
23
- sh 'chef exec bundle install'
24
- }
25
- }
26
- stage('Checks') {
27
- steps {
28
- parallel(
29
- "Unit": {
30
- sh 'chef exec rake unit'
31
-
32
- },
33
- "Docs": {
34
- sh 'chef exec rake yard'
35
-
36
- }
37
- )
38
- }
39
- }
40
- stage('Kitchen setup') {
41
- steps {
42
- sh '''if [ -d "vsphere_testing" ]; then rm -rf vsphere_testing; fi
43
- git clone https://github.com/jjasghar/vsphere_testing.git
44
- cd vsphere_testing
45
- for i in recipes/*; do sed -i 's/PASSWORD/Good4bye!/g' "$i"; done
46
- sed -i 's/PASSWORD/Good4bye!/g' .kitchen.yml
47
- sed -i 's/ORG/jj-model-t/g' recipes/windows_provision.rb
48
- chef exec bundle install
49
- chef exec gem install test-kitchen
50
- chef exec bundle exec kitchen list'''
51
- }
52
- }
53
- stage('Kitchen verify') {
54
- steps {
55
- sh '''cd vsphere_testing
56
- chef exec bundle exec kitchen test -c 2'''
57
- }
58
- }
59
- stage('chef-provisioning-vsphere create') {
60
- steps {
61
- parallel(
62
- "Linux": {
63
- sh '''cd vsphere_testing
64
- chef exec bundle exec chef-client -z recipes/linux_provision.rb'''
65
- },
66
- "Windows": {
67
- sh '''cd vsphere_testing
68
- chef exec bundle exec chef-client -z recipes/windows_provision.rb'''
69
- }
70
- )
71
- }
72
- }
73
- stage('chef-provisioning-vsphere delete') {
74
- steps {
75
- sh '''cd vsphere_testing
76
- chef exec bundle exec chef-client -z recipes/destroy.rb
77
- chef exec knife node delete testing-windows -y
78
- chef exec knife client delete testing-windows -y'''
79
- }
80
- }
81
- }
82
- }