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/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 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