knife-windows 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +5 -5
- data/.travis.yml +26 -26
- data/CHANGELOG.md +112 -108
- data/DOC_CHANGES.md +14 -14
- data/Gemfile +12 -12
- data/LICENSE +201 -201
- data/README.md +391 -385
- data/RELEASE_NOTES.md +34 -34
- data/Rakefile +21 -21
- data/appveyor.yml +42 -42
- data/ci.gemfile +15 -15
- data/features/knife_help.feature +20 -20
- data/features/support/env.rb +5 -5
- data/knife-windows.gemspec +25 -25
- data/lib/chef/knife/bootstrap/windows-chef-client-msi.erb +233 -247
- data/lib/chef/knife/bootstrap_windows_base.rb +449 -415
- data/lib/chef/knife/bootstrap_windows_ssh.rb +115 -115
- data/lib/chef/knife/bootstrap_windows_winrm.rb +95 -95
- data/lib/chef/knife/core/windows_bootstrap_context.rb +372 -366
- data/lib/chef/knife/knife_windows_base.rb +33 -33
- data/lib/chef/knife/windows_cert_generate.rb +155 -155
- data/lib/chef/knife/windows_cert_install.rb +68 -68
- data/lib/chef/knife/windows_helper.rb +36 -36
- data/lib/chef/knife/windows_listener_create.rb +107 -107
- data/lib/chef/knife/winrm.rb +122 -122
- data/lib/chef/knife/winrm_base.rb +117 -117
- data/lib/chef/knife/winrm_knife_base.rb +305 -303
- data/lib/chef/knife/winrm_session.rb +88 -87
- data/lib/chef/knife/winrm_shared_options.rb +47 -47
- data/lib/chef/knife/wsman_endpoint.rb +44 -44
- data/lib/chef/knife/wsman_test.rb +117 -117
- data/lib/knife-windows/path_helper.rb +234 -234
- data/lib/knife-windows/version.rb +6 -6
- data/spec/assets/win_template_rendered_with_bootstrap_install_command.txt +217 -217
- data/spec/assets/win_template_rendered_with_bootstrap_install_command_on_12_5_client.txt +217 -217
- data/spec/assets/win_template_rendered_without_bootstrap_install_command.txt +329 -329
- data/spec/assets/win_template_rendered_without_bootstrap_install_command_on_12_5_client.txt +329 -329
- data/spec/assets/win_template_unrendered.txt +246 -246
- data/spec/functional/bootstrap_download_spec.rb +241 -234
- data/spec/spec_helper.rb +94 -93
- data/spec/unit/knife/bootstrap_options_spec.rb +155 -155
- data/spec/unit/knife/bootstrap_template_spec.rb +98 -92
- data/spec/unit/knife/bootstrap_windows_winrm_spec.rb +341 -295
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +177 -177
- data/spec/unit/knife/windows_cert_generate_spec.rb +90 -90
- data/spec/unit/knife/windows_cert_install_spec.rb +51 -51
- data/spec/unit/knife/windows_listener_create_spec.rb +76 -76
- data/spec/unit/knife/winrm_session_spec.rb +65 -65
- data/spec/unit/knife/winrm_spec.rb +516 -516
- data/spec/unit/knife/wsman_test_spec.rb +202 -202
- metadata +23 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1ac4ce8399aa6428fd966272c47b4c8366da003
|
4
|
+
data.tar.gz: 0df6e414580f6ae7dd800afe8fdf731e63fe09ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a53a0baa6b8ed9383def91d4e799d00c8e5196e2be3d88de96ba57084bac7be28342fe04eeb3a866c0e617421f170a8e7c4e2116175f4c72dac5a77940945949
|
7
|
+
data.tar.gz: 9608e4c535e69883a5353f1f2ef689d00f5e8ec112e7211649ad471d1bee6cb93d4d93f29a3d23f5f1139aa54c2de31e9af89e36f09b955622b72f94f58e541b
|
data/.gitignore
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
*.gem
|
2
|
-
.bundle
|
3
|
-
Gemfile.lock
|
4
|
-
ci.gemfile.lock
|
5
|
-
pkg/*
|
1
|
+
*.gem
|
2
|
+
.bundle
|
3
|
+
Gemfile.lock
|
4
|
+
ci.gemfile.lock
|
5
|
+
pkg/*
|
data/.travis.yml
CHANGED
@@ -1,26 +1,26 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
rvm:
|
4
|
-
- 1.9.3
|
5
|
-
- 2.0.0
|
6
|
-
|
7
|
-
before_install:
|
8
|
-
- gem install bundler
|
9
|
-
|
10
|
-
gemfile: ci.gemfile
|
11
|
-
|
12
|
-
env:
|
13
|
-
- CHEF_VERSION="master"
|
14
|
-
- CHEF_VERSION="~> 12.0"
|
15
|
-
- CHEF_VERSION="< 12"
|
16
|
-
|
17
|
-
matrix:
|
18
|
-
exclude:
|
19
|
-
- rvm: 1.9.3
|
20
|
-
env: CHEF_VERSION="master"
|
21
|
-
- rvm: 1.9.3
|
22
|
-
env: CHEF_VERSION="~> 12.0"
|
23
|
-
|
24
|
-
branches:
|
25
|
-
only:
|
26
|
-
- master
|
1
|
+
language: ruby
|
2
|
+
|
3
|
+
rvm:
|
4
|
+
- 1.9.3
|
5
|
+
- 2.0.0
|
6
|
+
|
7
|
+
before_install:
|
8
|
+
- gem install bundler
|
9
|
+
|
10
|
+
gemfile: ci.gemfile
|
11
|
+
|
12
|
+
env:
|
13
|
+
- CHEF_VERSION="master"
|
14
|
+
- CHEF_VERSION="~> 12.0"
|
15
|
+
- CHEF_VERSION="< 12"
|
16
|
+
|
17
|
+
matrix:
|
18
|
+
exclude:
|
19
|
+
- rvm: 1.9.3
|
20
|
+
env: CHEF_VERSION="master"
|
21
|
+
- rvm: 1.9.3
|
22
|
+
env: CHEF_VERSION="~> 12.0"
|
23
|
+
|
24
|
+
branches:
|
25
|
+
only:
|
26
|
+
- master
|
data/CHANGELOG.md
CHANGED
@@ -1,108 +1,112 @@
|
|
1
|
-
# knife-windows Change Log
|
2
|
-
|
3
|
-
## Release 1.
|
4
|
-
|
5
|
-
* [knife-windows #
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
* [knife-windows #
|
23
|
-
|
24
|
-
## Release 1.1.
|
25
|
-
* [knife-windows #
|
26
|
-
* [knife-windows #
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
* [knife-windows #
|
31
|
-
* [knife-windows #
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
* [knife-windows #
|
37
|
-
* [knife-windows #
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
* [knife-windows #
|
42
|
-
* [knife-windows #
|
43
|
-
* [knife-windows #
|
44
|
-
* [knife-windows #
|
45
|
-
* [knife-windows #
|
46
|
-
* [knife-windows #
|
47
|
-
* [knife-windows #
|
48
|
-
* [knife-windows #
|
49
|
-
* [knife-windows #
|
50
|
-
* [knife-windows #
|
51
|
-
* [knife-windows #
|
52
|
-
* [knife-windows #
|
53
|
-
* [knife-windows #
|
54
|
-
* [knife-windows #
|
55
|
-
* [knife-windows #
|
56
|
-
* [knife-windows #
|
57
|
-
* [knife-windows #
|
58
|
-
* [knife-windows #
|
59
|
-
* [knife-windows #
|
60
|
-
|
61
|
-
|
62
|
-
* [knife-windows #
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
*
|
78
|
-
|
79
|
-
|
80
|
-
*
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
*
|
85
|
-
*
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
Release Notes - Knife Windows Plugin - Version 0.5.
|
100
|
-
|
101
|
-
**
|
102
|
-
*
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
**
|
107
|
-
* [KNIFE\_WINDOWS-
|
108
|
-
|
1
|
+
# knife-windows Change Log
|
2
|
+
|
3
|
+
## Release 1.4.0
|
4
|
+
|
5
|
+
* [knife-windows #354](https://github.com/chef/knife-windows/pull/354) Allows the user to specify the architecture they want to install on the target system during `knife bootstrap windows`. In your knife config specify `knife[:bootstrap_architecture]`. Valid values are `:i386` for 32 bit or `x86_64` for 64 bit. By default the architecture will be whatever the target system is. If you try to install a 64 bit package on a 32 bit system you will receive an error.
|
6
|
+
* [knife-windows #352](https://github.com/chef/knife-windows/pull/352) Have client.rb verify that FIPS mode can be enforced
|
7
|
+
|
8
|
+
## Release 1.3.0
|
9
|
+
* [knife-windows #349](https://github.com/chef/knife-windows/pull/349) Pulls in Winrm 1.7.0 which now consumes rubyntlm 0.6.0 to support Extended Protection for Authentication (aka channel binding) for NTLM over TLS
|
10
|
+
* [knife-windows #350](https://github.com/chef/knife-windows/pull/350) Adding a `--ssl-peer-fingerprint` option as an alternative to `--winrm-ssl-verify-mode verify_none` in self signed scenarios
|
11
|
+
|
12
|
+
## Release 1.2.1
|
13
|
+
* [knife-windows #341](https://github.com/chef/knife-windows/pull/341) Removes nokogiri dependency and adds UX fixes for `knife wsman test` when probing a SSL endpoint configured with a self signed certificate
|
14
|
+
|
15
|
+
## Release 1.2.0
|
16
|
+
* [knife-windows #334](https://github.com/chef/knife-windows/pull/334) Uses Negotiate authentication via winrm 1.6 on both windows and linux and drops winrm-s dependency
|
17
|
+
|
18
|
+
## Release 1.1.4
|
19
|
+
* Bumps winrm-s and winrm dependencies to address a winrm-s incompatibility bug with winrm 1.5
|
20
|
+
|
21
|
+
## Release 1.1.3
|
22
|
+
* [knife-windows #329](https://github.com/chef/knife-windows/pull/329) Pin to a minimum winrm-s of 0.3.2 addressing encoding issues in 0.3.1
|
23
|
+
|
24
|
+
## Release 1.1.2
|
25
|
+
* [knife-windows #317](https://github.com/chef/knife-windows/pull/317) Update Vault after client is created
|
26
|
+
* [knife-windows #325](https://github.com/chef/knife-windows/pull/325) Fix proxy configuration to work with chef client 12.6.0
|
27
|
+
* [knife-windows #326](https://github.com/chef/knife-windows/pull/326) Support new `ssh_identity_file` bootstrap argument
|
28
|
+
|
29
|
+
## Release 1.1.1
|
30
|
+
* [knife-windows #307](https://github.com/chef/knife-windows/pull/307) Ensure prompted password is passed to winrm session
|
31
|
+
* [knife-windows #311](https://github.com/chef/knife-windows/issues/311) WinRM bootstrap silently fails
|
32
|
+
|
33
|
+
## Release 1.1.0
|
34
|
+
* [knife-windows #302](https://github.com/chef/knife-windows/pull/302) Address regression caused by chef client 12.5 environment argument
|
35
|
+
* [knife-windows #295](https://github.com/chef/knife-windows/issues/295) Bootstrap missing policy_group, policy_name feature from Chef Client 12.5
|
36
|
+
* [knife-windows #296](https://github.com/chef/knife-windows/issues/296) Installing knife-windows produces warning for _all_ knife commands in Mac OS X with ChefDK 0.8.0
|
37
|
+
* [knife-windows #297](https://github.com/chef/knife-windows/pull/297) use configured proxy settings for all winrm sessions
|
38
|
+
|
39
|
+
## Release 1.0.0
|
40
|
+
|
41
|
+
* [knife-windows #281](https://github.com/chef/knife-windows/pull/281) Prevent unencrypted negotiate auth, automatically prefix local usernames with '.' for negotiate
|
42
|
+
* [knife-windows #275](https://github.com/chef/knife-windows/pull/275) Added bootstrap\_install\_command option in parity with knife bootstrap
|
43
|
+
* [knife-windows #240](https://github.com/chef/knife-windows/pull/240) Change kerberos keytab short option to -T to resolve conflict
|
44
|
+
* [knife-windows #232](https://github.com/chef/knife-windows/pull/232) Adding --hint option to bootstrap
|
45
|
+
* [knife-windows #227](https://github.com/chef/knife-windows/issues/227) Exception: NoMethodError: undefined method 'gsub' for false:FalseClass
|
46
|
+
* [knife-windows #222](https://github.com/chef/knife-windows/issues/222) Validatorless bootstrap support
|
47
|
+
* [knife-windows #202](https://github.com/chef/knife-windows/issues/202) knife bootstrap windows should support enabling the service
|
48
|
+
* [knife-windows #213](https://github.com/chef/knife-windows/pull/213) Search possibilities of HOME for bootstrap templates
|
49
|
+
* [knife-windows #206](https://github.com/chef/knife-windows/pull/206) Add a flag msi_url that allows one to fetch the Chef client msi from a non-chef.io path
|
50
|
+
* [knife-windows #192](https://github.com/chef/knife-windows/issues/192) deprecate knife bootstrap --distro
|
51
|
+
* [knife-windows #159](https://github.com/opscode/knife-windows/issues/159) `winrm_port` option should default to 5986 if `winrm_transport` option is `ssl`
|
52
|
+
* [knife-windows #149](https://github.com/chef/knife-windows/pull/149) Adding knife wsman test to validate WSMAN/WinRM availability
|
53
|
+
* [knife-windows #139](https://github.com/opscode/knife-windows/issues/139) Force dev dependency on Chef 11 for test scenarios to avoid Ohai 8 conflict on Ruby 1.9.x
|
54
|
+
* [knife-windows #126](https://github.com/opscode/knife-windows/pull/126) Allow disabling of SSL peer verification in knife-windows for testing
|
55
|
+
* [knife-windows #154](https://github.com/opscode/knife-windows/issues/154) Unreleased regression in master: NameError: undefined local variable or method `path_separator
|
56
|
+
* [knife-windows #143](https://github.com/opscode/knife-windows/issues/143) Unreleased regression in master: WinRM::WinRMHTTPTransportError: Bad HTTP response returned from server (503) in the middle of bootstrap
|
57
|
+
* [knife-windows #133](https://github.com/opscode/knife-windows/issues/133) Bootstrap failure -- unable to validate SSL chef server endpoints
|
58
|
+
* [knife-windows #132](https://github.com/opscode/knife-windows/issues/132) New subcommands for WinRM: windows listener create, cert generate, and cert install
|
59
|
+
* [knife-windows #129](https://github.com/opscode/knife-windows/issues/129) New --winrm-authentication-protocol option for explicit control of authentication
|
60
|
+
* [knife-windows #125](https://github.com/opscode/knife-windows/issues/125) knife-windows should use PowerShell first before cscript to download the Chef Client msi
|
61
|
+
* [knife-windows #92](https://github.com/opscode/knife-windows/issues/92) EventMachine issue: knife bootstrap windows winrm error
|
62
|
+
* [knife-windows #94](https://github.com/opscode/knife-windows/issues/94) Remove Eventmachine dependency
|
63
|
+
* [knife-windows #252](https://github.com/chef/knife-windows/pull/252) Fail early on ECONNREFUSED, Closes #244.
|
64
|
+
* [knife-windows #260](https://github.com/chef/knife-windows/pull/260) Fail quickly on invalid option combinations, Closes #259
|
65
|
+
|
66
|
+
## Release: 0.8.5
|
67
|
+
* [knife-windows #228](https://github.com/chef/knife-windows/pull/228) make winrm-s dep more strict on knife-windows 0.8.x
|
68
|
+
|
69
|
+
## Release: 0.8.4
|
70
|
+
* [knife-windows #133](https://github.com/opscode/knife-windows/issues/133) Bootstrap failure -- unable to validate SSL chef server endpoints
|
71
|
+
|
72
|
+
## Release: 0.8.3
|
73
|
+
* [knife-windows #131](https://github.com/opscode/knife-windows/issues/108) Issue #131: Windows should be bootstrapped using latest Chef Client version compatible with knife's version just like non-Windows systems
|
74
|
+
* [knife-windows #139](https://github.com/opscode/knife-windows/issues/139) Force dev dependency on Chef 11 for test scenarios to avoid Ohai 8 conflict on Ruby 1.9.x
|
75
|
+
|
76
|
+
## Release: 0.8.2
|
77
|
+
* [knife-windows #108](https://github.com/opscode/knife-windows/issues/108) Error: Unencrypted communication not supported if remote server does not require encryption
|
78
|
+
|
79
|
+
## Release: 0.8.0
|
80
|
+
* [knife-windows #98](https://github.com/opscode/knife-windows/issues/98) Get winrm command exit code if it is not expected
|
81
|
+
* [knife-windows #96](https://github.com/opscode/knife-windows/issues/96) Fix break from OS patch KB2918614
|
82
|
+
* Remove the 'instance data' method of creating EC2 servers
|
83
|
+
* Update winrm-s dependency along with em-winrm and winrm dependencies
|
84
|
+
* Return failure codes from knife winrm even when `returns` is not set
|
85
|
+
* Support Windows negotiate authentication protocol when running knife on Windows
|
86
|
+
|
87
|
+
## Release: 0.6.0 (05/08/2014)
|
88
|
+
|
89
|
+
* [KNIFE-386](https://tickets.opscode.com/browse/KNIFE-386) Wait for a valid command response before bootstrapping over WinRM
|
90
|
+
* [KNIFE-394](https://tickets.opscode.com/browse/KNIFE-394) Update em-winrm dependency
|
91
|
+
* [KNIFE-450](https://tickets.opscode.com/browse/KNIFE-450) Set knife winrm command exit status on exception and command failure
|
92
|
+
|
93
|
+
**See source control commit history for earlier changes.**
|
94
|
+
|
95
|
+
## Selected release notes
|
96
|
+
These are release notes from very early releases of the plugin. For recent
|
97
|
+
releases (2014 and later), see the RELEASE_NOTES.md file of each tagged release branch.
|
98
|
+
|
99
|
+
Release Notes - Knife Windows Plugin - Version 0.5.6
|
100
|
+
|
101
|
+
** New Feature
|
102
|
+
* new default bootstrap template that installs Chef using official chef-client MSI installer
|
103
|
+
|
104
|
+
Release Notes - Knife Windows Plugin - Version 0.5.4
|
105
|
+
|
106
|
+
** Bug
|
107
|
+
* [KNIFE\_WINDOWS-7] - Exception: NoMethodError: undefined method `env_namespace' for Savon:Module
|
108
|
+
* [KNIFE\_WINDOWS-8] - winrm based bootstrap fails with 'Bad HTTP response returned from server (500)'
|
109
|
+
|
110
|
+
|
111
|
+
** New Feature
|
112
|
+
* [KNIFE\_WINDOWS-6] - default bootstrap template should support encrypted\_data\_bag\_secret
|
data/DOC_CHANGES.md
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
<!---
|
2
|
-
This file is reset every time a new release is done. This file describes changes that have not yet been released.
|
3
|
-
|
4
|
-
Example Doc Change:
|
5
|
-
### Headline for the required change
|
6
|
-
Description of the required change.
|
7
|
-
-->
|
8
|
-
# knife-windows 1.2.0 doc changes
|
9
|
-
|
10
|
-
### Support for NTLM/Negotiate on both windows and linux
|
11
|
-
|
12
|
-
This release makes no changes to the command line interface, but users should now be aware that Negotiate authentication and encryption over plaintext HTTP now works on linux in addition to windows.
|
13
|
-
|
14
|
-
Users who use knife-windows to bootstrap nodes over plaintext HTTP should also be aware that they no longer need, and in fact should not, configure base images enabling `basic_auth` or enabling `AllowUnencrypted` in their winrm configuration.
|
1
|
+
<!---
|
2
|
+
This file is reset every time a new release is done. This file describes changes that have not yet been released.
|
3
|
+
|
4
|
+
Example Doc Change:
|
5
|
+
### Headline for the required change
|
6
|
+
Description of the required change.
|
7
|
+
-->
|
8
|
+
# knife-windows 1.2.0 doc changes
|
9
|
+
|
10
|
+
### Support for NTLM/Negotiate on both windows and linux
|
11
|
+
|
12
|
+
This release makes no changes to the command line interface, but users should now be aware that Negotiate authentication and encryption over plaintext HTTP now works on linux in addition to windows.
|
13
|
+
|
14
|
+
Users who use knife-windows to bootstrap nodes over plaintext HTTP should also be aware that they no longer need, and in fact should not, configure base images enabling `basic_auth` or enabling `AllowUnencrypted` in their winrm configuration.
|
data/Gemfile
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
source "https://rubygems.org"
|
2
|
-
|
3
|
-
# Specify your gem's dependencies in knife-windows.gemspec
|
4
|
-
gemspec
|
5
|
-
|
6
|
-
group :test do
|
7
|
-
gem "chef"
|
8
|
-
gem "rspec", '~> 3.0'
|
9
|
-
gem "ruby-wmi"
|
10
|
-
gem "httpclient"
|
11
|
-
gem 'rake'
|
12
|
-
end
|
1
|
+
source "https://rubygems.org"
|
2
|
+
|
3
|
+
# Specify your gem's dependencies in knife-windows.gemspec
|
4
|
+
gemspec
|
5
|
+
|
6
|
+
group :test do
|
7
|
+
gem "chef"
|
8
|
+
gem "rspec", '~> 3.0'
|
9
|
+
gem "ruby-wmi"
|
10
|
+
gem "httpclient"
|
11
|
+
gem 'rake'
|
12
|
+
end
|