foreman_puppet 2.0.2 → 2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/helpers/foreman_puppet/puppetclass_lookup_keys_helper.rb +1 -1
- data/db/migrate/20220201205305_migrate_host_class_permission.foreman_puppet.rb +9 -0
- data/db/migrate/20220208135305_migrate_environment_ignore_type.foreman_puppet.rb +15 -0
- data/db/migrate_foreman/20090905150132_create_hostgroups_puppetclasses.foreman_puppet.rb +3 -1
- data/lib/foreman_puppet/register.rb +2 -1
- data/lib/foreman_puppet/version.rb +1 -1
- data/test/helpers/foreman_puppet/puppetclass_lookup_keys_helper_test.rb +34 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83861f53b9f2944dda945591b245097569b4477df77ed2760f42cb1d92bd3ed0
|
4
|
+
data.tar.gz: 620b8fb7524015970cd4aa1e42ea130483434ccb0af7474a1a4ca23ca8d8199f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ac189449b5b6f819e82ee4f14dbccfdf0da012dd0a8345441225b76f062912a9b3f184bc7f2c87715dd5e460d1deadc6943f45e060a4bf109d8d3ba87ce8bc7
|
7
|
+
data.tar.gz: 13157df73faa3eb07f8e1299ad9367bd09d6292e45ff59741d2c6e108542bb239ad25ba04eb8fae97125b54cba6f452248c91b9bddffda1c0829b2e8953fdb57
|
@@ -9,7 +9,7 @@ module ForemanPuppet
|
|
9
9
|
# ------ Host(group) Form Helpers -----
|
10
10
|
|
11
11
|
def overridable_puppet_lookup_keys(klass, obj)
|
12
|
-
klass.class_params.override.where(environment_classes: { environment_id: obj.
|
12
|
+
klass.class_params.override.where(environment_classes: { environment_id: obj.environment })
|
13
13
|
end
|
14
14
|
|
15
15
|
def hidden_puppet_lookup_value_fields(lookup_key, lookup_value, disabled)
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class MigrateEnvironmentIgnoreType < ActiveRecord::Migration[6.0]
|
2
|
+
def up
|
3
|
+
taxonomies = Taxonomy.unscoped.where("ignore_types LIKE '%Environment%'")
|
4
|
+
environment_ids = ForemanPuppet::Environment.unscoped.pluck(:id)
|
5
|
+
|
6
|
+
taxonomies.each do |tax|
|
7
|
+
new_types = tax.ignore_types.reject { |type| type == 'Environment' }
|
8
|
+
tax.update_columns(ignore_types: new_types)
|
9
|
+
taxable_rows = environment_ids.map do |env_id|
|
10
|
+
{ taxable_id: env_id, taxable_type: 'ForemanPuppet::Environment', taxonomy_id: tax.id }
|
11
|
+
end
|
12
|
+
TaxableTaxonomy.insert_all(taxable_rows) if taxable_rows.any?
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
class CreateHostgroupsPuppetclasses < ActiveRecord::Migration[6.0]
|
2
2
|
def up
|
3
|
-
|
3
|
+
# this table is later renamed into hostgroup_classes and thus we don't want to create it if it exists under the later name
|
4
|
+
return if table_exists?(:hostgroups_puppetclasses) || table_exists?(:hostgroup_classes)
|
5
|
+
create_table :hostgroups_puppetclasses, id: false do |t|
|
4
6
|
t.references :hostgroup, foreign_key: true, null: false
|
5
7
|
t.references :puppetclass, foreign_key: true, null: false
|
6
8
|
end
|
@@ -147,7 +147,8 @@ Foreman::Plugin.register :foreman_puppet do
|
|
147
147
|
permission :import_puppetclasses, { 'foreman_puppet/puppetclasses' => %i[import_environments obsolete_and_new],
|
148
148
|
'foreman_puppet/api/v2/environments' => [:import_puppetclasses] },
|
149
149
|
resource_type: 'ForemanPuppet::Puppetclass'
|
150
|
-
permission :edit_classes, {
|
150
|
+
permission :edit_classes, { :host_editing => [:edit_classes],
|
151
|
+
'foreman_puppet/api/v2/host_classes' => %i[index create destroy] },
|
151
152
|
resource_type: 'ForemanPuppet::HostClass'
|
152
153
|
end
|
153
154
|
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'test_puppet_helper'
|
2
|
+
|
3
|
+
module ForemanPuppet
|
4
|
+
class PuppetclassLookupKeysHelperTest < ActionView::TestCase
|
5
|
+
include PuppetclassLookupKeysHelper
|
6
|
+
|
7
|
+
describe '#overridable_puppet_lookup_keys' do
|
8
|
+
let(:parent_puppet_var) { FactoryBot.create(:puppetclass_lookup_key) }
|
9
|
+
let(:parent_hg) { FactoryBot.create(:hostgroup, :with_puppet_enc, environment: parent_puppet_var.environments.first) }
|
10
|
+
|
11
|
+
context 'with new hostgroup' do
|
12
|
+
subject do
|
13
|
+
hg = Hostgroup.new(parent: parent_hg)
|
14
|
+
hg.build_puppet
|
15
|
+
hg
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'returns inherited parameter' do
|
19
|
+
keys = overridable_puppet_lookup_keys(parent_puppet_var.param_classes.first, subject)
|
20
|
+
_(keys).must_include(parent_puppet_var)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'with new host' do
|
25
|
+
subject { Host.new(hostgroup: parent_hg) }
|
26
|
+
|
27
|
+
it 'returns inherited parameter' do
|
28
|
+
keys = overridable_puppet_lookup_keys(parent_puppet_var.param_classes.first, subject)
|
29
|
+
_(keys).must_include(parent_puppet_var)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
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: 2.0.
|
4
|
+
version: 2.0.3
|
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:
|
12
|
+
date: 2022-02-10 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Allow assigning Puppet environments and classes to the Foreman Hosts.
|
15
15
|
email:
|
@@ -188,6 +188,8 @@ files:
|
|
188
188
|
- db/migrate/20210924103241_remove_katello_id_from_environments.foreman_puppet.rb
|
189
189
|
- db/migrate/20211111125003_drop_puppetclasses_direct_references.foreman_puppet.rb
|
190
190
|
- db/migrate/20211112130803_cleanup_environment_from_core_tables.foreman_puppet.rb
|
191
|
+
- db/migrate/20220201205305_migrate_host_class_permission.foreman_puppet.rb
|
192
|
+
- db/migrate/20220208135305_migrate_environment_ignore_type.foreman_puppet.rb
|
191
193
|
- db/migrate_foreman/20090722141107_create_environments.foreman_puppet.rb
|
192
194
|
- db/migrate_foreman/20090802062223_create_puppetclasses.foreman_puppet.rb
|
193
195
|
- db/migrate_foreman/20090905150132_create_hostgroups_puppetclasses.foreman_puppet.rb
|
@@ -292,6 +294,7 @@ files:
|
|
292
294
|
- test/graphql/queries/puppetclass_query_test.rb
|
293
295
|
- test/graphql/queries/puppetclasses_query_test.rb
|
294
296
|
- test/helpers/foreman_puppet/hosts_and_hostgroups_helper_test.rb
|
297
|
+
- test/helpers/foreman_puppet/puppetclass_lookup_keys_helper_test.rb
|
295
298
|
- test/helpers/foreman_puppet/puppetclasses_helper_test.rb
|
296
299
|
- test/integration/foreman_puppet/dashboard_js_test.rb
|
297
300
|
- test/integration/foreman_puppet/environment_js_test.rb
|
@@ -363,7 +366,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
363
366
|
- !ruby/object:Gem::Version
|
364
367
|
version: '0'
|
365
368
|
requirements: []
|
366
|
-
rubygems_version: 3.
|
369
|
+
rubygems_version: 3.3.4
|
367
370
|
signing_key:
|
368
371
|
specification_version: 4
|
369
372
|
summary: Add Puppet features to Foreman
|
@@ -387,6 +390,7 @@ test_files:
|
|
387
390
|
- test/graphql/queries/environment_query_test.rb
|
388
391
|
- test/graphql/queries/hostgroup_puppet_query_test.rb
|
389
392
|
- test/graphql/queries/environments_query_test.rb
|
393
|
+
- test/helpers/foreman_puppet/puppetclass_lookup_keys_helper_test.rb
|
390
394
|
- test/helpers/foreman_puppet/puppetclasses_helper_test.rb
|
391
395
|
- test/helpers/foreman_puppet/hosts_and_hostgroups_helper_test.rb
|
392
396
|
- test/models/foreman_puppet/config_group_class_test.rb
|