foreman_puppet 1.0.1 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/foreman_puppet/extensions/hostgroups_controller_extensions.rb +4 -2
  3. data/app/controllers/concerns/foreman_puppet/extensions/hosts_controller_extensions.rb +1 -1
  4. data/app/controllers/concerns/foreman_puppet/extensions/parameters_host.rb +41 -32
  5. data/app/controllers/concerns/foreman_puppet/extensions/parameters_hostgroup.rb +42 -33
  6. data/app/helpers/foreman_puppet/puppet_smart_proxies_helper.rb +4 -0
  7. data/app/models/foreman_puppet/host_puppet_facet.rb +1 -1
  8. data/app/models/foreman_puppet/hostgroup_puppet_facet.rb +2 -0
  9. data/app/services/concerns/foreman_puppet/extensions/host_counter.rb +17 -0
  10. data/app/views/hosts/_form_puppet_enc_tab.html.erb +3 -4
  11. data/db/migrate/20200803113803_migrate_environment_to_puppet_facet.foreman_puppet.rb +2 -2
  12. data/db/migrate/20200803113903_migrate_host_type_in_host_config_groups.foreman_puppet.rb +36 -20
  13. data/db/migrate/20211112130803_cleanup_environment_from_core_tables.foreman_puppet.rb +10 -0
  14. data/lib/foreman_puppet/engine.rb +2 -0
  15. data/lib/foreman_puppet/version.rb +1 -1
  16. data/locale/cs_CZ/foreman_puppet.edit.po +1085 -0
  17. data/locale/cs_CZ/foreman_puppet.po.time_stamp +0 -0
  18. data/locale/en/foreman_puppet.edit.po +317 -162
  19. data/test/controllers/foreman_puppet/hostgroups_controller_test.rb +72 -52
  20. data/test/factories/host_puppet_enhancements.rb +3 -0
  21. data/test/helpers/foreman_puppet/hosts_and_hostgroups_helper_test.rb +70 -31
  22. data/test/models/foreman_puppet/host_puppet_facet_test.rb +7 -1
  23. data/test/services/foreman_puppet/host_counter_test.rb +17 -0
  24. data/webpack/src/Components/Environments/Welcome.js +2 -2
  25. metadata +11 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c94283a315fba5f8c4f0d7cca627639f595cbbeb09a6806ab363762ba1b0334
4
- data.tar.gz: 6a503f11d1be7297370f7d34557024e1a9186f579710ca73a902acb81b766ef8
3
+ metadata.gz: 7f8a5c7b68f8d77f54787c4c9de924bc02f27d7a0f957fc6539b5b4aa6c64b49
4
+ data.tar.gz: 6cd563d9cc2f56c22186bbbb0fb9d3c9679c8718e965d7fd952bbed3efacf222
5
5
  SHA512:
6
- metadata.gz: be25708b1c38b99dfa4b2bee8d2e1f7da8f3f546a88a4a54b666673de28b08770b274e6cb098fa4eead33dc6770a93c4c1bba3e38dc45721ecbe148dbc9671b2
7
- data.tar.gz: fa689ed7f12f34fc33fa7a0f9a7ca658ede1ca947cd4d37c77c10a015b5f933fd0d1116d0574bb308e743d4d9739990396005b5ff8ba9109d89df052f3332394
6
+ metadata.gz: 1a09cf7ff50545983f0e472b3c03f0708087dddf8d2136dc32978f49a1fd76ba7ca4c716db6e6b3add3055279745754b2d2eddf2cd1630a91e75187ba9683c1e
7
+ data.tar.gz: 5c4bb18d77784e2a9c43c7f102adc9df6469b739525fee007d1c89bf635713e1dd051140489101ebeb9d66298100195f56571fa5fb55a1a179c8381cac56a65b
@@ -23,7 +23,9 @@ module ForemanPuppet
23
23
  module Actions
24
24
  def nest
25
25
  super
26
- @hostgroup.puppetclasses = @parent.puppetclasses
26
+ return unless @parent.puppet
27
+ puppet = @hostgroup.puppet || @hostgroup.build_puppet
28
+ puppet.puppetclasses = @parent.puppet.puppetclasses
27
29
  end
28
30
 
29
31
  def environment_selected
@@ -36,7 +38,7 @@ module ForemanPuppet
36
38
 
