knife-windows 1.4.0 → 1.4.1
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 +4 -4
- data/.gitignore +5 -5
- data/.travis.yml +4 -4
- data/CHANGELOG.md +6 -1
- data/DOC_CHANGES.md +14 -14
- data/LICENSE +201 -201
- data/README.md +1 -0
- data/RELEASE_NOTES.md +34 -34
- data/Rakefile +21 -21
- data/appveyor.yml +4 -7
- 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_base.rb +4 -4
- data/lib/chef/knife/core/windows_bootstrap_context.rb +6 -0
- data/lib/chef/knife/winrm_base.rb +1 -1
- data/lib/chef/knife/winrm_session.rb +3 -0
- data/lib/chef/knife/wsman_test.rb +2 -1
- data/lib/knife-windows/version.rb +1 -1
- data/spec/assets/win_template_rendered_with_bootstrap_install_command.txt +7 -1
- data/spec/assets/win_template_rendered_with_bootstrap_install_command_on_12_5_client.txt +6 -0
- data/spec/assets/win_template_rendered_without_bootstrap_install_command.txt +7 -1
- data/spec/assets/win_template_rendered_without_bootstrap_install_command_on_12_5_client.txt +6 -0
- data/spec/assets/win_template_unrendered.txt +246 -246
- data/spec/dummy_winrm_service.rb +24 -0
- data/spec/unit/knife/bootstrap_windows_winrm_spec.rb +1 -0
- data/spec/unit/knife/winrm_session_spec.rb +12 -1
- data/spec/unit/knife/winrm_spec.rb +17 -25
- data/spec/unit/knife/wsman_test_spec.rb +37 -30
- metadata +5 -23
data/README.md
CHANGED
@@ -2,6 +2,7 @@ Knife Windows Plugin
|
|
2
2
|
====================
|
3
3
|
[](https://travis-ci.org/chef/knife-windows)
|
4
4
|
[](https://ci.appveyor.com/project/Chef/knife-windows/branch/master)
|
5
|
+
[](https://badge.fury.io/rb/knife-windows)
|
5
6
|
|
6
7
|
This plugin adds additional functionality to the Chef Knife CLI tool for
|
7
8
|
configuring / interacting with nodes running Microsoft Windows:
|
data/RELEASE_NOTES.md
CHANGED
@@ -1,34 +1,34 @@
|
|
1
|
-
<!---
|
2
|
-
This file is reset every time a new release is done. The contents of this file are for the currently unreleased version.
|
3
|
-
|
4
|
-
Example Note:
|
5
|
-
|
6
|
-
## Example Heading
|
7
|
-
Details about the thing that changed that needs to get included in the Release Notes in markdown.
|
8
|
-
-->
|
9
|
-
# knife-windows 1.1.0 release notes:
|
10
|
-
This release of knife-windows includes an important fix for an
|
11
|
-
incompatibility issue with Chef Client 12.5 during bootstrap. If you
|
12
|
-
are running knife-windows 1.0.0, please upgrade to this version. See
|
13
|
-
the following issue for details: https://github.com/chef/knife-windows/pull/302
|
14
|
-
|
15
|
-
You can install this version using the `gem` command:
|
16
|
-
|
17
|
-
gem install knife-windows
|
18
|
-
|
19
|
-
## Reporting issues and contributing
|
20
|
-
`knife-windows` issues like those addressed in this release should be reported in the ticketing system at https://github.com/chef/knife-windows/issues. You can learn more about how to contribute features and bug fixes to `knife-windows` in the [Chef Contributions document](http://docs.chef.io/community_contributions.html).
|
21
|
-
|
22
|
-
## New features -- proxy support for WinRM
|
23
|
-
The `winrm` and `bootstrap windows winrm` subcommands now honor the
|
24
|
-
proxy server configured via the `http_proxy` setting in `knife.rb` for
|
25
|
-
WinRM traffic.
|
26
|
-
|
27
|
-
## Issues fixed in knife-windows 1.1.0
|
28
|
-
See the [knife-windows 1.1.0 CHANGELOG](https://github.com/chef/knife-windows/blob/1.1.0/CHANGELOG.md)
|
29
|
-
for the list of issues fixed in this release.
|
30
|
-
|
31
|
-
## knife-windows on RubyGems and Github
|
32
|
-
https://rubygems.org/gems/knife-windows
|
33
|
-
https://github.com/chef/knife-windows
|
34
|
-
|
1
|
+
<!---
|
2
|
+
This file is reset every time a new release is done. The contents of this file are for the currently unreleased version.
|
3
|
+
|
4
|
+
Example Note:
|
5
|
+
|
6
|
+
## Example Heading
|
7
|
+
Details about the thing that changed that needs to get included in the Release Notes in markdown.
|
8
|
+
-->
|
9
|
+
# knife-windows 1.1.0 release notes:
|
10
|
+
This release of knife-windows includes an important fix for an
|
11
|
+
incompatibility issue with Chef Client 12.5 during bootstrap. If you
|
12
|
+
are running knife-windows 1.0.0, please upgrade to this version. See
|
13
|
+
the following issue for details: https://github.com/chef/knife-windows/pull/302
|
14
|
+
|
15
|
+
You can install this version using the `gem` command:
|
16
|
+
|
17
|
+
gem install knife-windows
|
18
|
+
|
19
|
+
## Reporting issues and contributing
|
20
|
+
`knife-windows` issues like those addressed in this release should be reported in the ticketing system at https://github.com/chef/knife-windows/issues. You can learn more about how to contribute features and bug fixes to `knife-windows` in the [Chef Contributions document](http://docs.chef.io/community_contributions.html).
|
21
|
+
|
22
|
+
## New features -- proxy support for WinRM
|
23
|
+
The `winrm` and `bootstrap windows winrm` subcommands now honor the
|
24
|
+
proxy server configured via the `http_proxy` setting in `knife.rb` for
|
25
|
+
WinRM traffic.
|
26
|
+
|
27
|
+
## Issues fixed in knife-windows 1.1.0
|
28
|
+
See the [knife-windows 1.1.0 CHANGELOG](https://github.com/chef/knife-windows/blob/1.1.0/CHANGELOG.md)
|
29
|
+
for the list of issues fixed in this release.
|
30
|
+
|
31
|
+
## knife-windows on RubyGems and Github
|
32
|
+
https://rubygems.org/gems/knife-windows
|
33
|
+
https://github.com/chef/knife-windows
|
34
|
+
|
data/Rakefile
CHANGED
@@ -1,21 +1,21 @@
|
|
1
|
-
require 'bundler'
|
2
|
-
Bundler::GemHelper.install_tasks
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'rspec/core/rake_task'
|
6
|
-
|
7
|
-
task :default => [:unit_spec, :functional_spec]
|
8
|
-
|
9
|
-
desc "Run all functional specs in spec directory"
|
10
|
-
RSpec::Core::RakeTask.new(:functional_spec) do |t|
|
11
|
-
t.pattern = 'spec/functional/**/*_spec.rb'
|
12
|
-
end
|
13
|
-
|
14
|
-
desc "Run all unit specs in spec directory"
|
15
|
-
RSpec::Core::RakeTask.new(:unit_spec) do |t|
|
16
|
-
t.pattern = 'spec/unit/**/*_spec.rb'
|
17
|
-
end
|
18
|
-
|
19
|
-
rescue LoadError
|
20
|
-
STDERR.puts "\n*** RSpec not available. (sudo) gem install rspec to run unit tests. ***\n\n"
|
21
|
-
end
|
1
|
+
require 'bundler'
|
2
|
+
Bundler::GemHelper.install_tasks
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'rspec/core/rake_task'
|
6
|
+
|
7
|
+
task :default => [:unit_spec, :functional_spec]
|
8
|
+
|
9
|
+
desc "Run all functional specs in spec directory"
|
10
|
+
RSpec::Core::RakeTask.new(:functional_spec) do |t|
|
11
|
+
t.pattern = 'spec/functional/**/*_spec.rb'
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "Run all unit specs in spec directory"
|
15
|
+
RSpec::Core::RakeTask.new(:unit_spec) do |t|
|
16
|
+
t.pattern = 'spec/unit/**/*_spec.rb'
|
17
|
+
end
|
18
|
+
|
19
|
+
rescue LoadError
|
20
|
+
STDERR.puts "\n*** RSpec not available. (sudo) gem install rspec to run unit tests. ***\n\n"
|
21
|
+
end
|
data/appveyor.yml
CHANGED
@@ -8,16 +8,13 @@ environment:
|
|
8
8
|
bundle_gemfile: ci.gemfile
|
9
9
|
|
10
10
|
matrix:
|
11
|
-
- ruby_version: "
|
11
|
+
- ruby_version: "20"
|
12
12
|
chef_version: "< 12"
|
13
13
|
|
14
|
-
- ruby_version: "
|
15
|
-
chef_version: "< 12"
|
16
|
-
|
17
|
-
- ruby_version: "200"
|
14
|
+
- ruby_version: "21"
|
18
15
|
chef_version: "~> 12.0"
|
19
16
|
|
20
|
-
- ruby_version: "
|
17
|
+
- ruby_version: "21"
|
21
18
|
chef_version: "master"
|
22
19
|
|
23
20
|
clone_folder: c:\projects\knife-windows
|
@@ -32,7 +29,7 @@ install:
|
|
32
29
|
- echo %PATH%
|
33
30
|
- ruby --version
|
34
31
|
- gem --version
|
35
|
-
- gem install bundler --quiet --no-ri --no-rdoc
|
32
|
+
- gem install bundler -v 1.11.2 --quiet --no-ri --no-rdoc
|
36
33
|
- bundler --version
|
37
34
|
|
38
35
|
build_script:
|
data/ci.gemfile
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
source "https://rubygems.org"
|
2
|
-
|
3
|
-
# Specify your gem's dependencies in knife-windows.gemspec
|
4
|
-
gemspec
|
5
|
-
|
6
|
-
if ENV['CHEF_VERSION'] == 'master'
|
7
|
-
gem 'chef', github: 'chef/chef'
|
8
|
-
else
|
9
|
-
gem 'chef', ENV['CHEF_VERSION']
|
10
|
-
end
|
11
|
-
|
12
|
-
gem "rspec", '~> 3.0'
|
13
|
-
gem "ruby-wmi"
|
14
|
-
gem "httpclient"
|
15
|
-
gem 'rake'
|
1
|
+
source "https://rubygems.org"
|
2
|
+
|
3
|
+
# Specify your gem's dependencies in knife-windows.gemspec
|
4
|
+
gemspec
|
5
|
+
|
6
|
+
if ENV['CHEF_VERSION'] == 'master'
|
7
|
+
gem 'chef', github: 'chef/chef'
|
8
|
+
else
|
9
|
+
gem 'chef', ENV['CHEF_VERSION']
|
10
|
+
end
|
11
|
+
|
12
|
+
gem "rspec", '~> 3.0'
|
13
|
+
gem "ruby-wmi"
|
14
|
+
gem "httpclient"
|
15
|
+
gem 'rake'
|
data/features/knife_help.feature
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
-
Feature: Ensure that the help works as designed
|
2
|
-
In order to test the help via CLI
|
3
|
-
As an Operator
|
4
|
-
I want to run the CLI with different arguments
|
5
|
-
|
6
|
-
Scenario: Running the windows sub-command shows available commands
|
7
|
-
When I run `knife windows`
|
8
|
-
And the output should contain "Available windows subcommands: (for details, knife SUB-COMMAND --help)\n\n** WINDOWS COMMANDS **\nknife bootstrap windows winrm FQDN (options)\nknife bootstrap windows ssh FQDN (options)\nknife winrm QUERY COMMAND (options)"
|
9
|
-
|
10
|
-
Scenario: Running the windows sub-command shows available commands
|
11
|
-
When I run `knife windows --help`
|
12
|
-
And the output should contain "Available windows subcommands: (for details, knife SUB-COMMAND --help)\n\n** WINDOWS COMMANDS **\nknife bootstrap windows winrm FQDN (options)\nknife bootstrap windows ssh FQDN (options)\nknife winrm QUERY COMMAND (options)"
|
13
|
-
|
14
|
-
Scenario: Running the windows sub-command shows available commands
|
15
|
-
When I run `knife windows help`
|
16
|
-
And the output should contain "Available windows subcommands: (for details, knife SUB-COMMAND --help)\n\n** WINDOWS COMMANDS **\nknife bootstrap windows winrm FQDN (options)\nknife bootstrap windows ssh FQDN (options)\nknife winrm QUERY COMMAND (options)"
|
17
|
-
|
18
|
-
Scenario: Running the knife command shows available windows command"
|
19
|
-
When I run `knife`
|
20
|
-
And the output should contain "** WINDOWS COMMANDS **\nknife bootstrap windows winrm FQDN (options)\nknife bootstrap windows ssh FQDN (options)\nknife winrm QUERY COMMAND (options)"
|
1
|
+
Feature: Ensure that the help works as designed
|
2
|
+
In order to test the help via CLI
|
3
|
+
As an Operator
|
4
|
+
I want to run the CLI with different arguments
|
5
|
+
|
6
|
+
Scenario: Running the windows sub-command shows available commands
|
7
|
+
When I run `knife windows`
|
8
|
+
And the output should contain "Available windows subcommands: (for details, knife SUB-COMMAND --help)\n\n** WINDOWS COMMANDS **\nknife bootstrap windows winrm FQDN (options)\nknife bootstrap windows ssh FQDN (options)\nknife winrm QUERY COMMAND (options)"
|
9
|
+
|
10
|
+
Scenario: Running the windows sub-command shows available commands
|
11
|
+
When I run `knife windows --help`
|
12
|
+
And the output should contain "Available windows subcommands: (for details, knife SUB-COMMAND --help)\n\n** WINDOWS COMMANDS **\nknife bootstrap windows winrm FQDN (options)\nknife bootstrap windows ssh FQDN (options)\nknife winrm QUERY COMMAND (options)"
|
13
|
+
|
14
|
+
Scenario: Running the windows sub-command shows available commands
|
15
|
+
When I run `knife windows help`
|
16
|
+
And the output should contain "Available windows subcommands: (for details, knife SUB-COMMAND --help)\n\n** WINDOWS COMMANDS **\nknife bootstrap windows winrm FQDN (options)\nknife bootstrap windows ssh FQDN (options)\nknife winrm QUERY COMMAND (options)"
|
17
|
+
|
18
|
+
Scenario: Running the knife command shows available windows command"
|
19
|
+
When I run `knife`
|
20
|
+
And the output should contain "** WINDOWS COMMANDS **\nknife bootstrap windows winrm FQDN (options)\nknife bootstrap windows ssh FQDN (options)\nknife winrm QUERY COMMAND (options)"
|
data/features/support/env.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
require 'aruba/cucumber'
|
2
|
-
|
3
|
-
Before do
|
4
|
-
@aruba_timeout_seconds = 5
|
5
|
-
end
|
1
|
+
require 'aruba/cucumber'
|
2
|
+
|
3
|
+
Before do
|
4
|
+
@aruba_timeout_seconds = 5
|
5
|
+
end
|
data/knife-windows.gemspec
CHANGED
@@ -1,25 +1,25 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.push File.expand_path("../lib", __FILE__)
|
3
|
-
require "knife-windows/version"
|
4
|
-
|
5
|
-
Gem::Specification.new do |s|
|
6
|
-
s.name = "knife-windows"
|
7
|
-
s.version = Knife::Windows::VERSION
|
8
|
-
s.platform = Gem::Platform::RUBY
|
9
|
-
s.authors = ["Seth Chisamore"]
|
10
|
-
s.email = ["schisamo@chef.io"]
|
11
|
-
s.license = "Apache-2.0"
|
12
|
-
s.homepage = "https://github.com/chef/knife-windows"
|
13
|
-
s.summary = %q{Plugin that adds functionality to Chef's Knife CLI for configuring/interacting with nodes running Microsoft Windows}
|
14
|
-
s.description = s.summary
|
15
|
-
|
16
|
-
s.required_ruby_version = ">= 1.9.1"
|
17
|
-
s.add_dependency "winrm", "~> 1.7"
|
18
|
-
|
19
|
-
s.add_development_dependency 'pry'
|
20
|
-
|
21
|
-
s.files = `git ls-files`.split("\n")
|
22
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
23
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
24
|
-
s.require_paths = ["lib"]
|
25
|
-
end
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "knife-windows/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "knife-windows"
|
7
|
+
s.version = Knife::Windows::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Seth Chisamore"]
|
10
|
+
s.email = ["schisamo@chef.io"]
|
11
|
+
s.license = "Apache-2.0"
|
12
|
+
s.homepage = "https://github.com/chef/knife-windows"
|
13
|
+
s.summary = %q{Plugin that adds functionality to Chef's Knife CLI for configuring/interacting with nodes running Microsoft Windows}
|
14
|
+
s.description = s.summary
|
15
|
+
|
16
|
+
s.required_ruby_version = ">= 1.9.1"
|
17
|
+
s.add_dependency "winrm", "~> 1.7"
|
18
|
+
|
19
|
+
s.add_development_dependency 'pry'
|
20
|
+
|
21
|
+
s.files = `git ls-files`.split("\n")
|
22
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
23
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
24
|
+
s.require_paths = ["lib"]
|
25
|
+
end
|
@@ -103,7 +103,7 @@ class Chef
|
|
103
103
|
|
104
104
|
option :hint,
|
105
105
|
:long => "--hint HINT_NAME[=HINT_FILE]",
|
106
|
-
:description => "Specify Ohai Hint to be set on the bootstrap target.
|
106
|
+
:description => "Specify Ohai Hint to be set on the bootstrap target. Use multiple --hint options to specify multiple hints.",
|
107
107
|
:proc => Proc.new { |h|
|
108
108
|
Chef::Config[:knife][:hints] ||= Hash.new
|
109
109
|
name, path = h.split("=")
|
@@ -127,7 +127,7 @@ class Chef
|
|
127
127
|
option :encrypted_data_bag_secret,
|
128
128
|
:short => "-s SECRET",
|
129
129
|
:long => "--secret ",
|
130
|
-
:description => "The secret key to use to decrypt data bag item values.
|
130
|
+
:description => "The secret key to use to decrypt data bag item values. Will be rendered on the node at c:/chef/encrypted_data_bag_secret and set in the rendered client config.",
|
131
131
|
:default => false
|
132
132
|
|
133
133
|
# Mismatch between option 'encrypted_data_bag_secret_file' and it's long value '--secret-file' is by design for compatibility
|
@@ -280,7 +280,7 @@ class Chef
|
|
280
280
|
|
281
281
|
bootstrap_architecture = Chef::Config[:knife][:bootstrap_architecture]
|
282
282
|
if bootstrap_architecture && ![:x86_64, :i386].include?(bootstrap_architecture.to_sym)
|
283
|
-
raise "Valid values for the knife config :bootstrap_architecture are i386 or x86_64.
|
283
|
+
raise "Valid values for the knife config :bootstrap_architecture are i386 or x86_64. Supplied value is #{bootstrap_architecture}"
|
284
284
|
end
|
285
285
|
if Chef::Config[:knife][:architecture]
|
286
286
|
raise "Do not set :architecture in your knife config, use :bootstrap_architecture."
|
@@ -435,7 +435,7 @@ behavior will be removed and any 'encrypted_data_bag_secret' entries in
|
|
435
435
|
if bootstrap_architecture.nil?
|
436
436
|
architecture = current_architecture
|
437
437
|
elsif bootstrap_architecture == :x86_64 && current_architecture == :i386
|
438
|
-
raise "You specified bootstrap_architecture as x86_64 but the target machine is i386.
|
438
|
+
raise "You specified bootstrap_architecture as x86_64 but the target machine is i386. A 64 bit program cannot run on a 32 bit machine."
|
439
439
|
else
|
440
440
|
architecture = bootstrap_architecture
|
441
441
|
end
|
@@ -254,8 +254,14 @@ param(
|
|
254
254
|
[String] $localPath
|
255
255
|
)
|
256
256
|
|
257
|
+
$ProxyUrl = $env:http_proxy;
|
257
258
|
$webClient = new-object System.Net.WebClient;
|
258
259
|
|
260
|
+
if ($ProxyUrl -ne '') {
|
261
|
+
$WebProxy = New-Object System.Net.WebProxy($ProxyUrl,$true)
|
262
|
+
$WebClient.Proxy = $WebProxy
|
263
|
+
}
|
264
|
+
|
259
265
|
$webClient.DownloadFile($remoteUrl, $localPath);
|
260
266
|
WGET_PS
|
261
267
|
|
@@ -54,7 +54,7 @@ class Chef
|
|
54
54
|
option :winrm_transport,
|
55
55
|
:short => "-t TRANSPORT",
|
56
56
|
:long => "--winrm-transport TRANSPORT",
|
57
|
-
:description => "The WinRM transport type.
|
57
|
+
:description => "The WinRM transport type. Valid choices are [ssl, plaintext]",
|
58
58
|
:default => 'plaintext',
|
59
59
|
:proc => Proc.new { |transport| Chef::Config[:knife][:winrm_port] = '5986' if transport == 'ssl'
|
60
60
|
Chef::Config[:knife][:winrm_transport] = transport }
|
@@ -42,6 +42,9 @@ class Chef
|
|
42
42
|
Chef::Log.debug("Transport: #{options[:transport]}")
|
43
43
|
|
44
44
|
@winrm_session = WinRM::WinRMWebService.new(@endpoint, options[:transport], opts)
|
45
|
+
transport = @winrm_session.instance_variable_get(:@xfer)
|
46
|
+
http_client = transport.instance_variable_get(:@httpcli)
|
47
|
+
Chef::HTTP::DefaultSSLPolicy.new(http_client.ssl_config).set_custom_certs
|
45
48
|
@winrm_session.set_timeout(options[:operation_timeout]) if options[:operation_timeout]
|
46
49
|
end
|
47
50
|
|
@@ -62,7 +62,7 @@ class Chef
|
|
62
62
|
unless output_object.error_message.nil?
|
63
63
|
ui.warn "Failed to connect to #{item.host} at #{item.endpoint}."
|
64
64
|
if err && err.is_a?(OpenSSL::SSL::SSLError)
|
65
|
-
ui.warn "Failure due to an issue with SSL; likely cause would be
|
65
|
+
ui.warn "Failure due to an issue with SSL; likely cause would be unsuccessful certificate verification."
|
66
66
|
ui.warn "Either ensure your certificate is valid or use '--winrm-ssl-verify-mode verify_none' to ignore verification failures."
|
67
67
|
end
|
68
68
|
error_count += 1
|
@@ -86,6 +86,7 @@ class Chef
|
|
86
86
|
}
|
87
87
|
|
88
88
|
client = HTTPClient.new
|
89
|
+
Chef::HTTP::DefaultSSLPolicy.new(client.ssl_config).set_custom_certs
|
89
90
|
client.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE if resolve_no_ssl_peer_verification
|
90
91
|
client.post(endpoint, xml, header)
|
91
92
|
end
|
@@ -104,8 +104,14 @@ echo. [String] $remoteUrl,
|
|
104
104
|
echo. [String] $localPath
|
105
105
|
echo.^)
|
106
106
|
echo.
|
107
|
+
echo.$ProxyUrl = $env:http_proxy;
|
107
108
|
echo.$webClient = new-object System.Net.WebClient;
|
108
109
|
echo.
|
110
|
+
echo.if ^($ProxyUrl -ne ''^) {
|
111
|
+
echo. $WebProxy = New-Object System.Net.WebProxy^($ProxyUrl,$true^)
|
112
|
+
echo. $WebClient.Proxy = $WebProxy
|
113
|
+
echo.}
|
114
|
+
echo.
|
109
115
|
echo.$webClient.DownloadFile^($remoteUrl, $localPath^);
|
110
116
|
|
111
117
|
)
|
@@ -213,5 +219,5 @@ echo.# Using default node name ^(fqdn^)
|
|
213
219
|
|
214
220
|
@echo Starting chef to bootstrap the node...
|
215
221
|
SET "PATH=%PATH%;C:\ruby\bin;C:\opscode\chef\bin;C:\opscode\chef\embedded\bin"
|
216
|
-
chef-client -c c:/chef/client.rb -j c:/chef/first-boot.json
|
222
|
+
chef-client -c c:/chef/client.rb -j c:/chef/first-boot.json
|
217
223
|
|
@@ -104,8 +104,14 @@ echo. [String] $remoteUrl,
|
|
104
104
|
echo. [String] $localPath
|
105
105
|
echo.^)
|
106
106
|
echo.
|
107
|
+
echo.$ProxyUrl = $env:http_proxy;
|
107
108
|
echo.$webClient = new-object System.Net.WebClient;
|
108
109
|
echo.
|
110
|
+
echo.if ^($ProxyUrl -ne ''^) {
|
111
|
+
echo. $WebProxy = New-Object System.Net.WebProxy^($ProxyUrl,$true^)
|
112
|
+
echo. $WebClient.Proxy = $WebProxy
|
113
|
+
echo.}
|
114
|
+
echo.
|
109
115
|
echo.$webClient.DownloadFile^($remoteUrl, $localPath^);
|
110
116
|
|
111
117
|
)
|
@@ -104,8 +104,14 @@ echo. [String] $remoteUrl,
|
|
104
104
|
echo. [String] $localPath
|
105
105
|
echo.^)
|
106
106
|
echo.
|
107
|
+
echo.$ProxyUrl = $env:http_proxy;
|
107
108
|
echo.$webClient = new-object System.Net.WebClient;
|
108
109
|
echo.
|
110
|
+
echo.if ^($ProxyUrl -ne ''^) {
|
111
|
+
echo. $WebProxy = New-Object System.Net.WebProxy^($ProxyUrl,$true^)
|
112
|
+
echo. $WebClient.Proxy = $WebProxy
|
113
|
+
echo.}
|
114
|
+
echo.
|
109
115
|
echo.$webClient.DownloadFile^($remoteUrl, $localPath^);
|
110
116
|
|
111
117
|
)
|
@@ -325,5 +331,5 @@ echo.# Using default node name ^(fqdn^)
|
|
325
331
|
|
326
332
|
@echo Starting chef to bootstrap the node...
|
327
333
|
SET "PATH=%PATH%;C:\ruby\bin;C:\opscode\chef\bin;C:\opscode\chef\embedded\bin"
|
328
|
-
chef-client -c c:/chef/client.rb -j c:/chef/first-boot.json
|
334
|
+
chef-client -c c:/chef/client.rb -j c:/chef/first-boot.json
|
329
335
|
|
@@ -104,8 +104,14 @@ echo. [String] $remoteUrl,
|
|
104
104
|
echo. [String] $localPath
|
105
105
|
echo.^)
|
106
106
|
echo.
|
107
|
+
echo.$ProxyUrl = $env:http_proxy;
|
107
108
|
echo.$webClient = new-object System.Net.WebClient;
|
108
109
|
echo.
|
110
|
+
echo.if ^($ProxyUrl -ne ''^) {
|
111
|
+
echo. $WebProxy = New-Object System.Net.WebProxy^($ProxyUrl,$true^)
|
112
|
+
echo. $WebClient.Proxy = $WebProxy
|
113
|
+
echo.}
|
114
|
+
echo.
|
109
115
|
echo.$webClient.DownloadFile^($remoteUrl, $localPath^);
|
110
116
|
|
111
117
|
)
|