knife-azure 2.0.13 → 3.0.5

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/azure/azure_interface.rb +1 -1
  3. data/lib/azure/custom_errors.rb +1 -1
  4. data/lib/azure/helpers.rb +1 -1
  5. data/lib/azure/resource_management/ARM_deployment_template.rb +1 -1
  6. data/lib/azure/resource_management/ARM_interface.rb +7 -9
  7. data/lib/azure/resource_management/vnet_config.rb +2 -2
  8. data/lib/azure/resource_management/windows_credentials.rb +6 -7
  9. data/lib/azure/service_management/ASM_interface.rb +1 -1
  10. data/lib/azure/service_management/ag.rb +1 -1
  11. data/lib/azure/service_management/certificate.rb +4 -4
  12. data/lib/azure/service_management/connection.rb +1 -1
  13. data/lib/azure/service_management/deploy.rb +1 -1
  14. data/lib/azure/service_management/disk.rb +1 -1
  15. data/lib/azure/service_management/host.rb +1 -1
  16. data/lib/azure/service_management/image.rb +1 -1
  17. data/lib/azure/service_management/loadbalancer.rb +1 -1
  18. data/lib/azure/service_management/rest.rb +5 -4
  19. data/lib/azure/service_management/role.rb +2 -2
  20. data/lib/azure/service_management/storageaccount.rb +1 -1
  21. data/lib/azure/service_management/utility.rb +1 -1
  22. data/lib/azure/service_management/vnet.rb +1 -1
  23. data/lib/chef/knife/azure_ag_create.rb +4 -4
  24. data/lib/chef/knife/azure_ag_list.rb +1 -1
  25. data/lib/chef/knife/azure_image_list.rb +3 -3
  26. data/lib/chef/knife/azure_internal-lb_create.rb +5 -5
  27. data/lib/chef/knife/azure_internal-lb_list.rb +1 -1
  28. data/lib/chef/knife/azure_server_create.rb +71 -71
  29. data/lib/chef/knife/azure_server_delete.rb +7 -7
  30. data/lib/chef/knife/azure_server_list.rb +1 -1
  31. data/lib/chef/knife/azure_server_show.rb +1 -1
  32. data/lib/chef/knife/azure_vnet_create.rb +5 -5
  33. data/lib/chef/knife/azure_vnet_list.rb +1 -1
  34. data/lib/chef/knife/azurerm_server_create.rb +45 -45
  35. data/lib/chef/knife/azurerm_server_delete.rb +8 -8
  36. data/lib/chef/knife/azurerm_server_list.rb +3 -3
  37. data/lib/chef/knife/azurerm_server_show.rb +3 -3
  38. data/lib/chef/knife/bootstrap/bootstrapper.rb +29 -35
  39. data/lib/chef/knife/bootstrap/common_bootstrap_options.rb +3 -5
  40. data/lib/chef/knife/bootstrap_azure.rb +15 -15
  41. data/lib/chef/knife/bootstrap_azurerm.rb +7 -7
  42. data/lib/chef/knife/helpers/azure_base.rb +54 -65
  43. data/lib/chef/knife/helpers/azurerm_base.rb +46 -57
  44. data/lib/knife-azure/version.rb +2 -2
  45. metadata +13 -13
@@ -2,7 +2,7 @@
2
2
  # Author:: Barry Davis (barryd@jetstreamsoftware.com)
3
3
  # Author:: Adam Jacob (<adam@chef.io>)
4
4
  # Author:: Seth Chisamore (<schisamo@chef.io>)
5
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
5
+ # Copyright:: Copyright (c) Chef Software Inc.
6
6
  # License:: Apache License, Version 2.0
7
7
  #
8
8
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -94,7 +94,7 @@ class Chef
94
94
  end
95
95
 
96
96
  def validate_disk_and_storage
97
- if locate_config_value(:preserve_azure_os_disk) && locate_config_value(:delete_azure_storage_account)
97
+ if config[:preserve_azure_os_disk] && config[:delete_azure_storage_account]
98
98
  ui.warn("Cannot delete storage account while keeping OS Disk. Please set any one option.")
99
99
  exit
100
100
  else
@@ -107,11 +107,11 @@ class Chef
107
107
  validate_disk_and_storage
108
108
  @name_args.each do |name|
109
109
  begin