37
39
  puppet.puppetclasses = ForemanPuppet::Puppetclass.where(id: params[:hostgroup][:puppetclass_ids])
38
40
  puppet.config_groups = ForemanPuppet::ConfigGroup.where(id: params[:hostgroup][:config_group_ids])
39
- render partial: 'hosts/form_puppet_enc_tab', locals: { host_or_hostgroup: @hostgroup, resource_type: :hostgroup }
41
+ render partial: 'hosts/form_puppet_enc_tab', locals: { subject: @hostgroup, resource_type: :hostgroup }
40
42
  end
41
43
 
42
44
  def puppetclass_parameters
@@ -41,7 +41,7 @@ module ForemanPuppet
41
41
  set_class_variables(@host)
42
42
  ::Taxonomy.as_taxonomy @organization, @location do
43
43
  if @environment || @hostgroup
44
- render partial: 'hosts/form_puppet_enc_tab', locals: { host_or_hostgroup: @host, resource_type: :host }
44
+ render partial: 'hosts/form_puppet_enc_tab', locals: { subject: @host, resource_type: :host }
45
45
  else
46
46
  logger.info 'environment_id or hostgroup_id is required to render puppetclasses'
47
47
  end
@@ -14,12 +14,7 @@ module ForemanPuppet
14
14
  module PatchedClassMethods
15
15
  def host_params_filter
16
16
  super.tap do |filter|
17
- filter.permit :environment_id, :environment_name, :environment,
18
- config_groups: [], config_group_ids: [], config_group_names: [],
19
- puppetclasses: [], puppetclass_ids: [], puppetclass_names: []
20
-
21
- # TODO: bring to core - this is what facets should do, but does not
22
- filter.permit(puppet_attributes: {})
17
+ add_host_puppet_params_filter(filter)
23
18
  end
24
19
  end
25
20
  end
@@ -27,40 +22,54 @@ module ForemanPuppet
27
22
  module PatchedMethods
28
23
  def host_params(*attrs)
29
24
  params = super(*attrs)
30
-
31
- process_deprecated_environment_params!(params)
32
- process_deprecated_attributes!(params)
25
+ process_deprecated_puppet_params!(params)
33
26
  params
34
27
  end
28
+ end
35
29
 
36
- def process_deprecated_environment_params!(params)
37
- env_id = params.delete(:environment_id)
38
- env_name = params.delete(:environment_name)
39
- env = params.delete(:environment)
40
-
41
- return unless env_id || env_name || env
42
- ::Foreman::Deprecation.api_deprecation_warning('param host[environment_*] has been deprecated in favor of host[puppet_attributes][environment_*]')
30
+ class_methods do
31
+ def add_host_puppet_params_filter(filter)
32
+ filter.permit :environment_id, :environment_name, :environment,
33
+ config_groups: [], config_group_ids: [], config_group_names: [],
34
+ puppetclasses: [], puppetclass_ids: [], puppetclass_names: []
43
35
 
44
- params[:puppet_attributes] ||= {}
45
- params[:puppet_attributes][:environment_id] ||= env_id if env_id
46
- params[:puppet_attributes][:environment_name] ||= env_name if env_name
47
- params[:puppet_attributes][:environment] ||= env if env
36
+ # TODO: bring to core - this is what facets should do, but does not
37
+ filter.permit(puppet_attributes: {})
48
38
  end
39
+ end
40
+
41
+ def process_deprecated_puppet_params!(params, top_level_hash = controller_name.singularize)
42
+ process_deprecated_environment_params!(params, top_level_hash)
43
+ process_deprecated_attributes!(params, top_level_hash)
44
+ end
49
45
 
50
- def process_deprecated_attributes!(params)
51
- %w[puppetclass config_group].each do |relation|
52
- ids = params.delete("#{relation}_ids".to_sym)
53
- names = params.delete("#{relation}_names".to_sym)
54
- plains = params.delete(relation.pluralize.to_sym)
46
+ def process_deprecated_environment_params!(params, top_level_hash = 'host')
47
+ env_id = params.delete(:environment_id)
48
+ env_name = params.delete(:environment_name)
49
+ env = params.delete(:environment)
55
50
 
