diff --git a/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/check_powered_off.rb b/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/check_powered_off.rb deleted file mode 100644 index 62c19fca6..000000000 --- a/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/check_powered_off.rb +++ /dev/null @@ -1,59 +0,0 @@ -# -# Description: This method checks to see if the VM has been powered off or suspended -# - -module ManageIQ - module Automate - module Infrastructure - module VM - module Retirement - module StateMachines - class CheckPoweredOff - def initialize(handle = $evm) - @handle = handle - end - - def main - check_power_state(vm) - end - - private - - def vm - raise "ERROR - vm object not passed in" unless @handle.root['vm'] - @handle.root['vm'] - end - - def check_power_state(vm) - ems = vm.ext_management_system - if ems.nil? - @handle.log('info', "Skipping check powered on for VM:<#{vm(:name)}> "\ - "with no EMS") - return - end - - power_state = vm.power_state - @handle.log('info', "VM:<#{vm.name}> on Provider:<#{ems.name}> has Power State:<#{power_state}>") - - # If VM is powered off or suspended exit - - if %w(off suspended).include?(power_state) - # Bump State - @handle.root['ae_result'] = 'ok' - elsif power_state == "never" - # If never then this VM is a template so exit the retirement state machine - @handle.root['ae_result'] = 'error' - else - @handle.root['ae_result'] = 'retry' - @handle.root['ae_retry_interval'] = '60.seconds' - end - end - end - end - end - end - end - end -end - -ManageIQ::Automate::Infrastructure::VM::Retirement::StateMachines::CheckPoweredOff.new.main diff --git a/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/check_powered_off.yaml b/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/check_powered_off.yaml deleted file mode 100644 index 837f6c4fd..000000000 --- a/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/check_powered_off.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -object_type: method -version: 1.0 -object: - attributes: - name: check_powered_off - display_name: - description: - scope: instance - language: ruby - location: inline - inputs: [] diff --git a/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/power_off.rb b/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/power_off.rb deleted file mode 100644 index 3a7ab219c..000000000 --- a/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/power_off.rb +++ /dev/null @@ -1,10 +0,0 @@ -# -# Description: This method powers-off the VM on the provider -# - -vm = $evm.root['vm'] -unless vm.nil? || vm.attributes['power_state'] == 'off' - ems = vm.ext_management_system - $evm.log('info', "Powering Off VM <#{vm.name}> in VC <#{ems.try(:name)}") - vm.stop -end diff --git a/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/power_off.yaml b/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/power_off.yaml deleted file mode 100644 index 0456592ec..000000000 --- a/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/power_off.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -object_type: method -version: 1.0 -object: - attributes: - name: power_off - display_name: - description: - scope: instance - language: ruby - location: inline - inputs: [] diff --git a/spec/automation/unit/method_validation/power_off_spec.rb b/spec/automation/unit/method_validation/power_off_spec.rb deleted file mode 100644 index 3a883eb16..000000000 --- a/spec/automation/unit/method_validation/power_off_spec.rb +++ /dev/null @@ -1,30 +0,0 @@ -require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', - '..', 'spec_helper')) - -describe "power_off Method Validation" do - before(:each) do - @zone = FactoryBot.create(:zone) - @user = FactoryBot.create(:user_with_group) - @ems = FactoryBot.create(:ems_vmware, :zone => @zone) - @host = FactoryBot.create(:host) - @vm = FactoryBot.create(:vm_vmware, :host => @host, - :ems_id => @ems.id, :name => "testVM2", :raw_power_state => "poweredOn") - end - - let(:ws) { MiqAeEngine.instantiate("/Infrastructure/VM/Retirement/StateMachines/Methods/PowerOff?Vm::vm=#{@vm.id}", @user) } - - it "powers off a vm in a 'powered on' state" do - ws - - expect(MiqQueue.exists?(:method_name => 'stop', :instance_id => @vm.id, - :role => 'ems_operations')).to be_truthy - end - - it "does not queue any operation for a vm in 'powered_off' state" do - @vm.update_attribute(:raw_power_state, "poweredOff") - - ws - - expect(MiqQueue.exists?(:method_name => 'stop', :instance_id => @vm.id, :role => 'ems_operations')).to be_falsey - end -end diff --git a/spec/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/check_powered_off_spec.rb b/spec/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/check_powered_off_spec.rb deleted file mode 100644 index 54b245845..000000000 --- a/spec/content/automate/ManageIQ/Infrastructure/VM/Retirement/StateMachines/Methods.class/__methods__/check_powered_off_spec.rb +++ /dev/null @@ -1,96 +0,0 @@ -require_domain_file - -describe ManageIQ::Automate::Infrastructure::VM::Retirement::StateMachines::CheckPoweredOff do - let(:zone) { FactoryBot.create(:zone) } - let(:ems) { FactoryBot.create(:ems_microsoft, :zone => zone) } - let(:vm) do - FactoryBot.create(:vm_microsoft, - :raw_power_state => "PowerOff", - :ems_id => ems.id) - end - - let(:svc_model_vm) do - MiqAeMethodService::MiqAeServiceVm.find(vm.id) - end - - let(:root_hash) do - { 'vm' => MiqAeMethodService::MiqAeServiceVm.find(vm.id) } - end - - let(:root_object) do - Spec::Support::MiqAeMockObject.new(root_hash) - end - - let(:ae_service) do - Spec::Support::MiqAeMockService.new(root_object).tap do |service| - current_object = Spec::Support::MiqAeMockObject.new - current_object.parent = root_object - service.object = current_object - end - end - - it "returns 'ok' for a vm in powered_off state" do - described_class.new(ae_service).main - expect(ae_service.root['vm'].power_state).to eq("off") - expect(ae_service.root['ae_result']).to eq('ok') - end - - shared_examples_for "#vm power state" do - it "check" do - vm.update(:raw_power_state => raw_power_state) - svc_model_vm - described_class.new(ae_service).main - expect(ae_service.root['vm'].power_state).to eq(power_state) - expect(ae_service.root['ae_result']).to eq(ae_result) - end - end - - context "powered_on " do - let(:raw_power_state) { "Running" } - let(:power_state) { "on" } - let(:ae_result) { "retry" } - it_behaves_like "#vm power state" - end - context "unknown" do - let(:raw_power_state) { "unknown" } - let(:power_state) { "unknown" } - let(:ae_result) { "retry" } - it_behaves_like "#vm power state" - end - context "suspended" do - let(:raw_power_state) { "suspended" } - let(:power_state) { "unknown" } - let(:ae_result) { "retry" } - it_behaves_like "#vm power state" - end - context "never" do - let(:raw_power_state) { "never" } - let(:power_state) { "never" } - let(:ae_result) { "error" } - it_behaves_like "#vm power state" - end - - context "exceptions" do - context "with no ems" do - let(:vm) do - FactoryBot.create(:vm_microsoft, :raw_power_state => "PowerOff") - end - - it "result is nil" do - expect(ae_service.root['ae_result']).to be_nil - end - end - - context "with no vm" do - let(:root_hash) { {} } - let(:svc_model_service) { nil } - let(:vm) { nil } - - it "raises the vm is nil exception" do - expect { described_class.new(ae_service).main }.to raise_error( - 'ERROR - vm object not passed in' - ) - end - end - end -end