Project

General

Profile

Actions

Bug #12746

closed

Compute resources can disappear in a development instance

Added by Stephen Benjamin about 9 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Compute resources
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

Compute resource store plugin registered resources like this: https://github.com/theforeman/foreman/blob/develop/app/models/compute_resource.rb#L13

If you notice, assignment is being done every time the class is loaded. So, let's take foreman_docker and how the 'Docker' compute resource can completely disappear in a dev environment:

(1) foreman_docker engine.r calls ComputeResource.register_provider
(2) register_provider adds Docker to supported_providers class attributes
(3) something causes the ComputeResource class to be reloaded
(4) Line #13 is re-evaluated, and the supported_providers is reset to the default (without docker)

You can try this out:

2.1.5 :008 > ComputeResource.providers
 => ["Libvirt", "Ovirt", "EC2", "Vmware", "Openstack", "Rackspace", "GCE", "Docker"] 
2.1.5 :009 > require 'compute_resource' # simulate reload
Creating scope :live_descendants. Overwriting existing method ComputeResource.live_descendants.
 => true 
2.1.5 :010 > ComputeResource.providers
 => ["Libvirt", "Ovirt", "EC2", "Vmware", "Openstack", "Rackspace", "GCE"] 

Related issues 2 (0 open2 closed)

Related to Foreman - Refactor #12747: Provide some kind of central store or consistent way to manage dynamically registered objects from pluginsResolved12/08/2015Actions
Has duplicate Foreman - Bug #13694: compute resource provider from plugin missing sometimesDuplicate02/13/2016Actions
Actions #1

Updated by Stephen Benjamin about 9 years ago

  • Related to Refactor #12747: Provide some kind of central store or consistent way to manage dynamically registered objects from plugins added
Actions #2

Updated by Dominic Cleal almost 9 years ago

  • Has duplicate Bug #13694: compute resource provider from plugin missing sometimes added
Actions #3

Updated by Dominic Cleal over 8 years ago

  • Status changed from New to Assigned
  • Assignee set to Dominic Cleal
Actions #4

Updated by The Foreman Bot over 8 years ago

  • Status changed from Assigned to Ready For Testing
  • Pull request https://github.com/theforeman/foreman/pull/3377 added
Actions #5

Updated by Dominic Cleal over 8 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100
Actions #6

Updated by Dominic Cleal over 8 years ago

  • Translation missing: en.field_release set to 136
Actions

Also available in: Atom PDF