56
- next unless ids || names || plains
57
- ::Foreman::Deprecation.api_deprecation_warning("param host[#{relation}_*] has been deprecated in favor of host[puppet_attributes][#{relation}_*]")
51
+ return unless env_id || env_name || env
52
+ ::Foreman::Deprecation.api_deprecation_warning("param #{top_level_hash}[environment_*] has been deprecated in favor of #{top_level_hash}[puppet_attributes][environment_*]")
58
53
 
59
- params[:puppet_attributes] ||= {}
60
- params[:puppet_attributes]["#{relation}_ids".to_sym] ||= ids if ids
61
- params[:puppet_attributes]["#{relation}_names".to_sym] ||= names if names
62
- params[:puppet_attributes][relation.pluralize.to_sym] ||= plains if plains
63
- end
54
+ params[:puppet_attributes] ||= {}
55
+ params[:puppet_attributes][:environment_id] ||= env_id if env_id
56
+ params[:puppet_attributes][:environment_name] ||= env_name if env_name
57
+ params[:puppet_attributes][:environment] ||= env if env
58
+ end
59
+
60
+ def process_deprecated_attributes!(params, top_level_hash = 'host')
61
+ %w[puppetclass config_group].each do |relation|
62
+ ids = params.delete("#{relation}_ids".to_sym)
63
+ names = params.delete("#{relation}_names".to_sym)
64
+ plains = params.delete(relation.pluralize.to_sym)
65
+
66
+ next unless ids || names || plains
67
+ ::Foreman::Deprecation.api_deprecation_warning("param #{top_level_hash}[#{relation}_*] has been deprecated in favor of #{top_level_hash}[puppet_attributes][#{relation}_*]")
68
+
69
+ params[:puppet_attributes] ||= {}
70
+ params[:puppet_attributes]["#{relation}_ids".to_sym] ||= ids if ids
71
+ params[:puppet_attributes]["#{relation}_names".to_sym] ||= names if names
72
+ params[:puppet_attributes][relation.pluralize.to_sym] ||= plains if plains
64
73
  end
65
74
  end
66
75
  end
@@ -14,12 +14,7 @@ module ForemanPuppet
14
14
  module PatchedClassMethods
15
15
  def hostgroup_params_filter
16
16
  super.tap do |filter|
17
- filter.permit :environment_id, :environment_name,
18
- config_group_ids: [], config_group_names: [],
19
- puppetclass_ids: [], puppetclass_names: []
20
-
21
- # TODO: bring to core - this is what facets should do, but does not
22
- filter.permit(puppet_attributes: {})
17
+ add_hostgroup_puppet_params_filter(filter)
23
18
  end
24
19
  end
25
20
  end
@@ -27,42 +22,56 @@ module ForemanPuppet
27
22
  module PatchedMethods
28
23
  def hostgroup_params(*attrs)
29
24
  params = super(*attrs)
30
-
31
- process_deprecated_hostgroup_environment_params!(params)
32
- process_deprecated_hostgroup_attributes!(params)
25
+ process_deprecated_hostgroup_puppet_params!(params)
33
26
  params
34
27
  end
28
+ end
35
29
 
36
- def process_deprecated_hostgroup_environment_params!(params)
37
- env_id = env_name = nil
38
- if ForemanPuppet.extracted_from_core?
39
- env_id = params.delete(:environment_id)
40
- env_name = params.delete(:environment_name)
41
- else
42
- env_id = params[:environment_id]
43
- env_name = params[:environment_name]
44
- end
30
+ class_methods do
31
+ def add_hostgroup_puppet_params_filter(filter)
32
+ filter.permit :environment_id, :environment_name,
33
+ config_group_ids: [], config_group_names: [],
34
+ puppetclass_ids: [], puppetclass_names: []
45
35
 
46
- return unless env_id || env_name
47
- ::Foreman::Deprecation.api_deprecation_warning('param hostgroup[environment_*] has been deprecated in favor of hostgroup[puppet_attributes][environment_*]')
36
+ # TODO: bring to core - this is what facets should do, but does not
37
+ filter.permit(puppet_attributes: {})
38
+ end
39
+ end
48
40
 
