From 0541a2c6507b38fd1d1fe3e6ff9fcdb799bd5862 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Wed, 4 Dec 2024 16:37:31 +0100 Subject: [PATCH 1/2] Fix compatibility with Zeitwerk --- .../kubevirt/{vmnic.rb => vm_nic.rb} | 2 +- lib/foreman_kubevirt/engine.rb | 30 +++++++++---------- 2 files changed, 15 insertions(+), 17 deletions(-) rename app/models/concerns/fog_extensions/kubevirt/{vmnic.rb => vm_nic.rb} (89%) diff --git a/app/models/concerns/fog_extensions/kubevirt/vmnic.rb b/app/models/concerns/fog_extensions/kubevirt/vm_nic.rb similarity index 89% rename from app/models/concerns/fog_extensions/kubevirt/vmnic.rb rename to app/models/concerns/fog_extensions/kubevirt/vm_nic.rb index 4133d5e..f51a10e 100644 --- a/app/models/concerns/fog_extensions/kubevirt/vmnic.rb +++ b/app/models/concerns/fog_extensions/kubevirt/vm_nic.rb @@ -1,6 +1,6 @@ module FogExtensions module Kubevirt - module VmNic + module VMNic extend ActiveSupport::Concern attr_writer :id diff --git a/lib/foreman_kubevirt/engine.rb b/lib/foreman_kubevirt/engine.rb index cf13675..8b2dbe6 100644 --- a/lib/foreman_kubevirt/engine.rb +++ b/lib/foreman_kubevirt/engine.rb @@ -1,19 +1,21 @@ module ForemanKubevirt class Engine < ::Rails::Engine engine_name "foreman_kubevirt" - config.autoload_paths += Dir["#{config.root}/app/models/concerns"] - initializer "foreman_kubevirt.register_plugin", :before => :finisher_hook do |_app| - Foreman::Plugin.register :foreman_kubevirt do - requires_foreman '>= 3.7' - register_gettext - compute_resource(ForemanKubevirt::Kubevirt) + initializer "foreman_kubevirt.register_plugin", :before => :finisher_hook do |app| + app.reloader.to_prepare do + Foreman::Plugin.register :foreman_kubevirt do + requires_foreman '>= 3.13' + register_gettext - parameter_filter(ComputeResource, :hostname, :url) - parameter_filter(ComputeResource, :namespace, :user) - parameter_filter(ComputeResource, :token, :password) - parameter_filter(ComputeResource, :ca_cert) - parameter_filter(ComputeResource, :api_port) + compute_resource(ForemanKubevirt::Kubevirt) + + parameter_filter(ComputeResource, :hostname, :url) + parameter_filter(ComputeResource, :namespace, :user) + parameter_filter(ComputeResource, :token, :password) + parameter_filter(ComputeResource, :ca_cert) + parameter_filter(ComputeResource, :api_port) + end end end @@ -47,21 +49,17 @@ class Engine < ::Rails::Engine require "fog/kubevirt" require "fog/kubevirt/compute/utils/unit_converter" require "fog/kubevirt/compute/models/server" - require File.expand_path("../../app/models/concerns/fog_extensions/kubevirt/server", __dir__) ::Api::V2::ComputeResourcesController.send :include, ForemanKubevirt::Concerns::Api::ComputeResourcesControllerExtensions Fog::Kubevirt::Compute::Server.send(:include, ::FogExtensions::Kubevirt::Server) require "fog/kubevirt/compute/models/volume" - require File.expand_path("../../app/models/concerns/fog_extensions/kubevirt/volume", __dir__) Fog::Kubevirt::Compute::Volume.send(:include, ::FogExtensions::Kubevirt::Volume) require "fog/kubevirt/compute/models/vmnic" - require File.expand_path("../../app/models/concerns/fog_extensions/kubevirt/vmnic", __dir__) - Fog::Kubevirt::Compute::VmNic.send(:include, ::FogExtensions::Kubevirt::VmNic) + Fog::Kubevirt::Compute::VmNic.send(:include, ::FogExtensions::Kubevirt::VMNic) require "fog/kubevirt/compute/models/networkattachmentdef" - require File.expand_path("../../app/models/concerns/fog_extensions/kubevirt/network", __dir__) Fog::Kubevirt::Compute::Networkattachmentdef.send(:include, ::FogExtensions::Kubevirt::Network) ComputeAttribute.send :include, ForemanKubevirt::ComputeAttributeExtensions From 36cd4489be0262e7be28628f68161974906d6aac Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Wed, 4 Dec 2024 16:39:08 +0100 Subject: [PATCH 2/2] Use errors.add instead of << --- app/models/foreman_kubevirt/kubevirt.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/foreman_kubevirt/kubevirt.rb b/app/models/foreman_kubevirt/kubevirt.rb index e9be7aa..d1f64a8 100644 --- a/app/models/foreman_kubevirt/kubevirt.rb +++ b/app/models/foreman_kubevirt/kubevirt.rb @@ -67,9 +67,9 @@ def validate_connectivity(options = {}) client&.valid? && client&.virt_supported? rescue StandardError => e if /401/.match?(e.message) - errors[:base] << _('The compute resource could not be authenticated') + errors.add(:base, _('The compute resource could not be authenticated')) else - errors[:base] << e.message + errors.add(:base, e.message) end end