110
- service.delete_server( { name: name, preserve_azure_os_disk: locate_config_value(:preserve_azure_os_disk),
111
- preserve_azure_vhd: locate_config_value(:preserve_azure_vhd),
112
- preserve_azure_dns_name: locate_config_value(:preserve_azure_dns_name),
113
- delete_azure_storage_account: locate_config_value(:delete_azure_storage_account),
114
- wait: locate_config_value(:wait) } )
110
+ service.delete_server( { name: name, preserve_azure_os_disk: config[:preserve_azure_os_disk],
111
+ preserve_azure_vhd: config[:preserve_azure_vhd],
112
+ preserve_azure_dns_name: config[:preserve_azure_dns_name],
113
+ delete_azure_storage_account: config[:delete_azure_storage_account],
114
+ wait: config[:wait] } )
115
115
 
116
116
  if config[:purge]
117
117
  node_to_delete = config[:chef_node_name] || name
@@ -2,7 +2,7 @@
2
2
  # Author:: Barry Davis (barryd@jetstreamsoftware.com)
3
3
  # Author:: Seth Chisamore (<schisamo@chef.io>)
4
4
  # Author:: Adam Jacob (<adam@chef.io>)
5
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
5
+ # Copyright:: Copyright (c) Chef Software Inc.
6
6
  # License:: Apache License, Version 2.0
7
7
  #
8
8
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -2,7 +2,7 @@
2
2
  # Author:: Barry Davis (barryd@jetstreamsoftware.com)
3
3
  # Author:: Seth Chisamore (<schisamo@chef.io>)
4
4
  # Author:: Adam Jacob (<adam@chef.io>)
5
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
5
+ # Copyright:: Copyright (c) Chef Software Inc.
6
6
  # License:: Apache License, Version 2.0
7
7
  #
8
8
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Jeff Mendoza (jeffmendoza@live.com)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -50,10 +50,10 @@ class Chef
50
50
  validate_asm_keys!(:azure_network_name, :azure_affinity_group, :azure_address_space)
51
51
 
52
52
  params = {
53
- azure_vnet_name: locate_config_value(:azure_network_name),
54
- azure_ag_name: locate_config_value(:azure_affinity_group),
55
- azure_address_space: locate_config_value(:azure_address_space),
56
- azure_subnet_name: locate_config_value(:azure_subnet_name) || "Subnet-#{Random.rand(10)}",
53
+ azure_vnet_name: config[:azure_network_name],
54
+ azure_ag_name: config[:azure_affinity_group],
55
+ azure_address_space: config[:azure_address_space],
56
+ azure_subnet_name: config[:azure_subnet_name] || "Subnet-#{Random.rand(10)}",
57
57
  }
58
58
 
59
59
  rsp = service.create_vnet(params)
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Jeff Mendoza (jeffmendoza@live.com)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Aliasgar Batterywala (aliasgar.batterywala@clogeny.com)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -31,8 +31,8 @@ class Chef
31
31
  include Knife::Bootstrap::Bootstrapper
32
32
 
33
33
  deps do
34
- require "securerandom"
35
- include Knife::AzurermBase.load_deps
34
+ require "securerandom" unless defined?(SecureRandom)
35
+ include Knife::AzurermBase
36
36
  end
37
37
 
38
38
  banner "knife azurerm server create (options)"
@@ -156,55 +156,55 @@ class Chef
156
156
 
157
157
  def create_server_def