49
- params[:puppet_attributes] ||= {}
50
- params[:puppet_attributes][:environment_id] ||= env_id if env_id
51
- params[:puppet_attributes][:environment_name] ||= env_name if env_name
41
+ def process_deprecated_hostgroup_puppet_params!(params, top_level_hash = 'hostgroup')
42
+ process_deprecated_hostgroup_environment_params!(params, top_level_hash)
43
+ process_deprecated_hostgroup_attributes!(params, top_level_hash)
44
+ end
45
+
46
+ def process_deprecated_hostgroup_environment_params!(params, top_level_hash = 'hostgroup')
47
+ env_id = env_name = nil
48
+ if ForemanPuppet.extracted_from_core?
49
+ env_id = params.delete(:environment_id)
50
+ env_name = params.delete(:environment_name)
51
+ else
52
+ env_id = params[:environment_id]
53
+ env_name = params[:environment_name]
52
54
  end
53
55
 
54
- def process_deprecated_hostgroup_attributes!(params)
55
- %w[puppetclass config_group].each do |relation|
56
- ids = params.delete("#{relation}_ids")
57
- names = params.delete("#{relation}_names")
56
+ return unless env_id || env_name
57
+ ::Foreman::Deprecation.api_deprecation_warning("param #{top_level_hash}[environment_*] has been deprecated in favor of #{top_level_hash}[puppet_attributes][environment_*]")
58
58
 
59
- next unless ids || names
60
- ::Foreman::Deprecation.api_deprecation_warning("param hostgroup[#{relation}_*] has been deprecated in favor of hostgroup[puppet_attributes][#{relation}_*]")
59
+ params[:puppet_attributes] ||= {}
60
+ params[:puppet_attributes][:environment_id] ||= env_id if env_id
61
+ params[:puppet_attributes][:environment_name] ||= env_name if env_name
62
+ end
61
63
 
62
- params[:puppet_attributes] ||= {}
63
- params[:puppet_attributes]["#{relation}_ids".to_sym] ||= ids if ids
64
- params[:puppet_attributes]["#{relation}_names".to_sym] ||= names if names
65
- end
64
+ def process_deprecated_hostgroup_attributes!(params, top_level_hash = 'hostgroup')
65
+ %w[puppetclass config_group].each do |relation|
66
+ ids = params.delete("#{relation}_ids")
67
+ names = params.delete("#{relation}_names")
68
+
69
+ next unless ids || names
70
+ ::Foreman::Deprecation.api_deprecation_warning("param #{top_level_hash}[#{relation}_*] has been deprecated in favor of #{top_level_hash}[puppet_attributes][#{relation}_*]")
71
+
72
+ params[:puppet_attributes] ||= {}
73
+ params[:puppet_attributes]["#{relation}_ids".to_sym] ||= ids if ids
74
+ params[:puppet_attributes]["#{relation}_names".to_sym] ||= names if names
66
75
  end
67
76
  end
68
77
  end
@@ -4,5 +4,9 @@ module ForemanPuppet
4
4
  def hosts_path(*attrs)
5
5
  main_app.hosts_path(*attrs)
6
6
  end
7
+
8
+ def host_config_reports_path(*attrs)
9
+ main_app.host_config_reports_path(*attrs)
10
+ end
7
11
  end
8
12
  end
@@ -48,7 +48,7 @@ module ForemanPuppet
48
48
 
49
49
  def parent_config_groups
50
50
  return [] unless host.hostgroup
51
- host.hostgroup.puppet&.all_config_groups
51
+ host.hostgroup.puppet&.all_config_groups || []
52
52
  end
53
53
 
54
54
  def ensure_puppet_associations
@@ -48,6 +48,8 @@ module ForemanPuppet
48
48
  Hostgroup.sort_by_ancestry(hostgroup.ancestors.joins(:puppet).where(HostgroupPuppetFacet.arel_table[attr.to_sym].not_eq(nil))).last&.puppet.try(attr)
49
49
  end
50
50
 
51
+ delegate :parent_id, to: :hostgroup
52
+
51
53
  # and helpers
52
54
  def parent_facet_id
53
55
  parent_facet&.id
@@ -0,0 +1,17 @@
1
+ module ForemanPuppet
2
+ module Extensions
3
+ module HostCounter
4
+ extend ActiveSupport::Concern
5
+
6
+ def counted_hosts
7
+ case @association.to_s
8
+ when 'environment'
9
+ hosts_scope = ::Host::Managed.reorder('').joins(:puppet)
10
+ hosts_scope.authorized(:view_hosts).group(HostPuppetFacet.arel_table[:environment_id]).count
11
+ else
12
+ super
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,6 +1,5 @@
1
1
  <% resource_type ||= pagelet.opts[:resource_type] %>
