foreman_puppet 1.0.0.rc.1 → 1.0.0.rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/graphgl/concerns/foreman_puppet/types/interface_attributes_input_extensions.rb +9 -0
- data/app/models/concerns/foreman_puppet/extensions/host.rb +6 -4
- data/app/models/concerns/foreman_puppet/extensions/host_common.rb +17 -0
- data/app/models/concerns/foreman_puppet/extensions/hostgroup.rb +2 -0
- data/app/models/concerns/foreman_puppet/extensions/provisioning_template.rb +1 -1
- data/app/services/foreman_puppet/host_info_providers/config_groups_info.rb +2 -0
- data/app/views/smart_proxies/plugins/_puppet_ca.html.erb +44 -0
- data/db/migrate/20200803113903_migrate_host_type_in_host_config_groups.foreman_puppet.rb +28 -9
- data/db/migrate/20201125113903_migrate_puppetclasses_to_facets.foreman_puppet.rb +13 -1
- data/lib/foreman_puppet/engine.rb +13 -0
- data/lib/foreman_puppet/register.rb +1 -2
- data/lib/foreman_puppet/version.rb +1 -1
- data/test/graphql/mutations/hosts/create_mutation_test.rb +21 -0
- data/test/models/foreman_puppet/provisioning_template_test.rb +7 -0
- data/test/services/foreman_puppet/host_info_providers/config_groups_info_test.rb +35 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37d0dfe755f795957a77e9889c1c958343a3b2b54d38e451e7a119bb8b4db98b
|
4
|
+
data.tar.gz: 2e4e4bad454345c115ec10fa6968409a56dbf2403891bf0711fdaf858225291c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7558294ebc8a1eaca149102ed9d5dcefe10a7ae1fa643bd7836c143de807bec77e3af8fa31df43dcd6b3ec52775ba7b36a6a5a15028413e4f889f479d3295fe
|
7
|
+
data.tar.gz: b40b1472b66dc27f61c634c11cd500d23d61de31d1eb984c7b68184cb626e9fbfa2b2dbd0bba74009cdd2800c7576fae427cef346a4f48b4e4fb59b8b88eeaf0
|
@@ -3,6 +3,8 @@ module ForemanPuppet
|
|
3
3
|
module Host
|
4
4
|
extend ActiveSupport::Concern
|
5
5
|
|
6
|
+
include ForemanPuppet::Extensions::HostCommon if ForemanPuppet.extracted_from_core?
|
7
|
+
|
6
8
|
included do
|
7
9
|
prepend PrependedMethods
|
8
10
|
|
@@ -82,10 +84,10 @@ module ForemanPuppet
|
|
82
84
|
def available_template_kinds(provisioning = nil)
|
83
85
|
kinds = template_kinds(provisioning)
|
84
86
|
kinds.map do |kind|
|
85
|
-
ProvisioningTemplate.find_template({ kind: kind.name,
|
86
|
-
|
87
|
-
|
88
|
-
|
87
|
+
::ProvisioningTemplate.find_template({ kind: kind.name,
|
88
|
+
operatingsystem_id: operatingsystem_id,
|
89
|
+
hostgroup_id: hostgroup_id,
|
90
|
+
environment_id: puppet&.environment_id })
|
89
91
|
end.compact
|
90
92
|
end
|
91
93
|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module ForemanPuppet
|
2
|
+
module Extensions
|
3
|
+
module HostCommon
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
|
6
|
+
def all_puppetclasses(env = environment)
|
7
|
+
return ForemanPuppet::Puppetclass.none unless puppet
|
8
|
+
puppet.all_puppetclasses(env)
|
9
|
+
end
|
10
|
+
|
11
|
+
def puppetclasses
|
12
|
+
return ForemanPuppet::Puppetclass.none unless puppet
|
13
|
+
puppet.puppetclasses
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -46,7 +46,7 @@ module ForemanPuppet
|
|
46
46
|
|
47
47
|
def template_includes
|
48
48
|
includes = super
|
49
|
-
tc_include = includes.detect { |i| i.key?(:template_combinations) }
|
49
|
+
tc_include = includes.detect { |i| i.is_a?(Hash) && i.key?(:template_combinations) }
|
50
50
|
tc_include ||= includes << {}
|
51
51
|
tc_include[:template_combinations] = %i[hostgroup environment]
|
52
52
|
includes
|
@@ -2,6 +2,8 @@ module ForemanPuppet
|
|
2
2
|
module HostInfoProviders
|
3
3
|
class ConfigGroupsInfo < HostInfo::Provider
|
4
4
|
def host_info
|
5
|
+
return {} unless host.puppet
|
6
|
+
|
5
7
|
config_groups = (host.puppet.config_groups + host.puppet.parent_config_groups).uniq.map(&:name)
|
6
8
|
{ 'parameters' => { 'foreman_config_groups' => config_groups } }
|
7
9
|
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<ul id="proxy-puppetca-tab" class="nav nav-tabs nav-tabs-pf">
|
2
|
+
<li class="active"><a href="#ca_general" data-toggle="tab"><%= _("General") %></a></li>
|
3
|
+
<% if authorized_for(:permission => :view_smart_proxies_puppetca, :auth_object => @smart_proxy, :authorizer => authorizer) %>
|
4
|
+
<li><a href="#certificates" data-toggle="tab"><%= _("Certificates") %></a></li>
|
5
|
+
<% end %>
|
6
|
+
<% if authorized_for(:permission => :view_smart_proxies_autosign, :auth_object => @smart_proxy, :authorizer => authorizer) %>
|
7
|
+
<li><a href="#autosign" data-toggle="tab"><%= _("Autosign entries") %></a></li>
|
8
|
+
<% end %>
|
9
|
+
</ul>
|
10
|
+
<div id="proxy-puppetca-tab-content" class="tab-content">
|
11
|
+
<div class="tab-pane active in" id="ca_general">
|
12
|
+
<div class="row">
|
13
|
+
<div class="col-md-6">
|
14
|
+
<%= show_feature_version('puppetca') %>
|
15
|
+
<div class="row">
|
16
|
+
<div class="col-md-4"><strong><%= _('Hosts managed:') %></strong></div>
|
17
|
+
<div class="col-md-8">
|
18
|
+
<%= link_to Host::Managed.where(:puppet_ca_proxy_id => @smart_proxy.id).count, hosts_path(:search => "puppet_ca = \"#{@smart_proxy.name}\"") %>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
<div class="container-fluid container-cards-pf">
|
24
|
+
<div class="row row-cards-pf">
|
25
|
+
<% if authorized_for(:permission => :view_smart_proxies_puppetca, :auth_object => @smart_proxy) %>
|
26
|
+
<span data-ajax-url="<%= counts_smart_proxy_puppetca_path(:smart_proxy_id => @smart_proxy) %>"><%= spinner%></span>
|
27
|
+
<span data-ajax-url="<%= expiry_smart_proxy_puppetca_path(:smart_proxy_id => @smart_proxy) %>"><%= spinner%></span>
|
28
|
+
<% end %>
|
29
|
+
<% if authorized_for(:permission => :view_smart_proxies_autosign, :auth_object => @smart_proxy, :authorizer => authorizer) %>
|
30
|
+
<span data-ajax-url="<%= counts_smart_proxy_autosign_path(:smart_proxy_id => @smart_proxy) %>"><%= spinner%></span>
|
31
|
+
<% end %>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
<% if authorized_for(:permission => :view_smart_proxies_puppetca, :auth_object => @smart_proxy, :authorizer => authorizer) %>
|
36
|
+
<div class="tab-pane" id="certificates" data-ajax-url="<%= smart_proxy_puppetca_index_path(:smart_proxy_id => @smart_proxy) %>" data-on-complete="certTable"><%= spinner %></div>
|
37
|
+
<% end %>
|
38
|
+
<% if authorized_for(:permission => :view_smart_proxies_autosign, :auth_object => @smart_proxy, :authorizer => authorizer) %>
|
39
|
+
<div class="tab-pane" id="autosign" data-ajax-url="<%= smart_proxy_autosign_index_path(:smart_proxy_id => @smart_proxy) %>" data-on-complete="tfm.tools.activateDatatables"><%= spinner %></div>
|
40
|
+
<% if authorized_for(:permission => :create_smart_proxies_autosign, :auth_object => @smart_proxy, :authorizer => authorizer) %>
|
41
|
+
<div data-ajax-url=<%= new_smart_proxy_autosign_path(:smart_proxy_id => @smart_proxy) %>></div>
|
42
|
+
<% end %>
|
43
|
+
<% end %>
|
44
|
+
</div>
|
@@ -1,34 +1,53 @@
|
|
1
1
|
class MigrateHostTypeInHostConfigGroups < ActiveRecord::Migration[6.0]
|
2
2
|
class FakeHostConfigGroup < ::ApplicationRecord
|
3
3
|
self.table_name = 'host_config_groups'
|
4
|
+
|
5
|
+
scope :for_host, -> { where(host_type: %w[Host::Base Host::Managed]) }
|
6
|
+
scope :for_hostgroup, -> { where(host_type: 'Hostgroup') }
|
7
|
+
scope :for_host_facet, -> { where(host_type: 'ForemanPuppet::HostPuppetFacet') }
|
8
|
+
scope :for_hostgroup_facet, -> { where(host_type: 'ForemanPuppet::HostgroupPuppetFacet') }
|
9
|
+
end
|
10
|
+
|
11
|
+
class FakeConfigGroup < ::ApplicationRecord
|
12
|
+
self.table_name = 'config_groups'
|
4
13
|
end
|
5
14
|
|
6
15
|
def up
|
7
|
-
host_config_group_ids = FakeHostConfigGroup.
|
16
|
+
host_config_group_ids = FakeHostConfigGroup.for_host.pluck(:host_id).uniq
|
8
17
|
host_config_group_ids.each do |host_id|
|
9
18
|
host_facet_id = ForemanPuppet::HostPuppetFacet.where(host_id: host_id).pick(:id)
|
10
|
-
FakeHostConfigGroup.where(
|
11
|
-
|
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
|
12
27
|
end
|
13
|
-
hostgroup_config_group_ids = FakeHostConfigGroup.
|
28
|
+
hostgroup_config_group_ids = FakeHostConfigGroup.for_hostgroup.pluck(:host_id).uniq
|
14
29
|
hostgroup_config_group_ids.each do |hostgroup_id|
|
15
30
|
hostgroup_facet_id = ForemanPuppet::HostgroupPuppetFacet.where(hostgroup_id: hostgroup_id).pick(:id)
|
16
|
-
|
31
|
+
hostgroup_facet_id ||= ForemanPuppet::HostgroupPuppetFacet.create!(hostgroup: Hostgroup.unscoped.find(hostgroup_id)).id
|
32
|
+
FakeHostConfigGroup.for_hostgroup
|
33
|
+
.where(host_id: hostgroup_id)
|
17
34
|
.update_all(host_type: 'ForemanPuppet::HostgroupPuppetFacet', host_id: hostgroup_facet_id)
|
18
35
|
end
|
19
36
|
end
|
20
37
|
|
21
38
|
def down
|
22
|
-
host_config_group_ids = FakeHostConfigGroup.
|
39
|
+
host_config_group_ids = FakeHostConfigGroup.for_host_facet.pluck(:host_id).uniq
|
23
40
|
host_facet_ids = ForemanPuppet::HostPuppetFacet.where(id: host_config_group_ids).pluck(:id, :host_id).to_h
|
24
41
|
host_config_group_ids.each do |host_puppet_facet_id|
|
25
|
-
FakeHostConfigGroup.
|
42
|
+
FakeHostConfigGroup.for_host_facet
|
43
|
+
.where(host_id: host_puppet_facet_id)
|
26
44
|
.update_all(host_type: 'Host::Managed', host_id: host_facet_ids[host_puppet_facet_id])
|
27
45
|
end
|
28
|
-
hostgroup_config_group_ids = FakeHostConfigGroup.
|
46
|
+
hostgroup_config_group_ids = FakeHostConfigGroup.for_hostgroup_facet.pluck(:host_id).uniq
|
29
47
|
hostgroup_facet_ids = ForemanPuppet::HostgroupPuppetFacet.where(id: hostgroup_config_group_ids).pluck(:id, :hostgroup_id).to_h
|
30
48
|
hostgroup_config_group_ids.each do |hostgroup_facet_id|
|
31
|
-
FakeHostConfigGroup.
|
49
|
+
FakeHostConfigGroup.for_hostgroup_facet
|
50
|
+
.where(host_id: hostgroup_facet_id)
|
32
51
|
.update_all(host_type: 'Hostgroup', host_id: hostgroup_facet_ids[hostgroup_facet_id])
|
33
52
|
end
|
34
53
|
end
|
@@ -7,6 +7,10 @@ class MigratePuppetclassesToFacets < ActiveRecord::Migration[6.0]
|
|
7
7
|
self.table_name = 'hostgroup_classes'
|
8
8
|
end
|
9
9
|
|
10
|
+
class FakePuppetclass < ApplicationRecord
|
11
|
+
self.table_name = 'puppetclasses'
|
12
|
+
end
|
13
|
+
|
10
14
|
def up
|
11
15
|
add_reference :host_classes, :host_puppet_facet, foreign_key: true, index: true
|
12
16
|
add_reference :hostgroup_classes, :hostgroup_puppet_facet, foreign_key: true, index: true
|
@@ -14,11 +18,19 @@ class MigratePuppetclassesToFacets < ActiveRecord::Migration[6.0]
|
|
14
18
|
host_ids = FakeHostClass.all.pluck(:host_id).uniq
|
15
19
|
host_ids.each do |host_id|
|
16
20
|
host_facet = ForemanPuppet::HostPuppetFacet.find_by(host_id: host_id)
|
17
|
-
ForemanPuppet::HostClass.where(host_id: host_id)
|
21
|
+
host_classes = ForemanPuppet::HostClass.where(host_id: host_id)
|
22
|
+
if host_facet
|
23
|
+
host_classes.update_all(host_puppet_facet_id: host_facet.id)
|
24
|
+
else
|
25
|
+
deleted_classes = FakePuppetclass.where(id: host_classes.pluck(:puppetclass_id)).pluck(:name)
|
26
|
+
say "deleting classes #{deleted_classes.join(', ')} from Host (id=#{host_id}) because it has no environment"
|
27
|
+
host_classes.delete_all
|
28
|
+
end
|
18
29
|
end
|
19
30
|
hostgroup_ids = FakeHostgroupClass.all.pluck(:hostgroup_id).uniq
|
20
31
|
hostgroup_ids.each do |hostgroup_id|
|
21
32
|
hostgroup_facet = ForemanPuppet::HostgroupPuppetFacet.find_by(hostgroup_id: hostgroup_id)
|
33
|
+
hostgroup_facet ||= ForemanPuppet::HostgroupPuppetFacet.create(hostgroup: Hostgroup.unscoped.find(hostgroup_id))
|
22
34
|
ForemanPuppet::HostgroupClass.where(hostgroup_id: hostgroup_id).update_all(hostgroup_puppet_facet_id: hostgroup_facet.id)
|
23
35
|
end
|
24
36
|
|
@@ -15,7 +15,18 @@ module ForemanPuppet
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
+
module RelayClassicMutationClassMethodPath
|
19
|
+
# rubocop:disable Metrics/ParameterLists
|
20
|
+
def argument(name, type, *rest, loads: nil, **kwargs, &block)
|
21
|
+
# rubocop:enable Metrics/ParameterLists
|
22
|
+
return if [::Types::Environment, ::Types::Puppetclass].include?(loads)
|
23
|
+
|
24
|
+
super
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
18
28
|
GraphQL::Types::Relay::BaseObject.extend(BaseObjectClassMethodPath)
|
29
|
+
GraphQL::Schema::RelayClassicMutation.extend(RelayClassicMutationClassMethodPath)
|
19
30
|
end
|
20
31
|
end
|
21
32
|
|
@@ -97,6 +108,8 @@ module ForemanPuppet
|
|
97
108
|
::Types::Hostgroup.include(ForemanPuppet::Types::HostgroupExtensions)
|
98
109
|
::Types::Location.include(ForemanPuppet::Types::LocationExtensions)
|
99
110
|
::Types::Organization.include(ForemanPuppet::Types::OrganizationExtensions)
|
111
|
+
::Types::InterfaceAttributesInput.include(ForemanPuppet::Types::InterfaceAttributesInputExtensions)
|
112
|
+
|
100
113
|
::Mutations::Hosts::Create.include(ForemanPuppet::Mutations::Hosts::CreateExtensions)
|
101
114
|
rescue StandardError => e
|
102
115
|
Rails.logger.warn "ForemanPuppet: skipping engine hook (#{e})\n#{e.backtrace.join("\n")}"
|
@@ -170,8 +170,7 @@ Foreman::Plugin.register :foreman_puppet do
|
|
170
170
|
# extend_model ForemanPuppet::Extensions::Host
|
171
171
|
api_view list: 'foreman_puppet/api/v2/host_puppet_facets/base',
|
172
172
|
single: 'foreman_puppet/api/v2/host_puppet_facets/host_single'
|
173
|
-
template_compatibility_properties :environment, :environment_id, :environment_name
|
174
|
-
:puppetclasses, :all_puppetclasses
|
173
|
+
template_compatibility_properties :environment, :environment_id, :environment_name
|
175
174
|
set_dependent_action :destroy
|
176
175
|
end
|
177
176
|
configure_hostgroup(ForemanPuppet::HostgroupPuppetFacet) do
|
@@ -17,6 +17,16 @@ module ForemanPuppet
|
|
17
17
|
name: hostname,
|
18
18
|
environmentId: environment_id,
|
19
19
|
puppetclassIds: [puppetclass_id],
|
20
|
+
interfacesAttributes: [
|
21
|
+
{
|
22
|
+
type: 'bond',
|
23
|
+
attachedTo: %w[eth0 eth1],
|
24
|
+
identifier: 'bond0',
|
25
|
+
primary: true,
|
26
|
+
provision: true,
|
27
|
+
managed: true,
|
28
|
+
},
|
29
|
+
],
|
20
30
|
}
|
21
31
|
end
|
22
32
|
let(:context_user) { FactoryBot.create(:user, :admin, locations: [tax_location], organizations: [organization]) }
|
@@ -28,11 +38,13 @@ module ForemanPuppet
|
|
28
38
|
$name: String!,
|
29
39
|
$environmentId: ID,
|
30
40
|
$puppetclassIds: [ID!],
|
41
|
+
$interfacesAttributes: [InterfaceAttributesInput!]
|
31
42
|
) {
|
32
43
|
createHost(input: {
|
33
44
|
name: $name,
|
34
45
|
environmentId: $environmentId,
|
35
46
|
puppetclassIds: $puppetclassIds,
|
47
|
+
interfacesAttributes: $interfacesAttributes,
|
36
48
|
}) {
|
37
49
|
host {
|
38
50
|
id
|
@@ -57,6 +69,15 @@ module ForemanPuppet
|
|
57
69
|
assert_equal environment.id, host.puppet.environment_id
|
58
70
|
assert_equal [puppetclass.id], host.puppet.puppetclasses.pluck(:id)
|
59
71
|
|
72
|
+
assert_equal 1, host.interfaces.count
|
73
|
+
interface = host.interfaces.first
|
74
|
+
assert_equal 'Nic::Bond', interface.type
|
75
|
+
assert_equal 'eth0, eth1', interface.attached_to
|
76
|
+
assert_equal 'bond0', interface.identifier
|
77
|
+
assert interface.primary
|
78
|
+
assert interface.provision
|
79
|
+
assert interface.managed
|
80
|
+
|
60
81
|
assert_not_nil data
|
61
82
|
end
|
62
83
|
end
|
@@ -37,6 +37,13 @@ module ForemanPuppet
|
|
37
37
|
assert_equal [], tmplt.template_combinations
|
38
38
|
end
|
39
39
|
|
40
|
+
test '#template_includes adds environment include' do
|
41
|
+
includes = ProvisioningTemplate.template_includes
|
42
|
+
tc_include = includes.detect { |i| i.is_a?(Hash) && i.key?(:template_combinations) }
|
43
|
+
assert tc_include
|
44
|
+
assert_includes tc_include[:template_combinations], :environment
|
45
|
+
end
|
46
|
+
|
40
47
|
describe '#find_template by template_combinations' do
|
41
48
|
setup do
|
42
49
|
@arch = FactoryBot.create(:architecture)
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'test_puppet_helper'
|
2
|
+
|
3
|
+
module ForemanPuppet
|
4
|
+
class ConfigGroupInfoTest < ActiveSupport::TestCase
|
5
|
+
let(:cg_info) { HostInfoProviders::ConfigGroupsInfo.new(host) }
|
6
|
+
|
7
|
+
context 'with Puppet Host' do
|
8
|
+
let(:config_group) { FactoryBot.create(:config_group) }
|
9
|
+
let(:host) do
|
10
|
+
FactoryBot.build(:host, :with_puppet_enc,
|
11
|
+
location: taxonomies(:location1),
|
12
|
+
organization: taxonomies(:organization1),
|
13
|
+
operatingsystem: operatingsystems(:redhat),
|
14
|
+
config_groups: [config_group])
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'adds config_groups to host parameters' do
|
18
|
+
assert_equal([config_group.name], cg_info.host_info['parameters']['foreman_config_groups'])
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'without Puppet' do
|
23
|
+
let(:host) do
|
24
|
+
FactoryBot.build(:host,
|
25
|
+
location: taxonomies(:location1),
|
26
|
+
organization: taxonomies(:organization1),
|
27
|
+
operatingsystem: operatingsystems(:redhat))
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'does not fail without puppet facet' do
|
31
|
+
assert_equal({}, cg_info.host_info)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_puppet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.rc.
|
4
|
+
version: 1.0.0.rc.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ondřej Ezr
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-08-16 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Allow assigning Puppet environmets and classes to the Foreman Hosts.
|
15
15
|
email:
|
@@ -56,6 +56,7 @@ files:
|
|
56
56
|
- app/graphgl/concerns/foreman_puppet/mutations/hosts/create_extensions.rb
|
57
57
|
- app/graphgl/concerns/foreman_puppet/types/host_extensions.rb
|
58
58
|
- app/graphgl/concerns/foreman_puppet/types/hostgroup_extensions.rb
|
59
|
+
- app/graphgl/concerns/foreman_puppet/types/interface_attributes_input_extensions.rb
|
59
60
|
- app/graphgl/concerns/foreman_puppet/types/location_extensions.rb
|
60
61
|
- app/graphgl/concerns/foreman_puppet/types/organization_extensions.rb
|
61
62
|
- app/graphgl/foreman_puppet/types/environment.rb
|
@@ -70,6 +71,7 @@ files:
|
|
70
71
|
- app/helpers/foreman_puppet/puppetclasses_helper.rb
|
71
72
|
- app/helpers/foreman_puppet/template_combinations_helper.rb
|
72
73
|
- app/models/concerns/foreman_puppet/extensions/host.rb
|
74
|
+
- app/models/concerns/foreman_puppet/extensions/host_common.rb
|
73
75
|
- app/models/concerns/foreman_puppet/extensions/hostgroup.rb
|
74
76
|
- app/models/concerns/foreman_puppet/extensions/nic_managed.rb
|
75
77
|
- app/models/concerns/foreman_puppet/extensions/operatingsystem.rb
|
@@ -169,6 +171,7 @@ files:
|
|
169
171
|
- app/views/provisioning_templates/_combination.html.erb
|
170
172
|
- app/views/provisioning_templates/_combinations.html.erb
|
171
173
|
- app/views/smart_proxies/plugins/_puppet.html.erb
|
174
|
+
- app/views/smart_proxies/plugins/_puppet_ca.html.erb
|
172
175
|
- config/api_routes.rb
|
173
176
|
- config/initializers/api_reroute.rb
|
174
177
|
- config/routes.rb
|
@@ -260,6 +263,7 @@ files:
|
|
260
263
|
- test/models/foreman_puppet/report_test.rb
|
261
264
|
- test/models/foreman_puppet/smart_proxy_test.rb
|
262
265
|
- test/models/foreman_puppet/user_test.rb
|
266
|
+
- test/services/foreman_puppet/host_info_providers/config_groups_info_test.rb
|
263
267
|
- test/services/foreman_puppet/host_info_providers/puppet_info_test.rb
|
264
268
|
- test/services/foreman_puppet/input_type/puppet_parameter_input_test.rb
|
265
269
|
- test/test_puppet_helper.rb
|
@@ -312,6 +316,7 @@ signing_key:
|
|
312
316
|
specification_version: 4
|
313
317
|
summary: Adds puppet ENC features
|
314
318
|
test_files:
|
319
|
+
- test/services/foreman_puppet/host_info_providers/config_groups_info_test.rb
|
315
320
|
- test/services/foreman_puppet/host_info_providers/puppet_info_test.rb
|
316
321
|
- test/services/foreman_puppet/input_type/puppet_parameter_input_test.rb
|
317
322
|
- test/integration/foreman_puppet/smartclass_parameter_js_test.rb
|