158
158
  server_def = {
159
- azure_resource_group_name: locate_config_value(:azure_resource_group_name),
160
- azure_storage_account: locate_config_value(:azure_storage_account),
161
- azure_storage_account_type: locate_config_value(:azure_storage_account_type),
162
- azure_vm_name: locate_config_value(:azure_vm_name),
163
- azure_service_location: locate_config_value(:azure_service_location),
164
- azure_os_disk_name: locate_config_value(:azure_os_disk_name),
165
- azure_os_disk_caching: locate_config_value(:azure_os_disk_caching),
166
- azure_os_disk_create_option: locate_config_value(:azure_os_disk_create_option),
167
- azure_vm_size: locate_config_value(:azure_vm_size),
168
- azure_image_reference_publisher: locate_config_value(:azure_image_reference_publisher),
169
- azure_image_reference_offer: locate_config_value(:azure_image_reference_offer),
170
- azure_image_reference_sku: locate_config_value(:azure_image_reference_sku),
171
- azure_image_reference_version: locate_config_value(:azure_image_reference_version),
172
- azure_availability_set: locate_config_value(:azure_availability_set),
173
- azure_vnet_name: locate_config_value(:azure_vnet_name),
174
- azure_vnet_subnet_name: locate_config_value(:azure_vnet_subnet_name),
175
- ssl_cert_fingerprint: locate_config_value(:thumbprint),
176
- cert_path: locate_config_value(:cert_path),
177
- cert_password: locate_config_value(:cert_passphrase),
178
- vnet_subnet_address_prefix: locate_config_value(:vnet_subnet_address_prefix),
179
- server_count: locate_config_value(:server_count),
159
+ azure_resource_group_name: config[:azure_resource_group_name],
160
+ azure_storage_account: config[:azure_storage_account],
161
+ azure_storage_account_type: config[:azure_storage_account_type],
162
+ azure_vm_name: config[:azure_vm_name],
163
+ azure_service_location: config[:azure_service_location],
164
+ azure_os_disk_name: config[:azure_os_disk_name],
165
+ azure_os_disk_caching: config[:azure_os_disk_caching],
166
+ azure_os_disk_create_option: config[:azure_os_disk_create_option],
167
+ azure_vm_size: config[:azure_vm_size],
168
+ azure_image_reference_publisher: config[:azure_image_reference_publisher],
169
+ azure_image_reference_offer: config[:azure_image_reference_offer],
170
+ azure_image_reference_sku: config[:azure_image_reference_sku],
171
+ azure_image_reference_version: config[:azure_image_reference_version],
172
+ azure_availability_set: config[:azure_availability_set],
173
+ azure_vnet_name: config[:azure_vnet_name],
174
+ azure_vnet_subnet_name: config[:azure_vnet_subnet_name],
175
+ ssl_cert_fingerprint: config[:thumbprint],
176
+ cert_path: config[:cert_path],
177
+ cert_password: config[:cert_passphrase],
178
+ vnet_subnet_address_prefix: config[:vnet_subnet_address_prefix],
179
+ server_count: config[:server_count],
180
180
  }
181
181
 
182
- server_def[:tcp_endpoints] = locate_config_value(:tcp_endpoints) if locate_config_value(:tcp_endpoints)
182
+ server_def[:tcp_endpoints] = config[:tcp_endpoints] if config[:tcp_endpoints]
183
183
 
184
184
  # We assign azure_vm_name to chef_node_name If node name is nill because storage account name is combination of hash value and node name.
185
- config[:chef_node_name] ||= locate_config_value(:azure_vm_name)
185
+ config[:chef_node_name] ||= config[:azure_vm_name]
186
186
 