2
- <% host_or_hostgroup ||= local_assigns[resource_type] %>
3
- <% obj = (host_or_hostgroup.puppet || host_or_hostgroup.build_puppet) if %i[host hostgroup].include?(resource_type) %>
2
+ <% obj = (subject.puppet || subject.build_puppet) if %i[host hostgroup].include?(resource_type) %>
4
3
  <% if resource_type == :host %>
5
4
  <span id="puppet_klasses_reload_url" data-url="<%= foreman_puppet.hostgroup_or_environment_selected_hosts_path %>"></span>
6
5
  <% elsif resource_type == :hostgroup %>
@@ -18,7 +17,7 @@
18
17
  text: _('Please select an environment first')) %>
19
18
  <% end %>
20
19
 
21
- <fieldset id="puppet_klasses_parameters" data-url="<%= foreman_puppet.url_for(action: :puppetclass_parameters, only_path: true) %>">
20
+ <fieldset id="puppet_klasses_parameters" data-url="<%= foreman_puppet.url_for(controller: resource_type.to_s.pluralize.to_sym, action: :puppetclass_parameters, only_path: true) %>">
22
21
  <h2><%= _('Puppet Class Parameters') %></h2>
23
- <%= render 'foreman_puppet/puppetclasses/classes_parameters', obj: host_or_hostgroup %>
22
+ <%= render 'foreman_puppet/puppetclasses/classes_parameters', obj: subject %>
24
23
  </fieldset>
@@ -2,11 +2,11 @@ class MigrateEnvironmentToPuppetFacet < ActiveRecord::Migration[6.0]
2
2
  def up
3
3
  puppet_hostgroups = ::Hostgroup.unscoped.where.not(environment_id: nil).pluck(:id, :environment_id)
4
4
  puppet_hostgroups.map! { |hg_id, env_id| { hostgroup_id: hg_id, environment_id: env_id } }
5
- ForemanPuppet::HostgroupPuppetFacet.insert_all(puppet_hostgroups) if puppet_hostgroups.any?
5
+ ForemanPuppet::HostgroupPuppetFacet.insert_all!(puppet_hostgroups) if puppet_hostgroups.any?
6
6
 
7
7
  puppet_hosts = Host::Managed.unscoped.where.not(environment_id: nil).pluck(:id, :environment_id)
8
8
  puppet_hosts.map! { |host_id, env_id| { host_id: host_id, environment_id: env_id } }
9
- ForemanPuppet::HostPuppetFacet.insert_all(puppet_hosts) if puppet_hosts.any?
9
+ ForemanPuppet::HostPuppetFacet.insert_all!(puppet_hosts) if puppet_hosts.any?
10
10
  end
11
11
 
12
12
  def down
@@ -13,26 +13,8 @@ class MigrateHostTypeInHostConfigGroups < ActiveRecord::Migration[6.0]
13
13
  end
14
14
 
15
15
  def up
16
- host_config_group_ids = FakeHostConfigGroup.for_host.pluck(:host_id).uniq
17
- host_config_group_ids.each do |host_id|
18
- host_facet_id = ForemanPuppet::HostPuppetFacet.where(host_id: host_id).pick(:id)
19
- host_groups = FakeHostConfigGroup.for_host.where(host_id: host_id)
20
- if host_facet_id
21
- host_groups.update_all(host_type: 'ForemanPuppet::HostPuppetFacet', host_id: host_facet_id)
22
- else
23
- deleted_groups = FakeConfigGroup.where(id: host_groups.pluck(:config_group_id)).pluck(:name)
24
- say "deleting groups #{deleted_groups.join(', ')} from Host (id=#{host_id}) because it has no environment"
25
- host_groups.delete_all
26
- end
27
- end
28
- hostgroup_config_group_ids = FakeHostConfigGroup.for_hostgroup.pluck(:host_id).uniq
29
- hostgroup_config_group_ids.each do |hostgroup_id|
30
- hostgroup_facet_id = ForemanPuppet::HostgroupPuppetFacet.where(hostgroup_id: hostgroup_id).pick(:id)
31
- hostgroup_facet_id ||= ForemanPuppet::HostgroupPuppetFacet.create!(hostgroup: Hostgroup.unscoped.find(hostgroup_id)).id
32
- FakeHostConfigGroup.for_hostgroup
33
- .where(host_id: hostgroup_id)
34
- .update_all(host_type: 'ForemanPuppet::HostgroupPuppetFacet', host_id: hostgroup_facet_id)
35
- end
16
+ migrate_host_data_to_facets
17
+ migrate_hostgroup_data_to_facets
36
18
  end
