From b24cb7889bc19ab6ba7702d1782c0b578b841cdc Mon Sep 17 00:00:00 2001 From: Alexander Olofsson <alexander.olofsson@liu.se> Date: Mon, 21 Nov 2022 09:40:50 +0100 Subject: [PATCH] Slight improvement to code flow --- .rubocop.yml | 2 ++ .../vmware_extensions.rb | 35 +++++++++++-------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index a420c76..64ee3b7 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -11,3 +11,5 @@ Metrics/CyclomaticComplexity: Enabled: false Metrics/PerceivedComplexity: Enabled: false +Metrics/MethodLength: + Max: 15 diff --git a/app/models/concerns/foreman_vmware_advanced/vmware_extensions.rb b/app/models/concerns/foreman_vmware_advanced/vmware_extensions.rb index ab1e6c3..0e3490b 100644 --- a/app/models/concerns/foreman_vmware_advanced/vmware_extensions.rb +++ b/app/models/concerns/foreman_vmware_advanced/vmware_extensions.rb @@ -15,20 +15,7 @@ module ForemanVmwareAdvanced return unless vm spec = {} - if vm.firmware == 'efi' - if SETTINGS[:vmware_secureboot] && args[:guest_id]&.start_with?('win') - spec[:bootOptions] = RbVmomi::VIM::VirtualMachineBootOptions.new(efiSecureBootEnabled: true) - end - - if SETTINGS[:vmware_vtpm] - spec[:deviceChange] = [ - { - operation: :add, - device: RbVmomi::VIM::VirtualTPM.new(key: -1) - } - ] - end - end + spec.merge! build_efi_spec(args) if vm.firmware == 'efi' return vm if spec.empty? @@ -40,5 +27,25 @@ module ForemanVmwareAdvanced vm end + + private + + def build_efi_spec(args) + spec = {} + + spec[:bootOptions] = RbVmomi::VIM::VirtualMachineBootOptions.new(efiSecureBootEnabled: true) \ + if SETTINGS[:vmware_secureboot] && args[:guest_id]&.start_with?('win') + + if SETTINGS[:vmware_vtpm] + spec[:deviceChange] = [ + { + operation: :add, + device: RbVmomi::VIM::VirtualTPM.new(key: -1) + } + ] + end + + spec + end end end -- GitLab