187
- server_def[:azure_storage_account] = locate_config_value(:azure_vm_name) if server_def[:azure_storage_account].nil?
187
+ server_def[:azure_storage_account] = config[:azure_vm_name] if server_def[:azure_storage_account].nil?
188
188
  server_def[:azure_storage_account] = server_def[:azure_storage_account].gsub(/[!@#$%^&*()_-]/, "")
189
189
 
190
- server_def[:azure_os_disk_name] = locate_config_value(:azure_vm_name) if server_def[:azure_os_disk_name].nil?
190
+ server_def[:azure_os_disk_name] = config[:azure_vm_name] if server_def[:azure_os_disk_name].nil?
191
191
  server_def[:azure_os_disk_name] = server_def[:azure_os_disk_name].gsub(/[!@#$%^&*()_-]/, "")
192
192
 
193
- server_def[:azure_vnet_name] = locate_config_value(:azure_vm_name) if server_def[:azure_vnet_name].nil?
194
- server_def[:azure_vnet_subnet_name] = locate_config_value(:azure_vm_name) if locate_config_value(:azure_vnet_subnet_name).nil?
193
+ server_def[:azure_vnet_name] = config[:azure_vm_name] if server_def[:azure_vnet_name].nil?
194
+ server_def[:azure_vnet_subnet_name] = config[:azure_vm_name] if config[:azure_vnet_subnet_name].nil?
195
195
 
196
196
  server_def[:chef_extension] = get_chef_extension_name
197
197
  server_def[:chef_extension_publisher] = get_chef_extension_publisher
198
- server_def[:chef_extension_version] = locate_config_value(:azure_chef_extension_version)
198
+ server_def[:chef_extension_version] = config[:azure_chef_extension_version]
199
199
  server_def[:chef_extension_public_param] = get_chef_extension_public_params
200
200
  server_def[:chef_extension_private_param] = get_chef_extension_private_params
201
201
  server_def[:auto_upgrade_minor_version] = false
202
- server_def[:connection_user] = locate_config_value(:connection_user)
203
- server_def[:disablePasswordAuthentication] = if locate_config_value(:ssh_public_key)
204
- server_def[:ssh_public_key] = File.read(locate_config_value(:ssh_public_key))
202
+ server_def[:connection_user] = config[:connection_user]
203
+ server_def[:disablePasswordAuthentication] = if config[:ssh_public_key]
204
+ server_def[:ssh_public_key] = File.read(config[:ssh_public_key])
205
205
  "true"
206
206
  else
207
- server_def[:connection_password] = locate_config_value(:connection_password)
207
+ server_def[:connection_password] = config[:connection_password]
208
208
  "false"
209
209
  end
210
210
 
@@ -229,7 +229,7 @@ class Chef
229
229
  end
230
230
 
231
231
  def validate_ohai_hints
232
- hint_values = locate_config_value(:ohai_hints).split(",")
232
+ hint_values = config[:ohai_hints].split(",")
233
233
  hint_values.each do |hint|
234
234
  unless is_supported_ohai_hint?(hint)
235
235
  raise ArgumentError, "Ohai Hint name #{hint} passed is not supported. Please run the command help to see the list of supported values."
@@ -245,22 +245,22 @@ class Chef
245
245
  end
246
246
 
247
247
  def set_configs
248
- unless locate_config_value(:connection_user).nil?
249
- config[:connection_user] = locate_config_value(:connection_user)
248
+ unless config[:connection_user].nil?
249
+ config[:connection_user] = config[:connection_user]
250
250
  end
251
251
 
252
- unless locate_config_value(:connection_password).nil?
253
- config[:connection_password] = locate_config_value(:connection_password)
252
+ unless config[:connection_password].nil?
253
+ config[:connection_password] = config[:connection_password]
254
254
  end
255
255
  end
256
256
 
257
257
  def set_default_image_reference!
258
258
  begin
259
- if locate_config_value(:azure_image_os_type)
259
+ if config[:azure_image_os_type]
260
260
  validate_publisher_and_offer
261
261
  ## if azure_image_os_type is given (with or without azure-image-reference-sku) and other image reference parameters are not given,
262
262
  # set default image reference parameters
263
- case locate_config_value(:azure_image_os_type)
263
+ case config[:azure_image_os_type]
264
264
  when "ubuntu"
265
265
  set_os_image("Canonical", "UbuntuServer", "14.04.2-LTS")
266
266
  when "centos"
@@ -292,15 +292,15 @@ class Chef
292
292
  def set_os_image(publisher, img_offer, default_os_version)
293
293
  config[:azure_image_reference_publisher] = publisher
294
294
  config[:azure_image_reference_offer] = img_offer
295
- config[:azure_image_reference_sku] = locate_config_value(:azure_image_reference_sku) ? locate_config_value(:azure_image_reference_sku) : default_os_version
295
+ config[:azure_image_reference_sku] = config[:azure_image_reference_sku] ? config[:azure_image_reference_sku] : default_os_version
296
296
  end
297
297
 
298
298
  def is_image_os_type?
299
- locate_config_value(:azure_image_reference_publisher) && locate_config_value(:azure_image_reference_offer) && locate_config_value(:azure_image_reference_sku) && locate_config_value(:azure_image_reference_version)
299
+ config[:azure_image_reference_publisher] && config[:azure_image_reference_offer] && config[:azure_image_reference_sku] && config[:azure_image_reference_version]
300
300
  end
301
301
 
302
302
  def validate_publisher_and_offer
303
- if locate_config_value(:azure_image_reference_publisher) || locate_config_value(:azure_image_reference_offer)
303
+ if config[:azure_image_reference_publisher] || config[:azure_image_reference_offer]
304
304
  # if azure_image_os_type is given and any of the other image reference parameters like publisher or offer are also given,
305
305
  # raise error
306
306
  raise ArgumentError, 'Please specify either --azure-image-os-type OR --azure-image-os-type with --azure-image-reference-sku or 4 image reference parameters i.e.
@@ -2,7 +2,7 @@
2
2
  # Author:: Barry Davis (barryd@jetstreamsoftware.com)
3
3
  # Author:: Adam Jacob (<adam@chef.io>)
4
4
  # Author:: Seth Chisamore (<schisamo@chef.io>)
5
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
5
+ # Copyright:: Copyright (c) Chef Software Inc.
6
6
  # License:: Apache License, Version 2.0
7
7
  #
8
8
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -30,7 +30,7 @@ class Chef
30
30
  # These two are needed for the '--purge' deletion case
31
31
  require "chef/node"
32
32
  require "chef/api_client"
33
- include Knife::AzurermBase.load_deps
33
+ include Knife::AzurermBase
34
34
  end
35
35
 
36
36
  banner "knife azurerm server delete SERVER [SERVER] (options)"
@@ -51,7 +51,7 @@ class Chef
51
51
  long: "--delete-resource-group",
52
52
  boolean: true,
53
53
  default: false,
54
- description: "Deletes corresponding resource group along with Vitual Machine."
54
+ description: "Deletes corresponding resource group along with Virtual Machine."
55
55
 
56
56
  # Extracted from Chef::Knife.delete_object, because it has a
57
57
  # confirmation step built in... By specifying the '--purge'
@@ -74,10 +74,10 @@ class Chef
74
74
  validate_arm_keys!(:azure_resource_group_name)
75
75
  @vm_name = @name_args[0]
76
76
 
77
- if locate_config_value(:delete_resource_group)
77
+ if config[:delete_resource_group]
78
78
  delete_resource_group
79
79
  else
80
- service.delete_server(locate_config_value(:azure_resource_group_name), @vm_name)
80
+ service.delete_server(config[:azure_resource_group_name], @vm_name)
81
81
  end
82
82
 
83
83
  if config[:purge]
@@ -90,18 +90,18 @@ class Chef
90
90
  end
91
91
 
92
92
  def delete_resource_group
93
- resource_group_name = locate_config_value(:azure_resource_group_name)
93
+ resource_group_name = config[:azure_resource_group_name]
94
94
  ui.warn "Deleting resource group will delete all the virtual_machines inside it."
95
95
  begin
96
96
  ui.confirm("Do you really want to delete resource group")
97
97
  rescue SystemExit # Need to handle this as confirming with N/n raises SystemExit exception
98
98
  server = nil # Cleanup is implicitly performed in other cloud plugins
99
99
  ui.warn "Resource group not deleted. Proceeding for server delete ..."
100
- service.delete_server(locate_config_value(:azure_resource_group_name), @vm_name)
100
+ service.delete_server(config[:azure_resource_group_name], @vm_name)
101
101
  exit
102
102
  end
103
103
  ui.info "Deleting Resource Group " + resource_group_name + " and Virtual Machine " + @vm_name + " .."
104
- service.delete_resource_group(locate_config_value(:azure_resource_group_name))
104
+ service.delete_resource_group(config[:azure_resource_group_name])
105
105
  ui.warn "Deleted resource_group_name #{resource_group_name} and #{@vm_name}"
106
106
  end
107
107
 
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -27,7 +27,7 @@ class Chef
27
27
  banner "knife azurerm server list (options)"
28
28
 
29
29
  deps do
30
- include Knife::AzurermBase.load_deps
30
+ include Knife::AzurermBase
31
31
  end
32
32
 
33
33
  def run
@@ -36,7 +36,7 @@ class Chef
36
36
  get_azure_cli_version
37
37
  validate_arm_keys!
38
38
  begin
39
- service.list_servers(locate_config_value(:azure_resource_group_name))
39
+ service.list_servers(config[:azure_resource_group_name])
40
40
  rescue => error
41
41
  service.common_arm_rescue_block(error)
42
42
  end
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Meera Navale (meera.navale@msystechnologies.com)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -27,7 +27,7 @@ class Chef
27
27
  banner "knife azurerm server show SERVER (options)"
28
28
 
29
29
  deps do
30
- include Knife::AzurermBase.load_deps
30
+ include Knife::AzurermBase
31
31
  end
32
32
 
33
33
  def run
@@ -36,7 +36,7 @@ class Chef
36
36
  get_azure_cli_version
37
37
  validate_arm_keys!(:azure_resource_group_name)
38
38
  begin
39
- service.show_server(@name_args[0], locate_config_value(:azure_resource_group_name))
39
+ service.show_server(@name_args[0], config[:azure_resource_group_name])
40
40
  rescue => error
41
41
  service.common_arm_rescue_block(error)
42
42
  end
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Aliasgar Batterywala (aliasgar.batterywala@clogeny.com)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,6 +16,8 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
+ require_relative "../../../azure/resource_management/ARM_interface"
20
+
19
21
  class Chef
20
22
  class Knife
21
23
  class Bootstrap
@@ -39,13 +41,13 @@ class Chef
39
41
 
40
42
  # get latest version
41
43
  def get_chef_extension_version(chef_extension_name = nil)
42
- if locate_config_value(:azure_chef_extension_version)
43
- Chef::Config[:knife][:azure_chef_extension_version]
44
+ if config[:azure_chef_extension_version]
45
+ config[:azure_chef_extension_version]
44
46
  else
45
47
  chef_extension_name ||= get_chef_extension_name
46
48
  if @service.instance_of? Azure::ResourceManagement::ARMInterface
47
49
  service.get_latest_chef_extension_version(
48
- azure_service_location: locate_config_value(:azure_service_location),
50
+ azure_service_location: config[:azure_service_location],
49
51
  chef_extension_publisher: get_chef_extension_publisher,
50
52
  chef_extension: chef_extension_name
51
53
  )
@@ -57,7 +59,7 @@ class Chef
57
59
  end
58
60
 
59
61
  def ohai_hints
60
- hint_values = locate_config_value(:ohai_hints)
62
+ hint_values = config[:ohai_hints]
61
63
  if hint_values.casecmp("default") == 0
62
64
  default_hint_options
63
65
  else
@@ -67,47 +69,39 @@ class Chef
67
69
 
68
70
  def get_chef_extension_public_params
69
71
  pub_config = {}
70
- if locate_config_value(:azure_extension_client_config)
71
- pub_config[:client_rb] = File.read(File.expand_path(locate_config_value(:azure_extension_client_config)))
72
+ if config[:azure_extension_client_config]
73
+ pub_config[:client_rb] = File.read(File.expand_path(config[:azure_extension_client_config]))
72
74
  else
73
75
  pub_config[:client_rb] = "chef_server_url \t #{Chef::Config[:chef_server_url].to_json}\nvalidation_client_name\t#{Chef::Config[:validation_client_name].to_json}"
74
76
  end
75
77
 
76
- pub_config[:runlist] = locate_config_value(:run_list).empty? ? "" : locate_config_value(:run_list).join(",").to_json
77
- pub_config[:custom_json_attr] = locate_config_value(:json_attributes) || {}
78
- pub_config[:extendedLogs] = locate_config_value(:extended_logs) ? "true" : "false"
79
- pub_config[:hints] = ohai_hints if @service.instance_of?(Azure::ResourceManagement::ARMInterface) && !locate_config_value(:ohai_hints).nil?
80
- pub_config[:chef_daemon_interval] = locate_config_value(:chef_daemon_interval) if locate_config_value(:chef_daemon_interval)
81
- pub_config[:daemon] = locate_config_value(:daemon) if locate_config_value(:daemon)
78
+ pub_config[:runlist] = config[:run_list].empty? ? "" : config[:run_list].join(",").to_json
79
+ pub_config[:custom_json_attr] = config[:json_attributes] || {}
80
+ pub_config[:extendedLogs] = config[:extended_logs] ? "true" : "false"
81
+ pub_config[:hints] = ohai_hints if @service.instance_of?(Azure::ResourceManagement::ARMInterface) && !config[:ohai_hints].nil?
82
+ pub_config[:chef_daemon_interval] = config[:chef_daemon_interval] if config[:chef_daemon_interval]
83
+ pub_config[:daemon] = config[:daemon] if config[:daemon]
82
84
 
83
85
  # bootstrap attributes
84
86
  pub_config[:bootstrap_options] = {}
85
- pub_config[:bootstrap_options][:environment] = locate_config_value(:environment) if locate_config_value(:environment)
86
- pub_config[:bootstrap_options][:chef_node_name] = locate_config_value(:chef_node_name) if locate_config_value(:chef_node_name)
87
+ pub_config[:bootstrap_options][:environment] = config[:environment] if config[:environment]
88
+ pub_config[:bootstrap_options][:chef_node_name] = config[:chef_node_name] if config[:chef_node_name]
87
89
  pub_config[:bootstrap_options][:chef_server_url] = Chef::Config[:chef_server_url] if Chef::Config[:chef_server_url]
88
90
  pub_config[:bootstrap_options][:validation_client_name] = Chef::Config[:validation_client_name] if Chef::Config[:validation_client_name]
89
- pub_config[:bootstrap_options][:node_verify_api_cert] = locate_config_value(:node_verify_api_cert) ? "true" : "false" if config.key?(:node_verify_api_cert)
90
- pub_config[:bootstrap_options][:bootstrap_version] = locate_config_value(:bootstrap_version) if locate_config_value(:bootstrap_version)
91
- pub_config[:bootstrap_options][:node_ssl_verify_mode] = locate_config_value(:node_ssl_verify_mode) if locate_config_value(:node_ssl_verify_mode)
92
- pub_config[:bootstrap_options][:bootstrap_proxy] = locate_config_value(:bootstrap_proxy) if locate_config_value(:bootstrap_proxy)
91
+ pub_config[:bootstrap_options][:node_verify_api_cert] = config[:node_verify_api_cert] ? "true" : "false" if config.key?(:node_verify_api_cert)
92
+ pub_config[:bootstrap_options][:bootstrap_version] = config[:bootstrap_version] if config[:bootstrap_version]
93
+ pub_config[:bootstrap_options][:node_ssl_verify_mode] = config[:node_ssl_verify_mode] if config[:node_ssl_verify_mode]
94
+ pub_config[:bootstrap_options][:bootstrap_proxy] = config[:bootstrap_proxy] if config[:bootstrap_proxy]
93
95
  pub_config
94
96
  end
95
97
 
96
98
  def load_correct_secret
97
- knife_secret_file = Chef::Config[:knife][:encrypted_data_bag_secret_file]
98
- knife_secret = Chef::Config[:knife][:encrypted_data_bag_secret]
99
- cli_secret_file = config[:encrypted_data_bag_secret_file]
100
- cli_secret = config[:encrypted_data_bag_secret]
101
-
102
- # The value set in knife.rb gets set in config object too
103
- # That's why setting cli objects to nil if the values are specified in knife.rb
104
- cli_secret_file = nil if cli_secret_file == knife_secret_file
105
- cli_secret = nil if cli_secret == knife_secret
99
+ secret_file = config[:encrypted_data_bag_secret_file]
100
+ secret = config[:encrypted_data_bag_secret]
106
101
 
107
- cli_secret_file = Chef::EncryptedDataBagItem.load_secret(cli_secret_file) unless cli_secret_file.nil?
108
- knife_secret_file = Chef::EncryptedDataBagItem.load_secret(knife_secret_file) unless knife_secret_file.nil?
102
+ secret_file = Chef::EncryptedDataBagItem.load_secret(secret_file) unless secret_file.nil?
109
103
 
110
- cli_secret_file || cli_secret || knife_secret_file || knife_secret
104
+ secret_file || secret
111
105
  end
112
106
 
113
107
  def create_node_and_client_pem
@@ -115,7 +109,7 @@ class Chef
115
109
  require "chef/knife/bootstrap/client_builder"
116
110
  Chef::Knife::Bootstrap::ClientBuilder.new(
117
111
  chef_config: Chef::Config,
118
- knife_config: config,
112
+ config: config,
119
113
  ui: ui
120
114
  )
121
115
  end
@@ -153,9 +147,9 @@ class Chef
153
147
  end
154
148
 
155
149
  # SSL cert bootstrap support
156
- if locate_config_value(:cert_path)
157
- if File.exist?(File.expand_path(locate_config_value(:cert_path)))
158
- pri_config[:chef_server_crt] = File.read(File.expand_path(locate_config_value(:cert_path)))
150
+ if config[:cert_path]
151
+ if File.exist?(File.expand_path(config[:cert_path]))
152
+ pri_config[:chef_server_crt] = File.read(File.expand_path(config[:cert_path]))
159
153
  else
160
154
  ui.error("Specified SSL certificate does not exist.")
161
155
  exit 1