37
19
 
38
20
  def down
@@ -51,4 +33,38 @@ class MigrateHostTypeInHostConfigGroups < ActiveRecord::Migration[6.0]
51
33
  .update_all(host_type: 'Hostgroup', host_id: hostgroup_facet_ids[hostgroup_facet_id])
52
34
  end
53
35
  end
36
+
37
+ private
38
+
39
+ def migrate_host_data_to_facets
40
+ host_config_group_ids = FakeHostConfigGroup.for_host.pluck(:host_id).uniq
41
+ host_config_group_ids.each do |host_id|
42
+ host_facet_id = ForemanPuppet::HostPuppetFacet.where(host_id: host_id).pick(:id)
43
+ host_groups = FakeHostConfigGroup.for_host.where(host_id: host_id)
44
+ if host_facet_id
45
+ host_groups.update_all(host_type: 'ForemanPuppet::HostPuppetFacet', host_id: host_facet_id)
46
+ else
47
+ deleted_groups = FakeConfigGroup.where(id: host_groups.pluck(:config_group_id)).pluck(:name)
48
+ say "Deleting Config groups #{deleted_groups.join(', ')} from Host (id=#{host_id}) because the Host doesn't exist or has no environment"
49
+ host_groups.delete_all
50
+ end
51
+ end
52
+ end
53
+
54
+ def migrate_hostgroup_data_to_facets
55
+ hostgroup_config_group_ids = FakeHostConfigGroup.for_hostgroup.pluck(:host_id).uniq
56
+ hostgroup_config_group_ids.each do |hostgroup_id|
57
+ hostgroup = Hostgroup.unscoped.find_by(id: hostgroup_id)
58
+ hostgroup_groups = FakeHostConfigGroup.for_hostgroup.where(host_id: hostgroup_id)
59
+ if hostgroup
60
+ hostgroup_facet_id = ForemanPuppet::HostgroupPuppetFacet.where(hostgroup_id: hostgroup_id).pick(:id)
61
+ hostgroup_facet_id ||= ForemanPuppet::HostgroupPuppetFacet.create!(hostgroup: hostgroup).id
62
+ hostgroup_groups.update_all(host_type: 'ForemanPuppet::HostgroupPuppetFacet', host_id: hostgroup_facet_id)
63
+ else
64
+ deleted_groups = FakeConfigGroup.where(id: hostgroup_groups.pluck(:config_group_id)).pluck(:name)
65
+ say "Deleting Config groups #{deleted_groups.join(', ')} from Hostgroup (id=#{hostgroup_id}) because Hostgroup doesn't exist"
66
+ hostgroup_groups.delete_all
67
+ end
68
+ end
69
+ end
54
70
  end
@@ -0,0 +1,10 @@
1
+ class CleanupEnvironmentFromCoreTables < ActiveRecord::Migration[6.0]
2
+ def up
3
+ ::Hostgroup.update_all(environment_id: nil) if column_exists?(:hostgroups, :environment_id)
4
+ Host::Managed.update_all(environment_id: nil) if column_exists?(:hosts, :environment_id)
5
+ end
6
+
7
+ def down
8
+ # nothing to do
9
+ end
10
+ end
@@ -79,6 +79,8 @@ module ForemanPuppet
79
79
  ::TemplateCombination.include ForemanPuppet::Extensions::TemplateCombination
80
80
  ::ProvisioningTemplate.include ForemanPuppet::Extensions::ProvisioningTemplate
81
81
 
82
+ ::HostCounter.prepend ForemanPuppet::Extensions::HostCounter
83
+
82
84
  ::Api::V2::BaseController.include ForemanPuppet::Extensions::ApiBaseController
83
85
  ::Api::V2::HostsController.include ForemanPuppet::Extensions::ApiV2HostsController
84
86
  ::Api::V2::HostgroupsController.include ForemanPuppet::Extensions::ApiHostgroupsController
@@ -1,3 +1,3 @@
1
1
  module ForemanPuppet
2
- VERSION = '1.0.1'.freeze
2
+ VERSION = '1.0.5'.freeze
3
3
  end