Skip to content

Commit 1be255e

Browse files
committed
Fix issue with clone_template secrets
secrets contains both api and vcenter creds, which caused 2 issues. 1. vcenter creds were being passed to manageiq api, unnecessarily 2. secret keys were being symbolized, but accessed as strings for vcenter
1 parent f22da78 commit 1be255e

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

provision-vm-service/clone-template/clone-template.rb

+6-3
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,22 @@
1414
pool_ref = ENV.fetch("RESPOOL", nil)
1515
vm_name = ENV.fetch("NAME")
1616

17-
# ManageIQ API login
1817
secrets = JSON.load(File.read(ENV.fetch("_CREDENTIALS")))
19-
secrets.transform_keys! { |k| k.sub(/^api_/, "").to_sym }
18+
19+
# ManageIQ API login
20+
api_secrets = secrets.select { |k, _| k.start_with?("api_") }
21+
api_secrets.transform_keys! { |k| k.sub(/^api_/, "").to_sym }
2022

2123
url = ENV.fetch("API_URL", "http://localhost:3000")
2224
verify_ssl = ENV.fetch("VERIFY_SSL", "true") == "true"
2325

24-
api_options = {url: url, ssl: {verify: verify_ssl}}.merge(secrets)
26+
api_options = {url: url, ssl: {verify: verify_ssl}}.merge(api_secrets)
2527
api = ManageIQ::API::Client.new(api_options)
2628

2729
# Clone the template
2830
vcenter_host = api.providers.pluck(:id, :hostname).detect { |id, _| id == ems_id }.last
2931

32+
# vCenter login
3033
vim = RbVmomi::VIM.connect(
3134
host: vcenter_host,
3235
user: secrets["vcenter_user"],

0 commit comments

Comments
 (0)