kitchen-vcenter 1.3.4 → 1.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kitchen-vcenter/version.rb +1 -1
- data/lib/kitchen/driver/vcenter.rb +32 -4
- data/lib/support/clone_vm.rb +40 -7
- metadata +2 -4
- data/CHANGELOG.md +0 -66
- data/README.md +0 -175
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f49e8fc98358fba0a3d791d90cd7114dca3ebea36114c78243bd8290198660c
|
4
|
+
data.tar.gz: d495c5cac6372f7afa189c27d6e7079c2bfc69b73bf5ff4ec82d6f4d02fdf4b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 79182163a7adc1acf518959674e4c07833ba83e5e7de7ce46805887c68b998d9987a087c0e0897b14c0d6042df66620445091d742569e56de122fde30c770a23
|
7
|
+
data.tar.gz: bdd5b03a192e3e71ff84017ffcd7ffa2314e4eef3bd82042c8822f18688061aba854951f0ab524ab5468756e2e87a63f9eed0996f5ac8aee5e3c4d3ae7e343b0
|
@@ -51,6 +51,7 @@ module Kitchen
|
|
51
51
|
default_config :vm_name, nil
|
52
52
|
default_config :resource_pool, nil
|
53
53
|
default_config :clone_type, :full
|
54
|
+
default_config :cluster, nil
|
54
55
|
default_config :lookup_service_host, nil
|
55
56
|
|
56
57
|
# The main create method
|
@@ -63,6 +64,7 @@ module Kitchen
|
|
63
64
|
password: config[:vcenter_password],
|
64
65
|
insecure: config[:vcenter_disable_ssl_verify] ? true : false,
|
65
66
|
host: config[:vcenter_host],
|
67
|
+
rev: config[:clone_type] == "instant" ? "6.7" : nil,
|
66
68
|
}
|
67
69
|
|
68
70
|
# If the vm_name has not been set then set it now based on the suite, platform and a random number
|
@@ -70,14 +72,24 @@ module Kitchen
|
|
70
72
|
config[:vm_name] = format("%s-%s-%s", instance.suite.name, instance.platform.name, SecureRandom.hex(4))
|
71
73
|
end
|
72
74
|
|
75
|
+
raise format("Cannot specify both cluster and resource_pool") if !config[:cluster].nil? && !config[:resource_pool].nil?
|
76
|
+
|
73
77
|
connect
|
74
78
|
|
75
79
|
# Using the clone class, create a machine for TK
|
76
80
|
# Find the identifier for the targethost to pass to rbvmomi
|
77
81
|
config[:targethost] = get_host(config[:targethost])
|
78
82
|
|
79
|
-
#
|
80
|
-
|
83
|
+
# Use the root resource pool of a specified cluster, if any
|
84
|
+
# @todo This does not allow to specify cluster AND pool yet
|
85
|
+
unless config[:cluster].nil?
|
86
|
+
cluster = get_cluster(config[:cluster])
|
87
|
+
# @todo Check for active hosts, to avoid "A specified parameter was not correct: spec.pool"
|
88
|
+
config[:resource_pool] = cluster.resource_pool
|
89
|
+
else
|
90
|
+
# Find the first resource pool on any cluster
|
91
|
+
config[:resource_pool] = get_resource_pool(config[:resource_pool])
|
92
|
+
end
|
81
93
|
|
82
94
|
# Check that the datacenter exists
|
83
95
|
datacenter_exists?(config[:datacenter])
|
@@ -92,6 +104,7 @@ module Kitchen
|
|
92
104
|
|
93
105
|
# Allow different clone types
|
94
106
|
config[:clone_type] = :linked if config[:clone_type] == "linked"
|
107
|
+
config[:clone_type] = :instant if config[:clone_type] == "instant"
|
95
108
|
|
96
109
|
# Create a hash of options that the clone requires
|
97
110
|
options = {
|
@@ -170,7 +183,7 @@ module Kitchen
|
|
170
183
|
|
171
184
|
raise format("Unable to find target host: %s", name) if host.empty?
|
172
185
|
|
173
|
-
host[0]
|
186
|
+
host[0]
|
174
187
|
end
|
175
188
|
|
176
189
|
# Gets the folder you want to create the VM
|
@@ -196,6 +209,21 @@ module Kitchen
|
|
196
209
|
vm_obj.list(filter)[0]
|
197
210
|
end
|
198
211
|
|
212
|
+
# Gets the info of the cluster
|
213
|
+
#
|
214
|
+
# @param [name] name is the name of the Cluster
|
215
|
+
def get_cluster(name)
|
216
|
+
cl_obj = Com::Vmware::Vcenter::Cluster.new(vapi_config)
|
217
|
+
|
218
|
+
# @todo: Use Cluster::FilterSpec to only get the cluster which was asked
|
219
|
+
# filter = Com::Vmware::Vcenter::Cluster::FilterSpec.new(clusters: Set.new(['...']))
|
220
|
+
clusters = cl_obj.list.select { |cluster| cluster.name == name }
|
221
|
+
raise format("Unable to find Cluster: %s", name) if clusters.empty?
|
222
|
+
|
223
|
+
cluster_id = clusters[0].cluster
|
224
|
+
cl_obj.get(cluster_id)
|
225
|
+
end
|
226
|
+
|
199
227
|
# Gets the name of the resource pool
|
200
228
|
#
|
201
229
|
# @todo Will not yet work with nested pools ("Pool1/Subpool1")
|
@@ -213,7 +241,7 @@ module Kitchen
|
|
213
241
|
|
214
242
|
# Revert to default pool, if no user-defined pool found (> 1.2.1 behaviour)
|
215
243
|
# (This one might not be found under some circumstances by the statement above)
|
216
|
-
|
244
|
+
return get_resource_pool("Resources") if resource_pool.empty?
|
217
245
|
else
|
218
246
|
# create a filter to find the named resource pool
|
219
247
|
filter = Com::Vmware::Vcenter::ResourcePool::FilterSpec.new(names: Set.new([name]))
|
data/lib/support/clone_vm.rb
CHANGED
@@ -20,7 +20,9 @@ class Support
|
|
20
20
|
|
21
21
|
# Specify where the machine is going to be created
|
22
22
|
relocate_spec = RbVmomi::VIM.VirtualMachineRelocateSpec
|
23
|
-
|
23
|
+
|
24
|
+
# Setting the host is not allowed for instant clone due to VM memory sharing
|
25
|
+
relocate_spec.host = options[:targethost].host unless options[:clone_type] == :instant
|
24
26
|
|
25
27
|
# Change to delta disks for linked clones
|
26
28
|
relocate_spec.diskMoveType = :moveChildMostDiskBacking if options[:clone_type] == :linked
|
@@ -28,15 +30,46 @@ class Support
|
|
28
30
|
# Set the resource pool
|
29
31
|
relocate_spec.pool = options[:resource_pool]
|
30
32
|
|
31
|
-
clone_spec = RbVmomi::VIM.VirtualMachineCloneSpec(location: relocate_spec,
|
32
|
-
powerOn: options[:poweron],
|
33
|
-
template: false)
|
34
|
-
|
35
33
|
# Set the folder to use
|
36
34
|
dest_folder = options[:folder].nil? ? src_vm.parent : options[:folder][:id]
|
37
35
|
|
38
|
-
puts "Cloning
|
39
|
-
|
36
|
+
puts "Cloning '#{options[:template]}' to create the VM..."
|
37
|
+
if options[:clone_type] == :instant
|
38
|
+
vcenter_data = vim.serviceInstance.content.about
|
39
|
+
raise "Instant clones only supported with vCenter 6.7 or higher" unless vcenter_data.version.to_f >= 6.7
|
40
|
+
puts "- Detected #{vcenter_data.fullName}"
|
41
|
+
|
42
|
+
resources = dc.hostFolder.children
|
43
|
+
hosts = resources.select { |resource| resource.class.to_s == "ComputeResource" }.map { |c| c.host }.flatten
|
44
|
+
targethost = hosts.select { |host| host.summary.config.name == options[:targethost].name }.first
|
45
|
+
esx_data = targethost.summary.config.product
|
46
|
+
raise "Instant clones only supported with ESX 6.7 or higher" unless esx_data.version.to_f >= 6.7
|
47
|
+
puts "- Detected #{esx_data.fullName}"
|
48
|
+
|
49
|
+
# Other tools check for VMWare Tools status, but that will be toolsNotRunning on frozen VMs
|
50
|
+
raise "Need a running VM for instant clones" unless src_vm.runtime.powerState == "poweredOn"
|
51
|
+
|
52
|
+
# In first iterations, only support the Frozen Source VM workflow. This is more efficient
|
53
|
+
# but needs preparations (freezing the source VM). Running Source VM support is to be
|
54
|
+
# added later
|
55
|
+
raise "Need a frozen VM for instant clones, running source VM not supported yet" unless src_vm.runtime.instantCloneFrozen
|
56
|
+
|
57
|
+
# Swapping NICs not needed anymore (blog posts mention this), instant clones get a new
|
58
|
+
# MAC at least with 6.7.0 build 9433931
|
59
|
+
|
60
|
+
# @todo not working yet
|
61
|
+
# relocate_spec.folder = dest_folder
|
62
|
+
clone_spec = RbVmomi::VIM.VirtualMachineInstantCloneSpec(location: relocate_spec,
|
63
|
+
name: options[:name])
|
64
|
+
|
65
|
+
task = src_vm.InstantClone_Task(spec: clone_spec)
|
66
|
+
else
|
67
|
+
clone_spec = RbVmomi::VIM.VirtualMachineCloneSpec(location: relocate_spec,
|
68
|
+
powerOn: options[:poweron],
|
69
|
+
template: false)
|
70
|
+
|
71
|
+
task = src_vm.CloneVM_Task(spec: clone_spec, folder: dest_folder, name: options[:name])
|
72
|
+
end
|
40
73
|
task.wait_for_completion
|
41
74
|
|
42
75
|
# get the IP address of the machine for bootstrapping
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-vcenter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Russell Seymour
|
@@ -101,9 +101,7 @@ executables: []
|
|
101
101
|
extensions: []
|
102
102
|
extra_rdoc_files: []
|
103
103
|
files:
|
104
|
-
- CHANGELOG.md
|
105
104
|
- LICENSE
|
106
|
-
- README.md
|
107
105
|
- lib/base.rb
|
108
106
|
- lib/kitchen-vcenter/version.rb
|
109
107
|
- lib/kitchen/driver/vcenter.rb
|
@@ -122,7 +120,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
122
120
|
requirements:
|
123
121
|
- - ">="
|
124
122
|
- !ruby/object:Gem::Version
|
125
|
-
version: '
|
123
|
+
version: '2.3'
|
126
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
125
|
requirements:
|
128
126
|
- - ">="
|
data/CHANGELOG.md
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
# Change Log
|
2
|
-
|
3
|
-
<!-- latest_release 1.3.4 -->
|
4
|
-
## [v1.3.4](https://github.com/chef/kitchen-vcenter/tree/v1.3.4) (2019-01-04)
|
5
|
-
|
6
|
-
#### Merged Pull Requests
|
7
|
-
- Fix for Issues #26 and #30 [#44](https://github.com/chef/kitchen-vcenter/pull/44) ([tecracer-theinen](https://github.com/tecracer-theinen))
|
8
|
-
<!-- latest_release -->
|
9
|
-
<!-- release_rollup since=1.3.1 -->
|
10
|
-
### Changes not yet released to rubygems.org
|
11
|
-
|
12
|
-
#### Merged Pull Requests
|
13
|
-
- Fix for Issues #26 and #30 [#44](https://github.com/chef/kitchen-vcenter/pull/44) ([tecracer-theinen](https://github.com/tecracer-theinen)) <!-- 1.3.4 -->
|
14
|
-
- Feature/check parameters [#40](https://github.com/chef/kitchen-vcenter/pull/40) ([tecracer-theinen](https://github.com/tecracer-theinen)) <!-- 1.3.3 -->
|
15
|
-
- README edits [#38](https://github.com/chef/kitchen-vcenter/pull/38) ([mjingle](https://github.com/mjingle)) <!-- 1.3.2 -->
|
16
|
-
<!-- release_rollup -->
|
17
|
-
<!-- latest_stable_release -->
|
18
|
-
## [v1.3.1](https://github.com/chef/kitchen-vcenter/tree/v1.3.1) (2018-11-19)
|
19
|
-
|
20
|
-
#### Merged Pull Requests
|
21
|
-
- Fixed behaviour when not having any resource pools (Issue #28) [#31](https://github.com/chef/kitchen-vcenter/pull/31) ([tecracer-theinen](https://github.com/tecracer-theinen))
|
22
|
-
- Implement support for linked clones (feature #18) [#32](https://github.com/chef/kitchen-vcenter/pull/32) ([tecracer-theinen](https://github.com/tecracer-theinen))
|
23
|
-
- Chefstyle fixes [#37](https://github.com/chef/kitchen-vcenter/pull/37) ([tas50](https://github.com/tas50))
|
24
|
-
<!-- latest_stable_release -->
|
25
|
-
|
26
|
-
## [1.2.1](https://github.com/chef/kitchen-vcenter/tree/1.2.1) (2017-09-14)
|
27
|
-
[Full Changelog](https://github.com/chef/kitchen-vcenter/compare/v1.2.0...1.2.1)
|
28
|
-
|
29
|
-
**Closed issues:**
|
30
|
-
|
31
|
-
- Install attempt errors with message about requiring vsphere-automation-sdk [\#11](https://github.com/chef/kitchen-vcenter/issues/11)
|
32
|
-
|
33
|
-
**Merged pull requests:**
|
34
|
-
|
35
|
-
- Update dependency reqs. Update README for dep install. [\#12](https://github.com/chef/kitchen-vcenter/pull/12) ([akulbe](https://github.com/akulbe))
|
36
|
-
|
37
|
-
## [v1.2.0](https://github.com/chef/kitchen-vcenter/tree/v1.2.0) (2017-09-12)
|
38
|
-
[Full Changelog](https://github.com/chef/kitchen-vcenter/compare/v1.1.0...v1.2.0)
|
39
|
-
|
40
|
-
**Merged pull requests:**
|
41
|
-
|
42
|
-
- Resource pool and target host no longer have to be specified. [\#10](https://github.com/chef/kitchen-vcenter/pull/10) ([russellseymour](https://github.com/russellseymour))
|
43
|
-
|
44
|
-
## [v1.1.0](https://github.com/chef/kitchen-vcenter/tree/v1.1.0) (2017-09-07)
|
45
|
-
[Full Changelog](https://github.com/chef/kitchen-vcenter/compare/v1.0.0...v1.1.0)
|
46
|
-
|
47
|
-
**Closed issues:**
|
48
|
-
|
49
|
-
- Resource pool is not specified when creating a new machine [\#7](https://github.com/chef/kitchen-vcenter/issues/7)
|
50
|
-
- Unhelpful messages from driver if specified item does not exist [\#6](https://github.com/chef/kitchen-vcenter/issues/6)
|
51
|
-
|
52
|
-
**Merged pull requests:**
|
53
|
-
|
54
|
-
- Updated to handle resource\_pools [\#8](https://github.com/chef/kitchen-vcenter/pull/8) ([russellseymour](https://github.com/russellseymour))
|
55
|
-
|
56
|
-
## [v1.0.0](https://github.com/chef/kitchen-vcenter/tree/v1.0.0) (2017-08-28)
|
57
|
-
**Merged pull requests:**
|
58
|
-
|
59
|
-
- 1.0.0 release [\#4](https://github.com/chef/kitchen-vcenter/pull/4) ([jjasghar](https://github.com/jjasghar))
|
60
|
-
- Second walk through [\#3](https://github.com/chef/kitchen-vcenter/pull/3) ([jjasghar](https://github.com/jjasghar))
|
61
|
-
- Updated so that the vm\_name is set according to suite and platform. [\#2](https://github.com/chef/kitchen-vcenter/pull/2) ([russellseymour](https://github.com/russellseymour))
|
62
|
-
- Prep-for-public release [\#1](https://github.com/chef/kitchen-vcenter/pull/1) ([jjasghar](https://github.com/jjasghar))
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/README.md
DELETED
@@ -1,175 +0,0 @@
|
|
1
|
-
# kitchen-vcenter
|
2
|
-
|
3
|
-
[![Gem Version](https://badge.fury.io/rb/kitchen-vcenter.svg)](https://rubygems.org/gems/kitchen-vcenter)
|
4
|
-
[![Build Status](https://travis-ci.org/chef/kitchen-vcenter.svg?branch=master)](https://travis-ci.org/chef/kitchen-vcenter)
|
5
|
-
[![Inline docs](http://inch-ci.org/github/chef/kitchen-vcenter.svg?branch=master)](http://inch-ci.org/github/chef/kitchen-vcenter)
|
6
|
-
|
7
|
-
This is the official Chef test-kitchen plugin for VMware REST API. This plugin gives kitchen the ability to create, bootstrap, and test VMware vms.
|
8
|
-
|
9
|
-
- Documentation: [https://github.com/chef/kitchen-vcenter/blob/master/README.md](https://github.com/chef/kitchen-vcenter/blob/master/README.md)
|
10
|
-
- Source: [https://github.com/chef/kitchen-vcenter/tree/master](https://github.com/chef/kitchen-vcenter/tree/master)
|
11
|
-
- Issues: [https://github.com/chef/kitchen-vcenter/issues](https://github.com/chef/knife-vcenter/issues)
|
12
|
-
- Slack: sign up: https://code.vmware.com/slack/ slack channel: #chef
|
13
|
-
- Mailing list: [https://discourse.chef.io/](https://discourse.chef.io/)
|
14
|
-
|
15
|
-
This is a `test-kitchen` plugin that allows interaction with vSphere using the vSphere Automation SDK.
|
16
|
-
|
17
|
-
Please refer to the [CHANGELOG](CHANGELOG.md) for version history and known issues.
|
18
|
-
|
19
|
-
## Requirements
|
20
|
-
|
21
|
-
- Chef 13.0 higher
|
22
|
-
- Ruby 2.3.3 or higher
|
23
|
-
|
24
|
-
## Installation
|
25
|
-
|
26
|
-
This driver has a dependency. It requires the [vSphere Automation SDK](https://github.com/vmware/vsphere-automation-sdk-ruby) be installed. The steps to do that are as follows, for the time being it's not published to Rubygems. If you are interested, please comment [here](https://github.com/vmware/vsphere-automation-sdk-ruby/issues/10).
|
27
|
-
|
28
|
-
- `$ git clone` [https://github.com/vmware/vsphere-automation-sdk-ruby.git](https://github.com/vmware/vsphere-automation-sdk-ruby.git)
|
29
|
-
- `cd vsphere-automation-sdk-ruby`
|
30
|
-
- `gem build vsphere-automation-sdk-ruby.gemspec`
|
31
|
-
- `chef gem install vsphere-automation-sdk-<version>.gem`
|
32
|
-
|
33
|
-
Using [ChefDK](https://downloads.chef.io/chef-dk/), simply install the Gem:
|
34
|
-
|
35
|
-
```bash
|
36
|
-
chef gem install kitchen-vcenter
|
37
|
-
```
|
38
|
-
|
39
|
-
If you're using bundler, simply add Chef and kitchen-vcenter to your Gemfile:
|
40
|
-
|
41
|
-
```ruby
|
42
|
-
gem 'chef'
|
43
|
-
gem 'kitchen-vcenter'
|
44
|
-
```
|
45
|
-
|
46
|
-
## Usage
|
47
|
-
|
48
|
-
A sample `.kitchen.yml` file, details are below.
|
49
|
-
|
50
|
-
```yml
|
51
|
-
---
|
52
|
-
driver:
|
53
|
-
name: vcenter
|
54
|
-
vcenter_username: 'administrator@vsphere.local'
|
55
|
-
vcenter_password: <%= ENV['VCENTER_PASSWORD'] %>
|
56
|
-
vcenter_host: <%= ENV['VCENTER_HOST'] %>
|
57
|
-
vcenter_disable_ssl_verify: true
|
58
|
-
|
59
|
-
provisioner:
|
60
|
-
name: chef_zero
|
61
|
-
sudo_command: sudo
|
62
|
-
deprecations_as_errors: true
|
63
|
-
retry_on_exit_code:
|
64
|
-
- 35 # 35 is the exit code signaling that the node is rebooting
|
65
|
-
max_retries: 2
|
66
|
-
wait_for_retry: 90
|
67
|
-
|
68
|
-
verifier:
|
69
|
-
name: inspec
|
70
|
-
|
71
|
-
platforms:
|
72
|
-
- name: ubuntu-1604
|
73
|
-
driver_config:
|
74
|
-
targethost: 10.0.0.42
|
75
|
-
template: ubuntu16-template
|
76
|
-
datacenter: "Datacenter"
|
77
|
-
transport:
|
78
|
-
username: "admini"
|
79
|
-
password: admini
|
80
|
-
|
81
|
-
- name: centos-7
|
82
|
-
driver_config:
|
83
|
-
targethost: 10.0.0.42
|
84
|
-
template: centos7-template
|
85
|
-
datacenter: "Datacenter"
|
86
|
-
transport:
|
87
|
-
username: "root"
|
88
|
-
password: admini
|
89
|
-
|
90
|
-
- name: windows2012R2
|
91
|
-
driver_config:
|
92
|
-
targethost: 10.0.0.42
|
93
|
-
template: windows2012R2-template
|
94
|
-
datacenter: "Datacenter"
|
95
|
-
transport:
|
96
|
-
username: "Administrator"
|
97
|
-
password: "p@ssW0rd!"
|
98
|
-
|
99
|
-
suites:
|
100
|
-
- name: default
|
101
|
-
run_list:
|
102
|
-
- recipe[cookbook::default]
|
103
|
-
```
|
104
|
-
|
105
|
-
### Required parameters:
|
106
|
-
|
107
|
-
The following parameters should be set in the main `driver_config` section as they are common to all platforms:
|
108
|
-
|
109
|
-
- `vcenter_username` - Name to use when connecting to the vSphere environment
|
110
|
-
- `vcenter_password` - Password associated with the specified user
|
111
|
-
- `vcenter_host` - Host against which logins should be attempted
|
112
|
-
|
113
|
-
The following parameters should be set in the `driver_config` for the individual platform:
|
114
|
-
|
115
|
-
- `datacenter` - Name of the datacenter to use to deploy into
|
116
|
-
- `template` - Template or virtual machine to use when cloning the new machine (needs to be a VM for linked clones)
|
117
|
-
|
118
|
-
### Optional Parameters
|
119
|
-
|
120
|
-
The following parameters should be set in the main `driver_config` section as they are common to all platforms:
|
121
|
-
- `vcenter_disable_ssl_verify` - Whether or not to disable SSL verification checks. Good when using self signed certificates. Default: false
|
122
|
-
|
123
|
-
The following optional parameters should be used in the `driver_config` for the platform.
|
124
|
-
|
125
|
-
- `targethost` - Host on which the new virtual machine should be created. If not specified then the first host in the cluster is used.
|
126
|
-
- `folder` - Folder into which the new machine should be stored. If specified the folder _must_ already exist.
|
127
|
-
- `poweron` - Power on the new virtual machine. Default: true
|
128
|
-
- `vm_name` - Specify name of virtual machine. Default: `<suite>-<platform>-<random-hexid>`
|
129
|
-
- `resource_pool` - Name of the resource pool to use when creating the machine. Will search first pool by default, can use value 'Resources' for none.
|
130
|
-
- `clone_type` - Type of clone, will default to "full" to create complete copies of template. Needs a VM as template parameter, if "linked" clone desired.
|
131
|
-
- `lookup_service_host` - Specify hostname of Lookup Service for setups with external PSC. Default: autodetect
|
132
|
-
|
133
|
-
## Contributing
|
134
|
-
|
135
|
-
For information on contributing to this project see <https://github.com/chef/chef/blob/master/CONTRIBUTING.md>
|
136
|
-
|
137
|
-
## Development
|
138
|
-
|
139
|
-
* Report issues/questions/feature requests on [GitHub Issues][issues]
|
140
|
-
|
141
|
-
Pull requests are very welcome! Make sure your patches are well tested. Ideally create a topic branch for every separate change you make. For example:
|
142
|
-
|
143
|
-
1. Fork the repo
|
144
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
145
|
-
3. Run the tests and rubocop, `bundle exec rake spec` and `bundle exec rake rubocop`
|
146
|
-
4. Commit your changes (`git commit -am 'Added some feature'`)
|
147
|
-
5. Push to the branch (`git push origin my-new-feature`)
|
148
|
-
6. Create new Pull Request
|
149
|
-
|
150
|
-
|
151
|
-
## License
|
152
|
-
|
153
|
-
Author:: Russell Seymour ([rseymour@chef.io](mailto:rseymour@chef.io))
|
154
|
-
|
155
|
-
Author:: JJ Asghar ([jj@chef.io](mailto:jj@chef.io))
|
156
|
-
|
157
|
-
Copyright:: Copyright (c) 2017-2018 Chef Software, Inc.
|
158
|
-
|
159
|
-
License:: Apache License, Version 2.0
|
160
|
-
|
161
|
-
```text
|
162
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
163
|
-
you may not use this file except in compliance with the License.
|
164
|
-
You may obtain a copy of the License at
|
165
|
-
|
166
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
167
|
-
|
168
|
-
Unless required by applicable law or agreed to in writing, software
|
169
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
170
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
171
|
-
See the License for the specific language governing permissions and
|
172
|
-
limitations under the License.
|
173
|
-
```
|
174
|
-
|
175
|
-
[issues]: https://github.com/chef/kitchen-vcenter/issues
|