foreman_puppet 1.0.0 → 2.0.0.alpha.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.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/foreman_puppet/extensions/api_hostgroups_controller.rb +14 -16
  3. data/app/controllers/concerns/foreman_puppet/{api/import_puppetclasses_common_controller.rb → extensions/api_smart_proxies_controller.rb} +9 -3
  4. data/app/controllers/concerns/foreman_puppet/extensions/api_template_combinations_controller.rb +23 -1
  5. data/app/controllers/concerns/foreman_puppet/extensions/api_v2_hosts_controller.rb +15 -17
  6. data/app/controllers/concerns/foreman_puppet/extensions/hostgroups_controller_extensions.rb +4 -2
  7. data/app/controllers/concerns/foreman_puppet/extensions/hosts_controller_extensions.rb +1 -2
  8. data/app/controllers/concerns/foreman_puppet/extensions/parameters_hostgroup.rb +2 -8
  9. data/app/controllers/foreman_puppet/api/v2/environments_controller.rb +0 -1
  10. data/app/controllers/foreman_puppet/puppetclasses_controller.rb +1 -1
  11. data/app/helpers/foreman_puppet/hosts_and_hostgroups_helper.rb +0 -5
  12. data/app/helpers/foreman_puppet/hosts_helper.rb +6 -10
  13. data/app/helpers/foreman_puppet/puppet_smart_proxies_helper.rb +4 -0
  14. data/app/models/concerns/foreman_puppet/extensions/host.rb +2 -16
  15. data/app/models/concerns/foreman_puppet/extensions/hostgroup.rb +2 -7
  16. data/app/models/concerns/foreman_puppet/extensions/provisioning_template.rb +7 -12
  17. data/app/models/concerns/foreman_puppet/extensions/template_combination.rb +5 -10
  18. data/app/services/concerns/foreman_puppet/extensions/host_counter.rb +17 -0
  19. data/app/services/foreman_puppet/puppet_class_importer.rb +0 -6
  20. data/app/views/foreman_puppet/api/v2/host_puppet_facets/host_list.json.rabl +3 -0
  21. data/app/views/foreman_puppet/api/v2/hostgroup_puppet_facets/base.json.rabl +2 -0
  22. data/app/views/foreman_puppet/api/v2/hostgroup_puppet_facets/hostgroup_list.json.rabl +3 -0
  23. data/app/views/hosts/_form_puppet_enc_tab.html.erb +3 -4
  24. data/config/api_routes.rb +1 -9
  25. data/config/initializers/api_reroute.rb +73 -5
  26. data/db/migrate/20101121140000_add_environment_to_template_combinations.foreman_puppet.rb +1 -1
  27. data/db/migrate/20200803113803_migrate_environment_to_puppet_facet.foreman_puppet.rb +4 -2
  28. data/db/migrate/20210924103241_remove_katello_id_from_environments.foreman_puppet.rb +5 -0
  29. data/db/migrate_foreman/20090722141107_create_environments.rb +2 -2
  30. data/db/migrate_foreman/20090802062223_create_puppetclasses.rb +28 -0
  31. data/db/migrate_foreman/20090905150132_create_hostgroups_puppetclasses.rb +12 -0
  32. data/db/migrate_foreman/20110412103238_remove_unused_fields_from_puppet_classes.rb +9 -0
  33. data/db/migrate_foreman/20110712070522_create_host_class.rb +11 -0
  34. data/db/migrate_foreman/20120824142048_add_some_indexes.rb +14 -0
  35. data/db/migrate_foreman/20121018152459_create_hostgroup_classes.rb +11 -0
  36. data/db/migrate_foreman/20161205142618_delete_orphaned_smart_class_parameters.rb +1 -1
  37. data/db/migrate_foreman/20180816134832_cast_lookup_key_values.rb +1 -31
  38. data/db/migrate_foreman/20180831115634_add_uniqueness_to_puppetclass_name.rb +24 -0
  39. data/db/migrate_foreman/20181023112532_add_environment_puppetclass_id.rb +1 -1
  40. data/lib/foreman_puppet/engine.rb +6 -36
  41. data/lib/foreman_puppet/register.rb +16 -47
  42. data/lib/foreman_puppet/version.rb +1 -1
  43. data/lib/foreman_puppet.rb +1 -6
  44. data/locale/en/LC_MESSAGES/foreman_puppet.mo +0 -0
  45. data/locale/en/foreman_puppet.po +62 -8
  46. data/locale/foreman_puppet.pot +215 -133
  47. data/locale/gemspec.rb +1 -1
  48. data/package.json +8 -11
  49. data/test/controllers/foreman_puppet/api/v2/environments_controller_test.rb +0 -231
  50. data/test/controllers/foreman_puppet/api/v2/smart_proxies_controller_test.rb +255 -0
  51. data/test/controllers/foreman_puppet/environments_controller_test.rb +2 -2
  52. data/test/controllers/foreman_puppet/hostgroups_controller_test.rb +72 -52
  53. data/test/controllers/foreman_puppet/hosts_controller_test.rb +0 -1
  54. data/test/factories/foreman_puppet_factories.rb +0 -2
  55. data/test/factories/host_puppet_enhancements.rb +3 -0
  56. data/test/integration/foreman_puppet/host_js_test.rb +0 -1
  57. data/test/integration/foreman_puppet/puppetclass_js_test.rb +1 -1
  58. data/test/models/foreman_puppet/host_test.rb +26 -0
  59. data/test/models/foreman_puppet/user_test.rb +1 -5
  60. data/test/services/foreman_puppet/host_counter_test.rb +17 -0
  61. data/test/unit/foreman_puppet/puppet_class_importer_test.rb +1 -1
  62. data/webpack/src/Components/Environments/Welcome.js +2 -2
  63. metadata +22 -7
@@ -1,11 +1,11 @@
1
- class CreateEnvironments < ActiveRecord::Migration[5.0]
1
+ class CreateEnvironments < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  create_table :environments do |t|
4
4
  t.string :name, null: false, limit: 255
5
5
  t.timestamps null: true
6
6
  end
7
7
  create_table :environments_puppetclasses do |t|
8
- t.references :puppetclass, foreign_key: true
8
+ t.references :puppetclass, null: false
9
9
  t.references :environment, foreign_key: true
10
10
  end
11
11
  end
@@ -0,0 +1,28 @@
1
+ class CreatePuppetclasses < ActiveRecord::Migration[4.2]
2
+ def up
3
+ create_table :puppetclasses do |t|
4
+ t.string :name, limit: 255
5
+ t.string :nameindicator, limit: 255
6
+ t.integer :operatingsystem_id
7
+
8
+ t.timestamps null: true
9
+ end
10
+ add_foreign_key(:environments_puppetclasses, :puppetclasses)
11
+
12
+ create_table :hosts_puppetclasses, id: false do |t|
13
+ t.references :puppetclass, null: false
14
+ t.references :host, null: false
15
+ end
16
+
17
+ create_table :operatingsystems_puppetclasses, id: false do |t|
18
+ t.references :puppetclass, null: false
19
+ t.references :operatingsystem, null: false
20
+ end
21
+ end
22
+
23
+ def down
24
+ drop_table :puppetclasses
25
+ drop_table :hosts_puppetclasses
26
+ drop_table :operatingsystems_puppetclasses
27
+ end
28
+ end
@@ -0,0 +1,12 @@
1
+ class CreateHostgroupsPuppetclasses < ActiveRecord::Migration[6.0]
2
+ def up
3
+ create_table :hostgroups_puppetclasses, id: false, if_not_exists: true do |t|
4
+ t.references :hostgroup, foreign_key: true, null: false
5
+ t.references :puppetclass, foreign_key: true, null: false
6
+ end
7
+ end
8
+
9
+ def down
10
+ drop_table :hostgroups_puppetclasses
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ class RemoveUnusedFieldsFromPuppetClasses < ActiveRecord::Migration[4.2]
2
+ def up
3
+ remove_column :puppetclasses, :nameindicator
4
+ remove_column :puppetclasses, :operatingsystem_id
5
+ end
6
+
7
+ def down
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ class CreateHostClass < ActiveRecord::Migration[4.2]
2
+ def up
3
+ rename_table :hosts_puppetclasses, :host_classes
4
+ add_column :host_classes, :id, :primary_key
5
+ end
6
+
7
+ def down
8
+ remove_column :host_classes, :id
9
+ rename_table :host_classes, :hosts_puppetclasses
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ class AddSomeIndexes < ActiveRecord::Migration[4.2]
2
+ def change
3
+ # puppetclasses
4
+ add_index :puppetclasses, :name
5
+
6
+ # turn off Foreign Key checks
7
+ execute 'SET CONSTRAINTS ALL DEFERRED;' if ActiveRecord::Base.connection.adapter_name == 'PostgreSQL'
8
+
9
+ add_foreign_key 'host_classes', 'hosts', name: 'host_classes_host_id_fk'
10
+ add_foreign_key 'host_classes', 'puppetclasses', name: 'host_classes_puppetclass_id_fk'
11
+ add_foreign_key 'operatingsystems_puppetclasses', 'operatingsystems', name: 'operatingsystems_puppetclasses_operatingsystem_id_fk'
12
+ add_foreign_key 'operatingsystems_puppetclasses', 'puppetclasses', name: 'operatingsystems_puppetclasses_puppetclass_id_fk'
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ class CreateHostgroupClasses < ActiveRecord::Migration[4.2]
2
+ def up
3
+ rename_table :hostgroups_puppetclasses, :hostgroup_classes
4
+ add_column :hostgroup_classes, :id, :primary_key
5
+ end
6
+
7
+ def down
8
+ remove_column :hostgroup_classes, :id
9
+ rename_table :hostgroup_classes, :hostgroups_puppetclasses
10
+ end
11
+ end
@@ -2,7 +2,7 @@ class DeleteOrphanedSmartClassParameters < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  condition = 'NOT EXISTS (SELECT 1 FROM environment_classes WHERE environment_classes.puppetclass_lookup_key_id = lookup_keys.id)'
4
4
  LookupValue.joins(:lookup_key).where(condition).where("lookup_keys.type = 'PuppetclassLookupKey'").delete_all
5
- PuppetclassLookupKey.where(condition).delete_all
5
+ LookupKey.where(condition).where(type: 'PuppetclassLookupKey').delete_all
6
6
  end
7
7
 
8
8
  def down
@@ -1,35 +1,5 @@
1
1
  class CastLookupKeyValues < ActiveRecord::Migration[5.1]
2
2
  def up
3
- # Different LookupKey types handle casting a bit differently
4
- PuppetclassLookupKey.unscoped.preload(:lookup_values).where(override: true).where.not(key_type: 'string').find_each do |key|
5
- cast_key_and_values(key)
6
- end
7
- end
8
-
9
- private
10
-
11
- def cast_key_and_values(key)
12
- fix_value(key, :default_value)
13
- key.lookup_values.each do |lv|
14
- fix_value(lv, :value)
15
- end
16
- end
17
-
18
- def safemode_box
19
- @safemode_box ||= Safemode::Box.new
20
- end
21
-
22
- def fix_value(obj, attribute)
23
- return if obj.omit && !obj.try(:merge_default)
24
- value = obj.send(attribute)
25
- return unless value.is_a? String
26
- return if value.contains_erb?
27
- fixed = safemode_box.eval(value)
28
- obj.update_column(attribute, fixed)
29
- rescue StandardError => e
30
- say "Failed to cast #{attribute} for #{obj.inspect}:"
31
- say "Value: #{value}", subitem: true
32
- say "Error: #{e.message}", subitem: true
33
- say 'Perhaps it is invalid? Casting skipped, manual action may be needed.', subitem: true
3
+ # Do nothing, if this is upgrade from too old version, we are not supporting it.
34
4
  end
35
5
  end
@@ -0,0 +1,24 @@
1
+ class AddUniquenessToPuppetclassName < ActiveRecord::Migration[5.1]
2
+ class FakePuppetclass < ApplicationRecord
3
+ self.table_name = 'puppetclasses'
4
+ end
5
+
6
+ def up
7
+ names = FakePuppetclass.group(:name).count.select { |_key, value| value > 1 }.keys
8
+ unless names.empty?
9
+ names.each do |name|
10
+ classes = FakePuppetclass.where name: name
11
+ say "#{classes.count} Puppet classes with duplicate name detected: #{name}"
12
+ end
13
+ raise 'Please make sure there are no duplicate Puppet classes before continuing.'
14
+ end
15
+
16
+ remove_index :puppetclasses, :name
17
+ add_index :puppetclasses, :name, unique: true
18
+ end
19
+
20
+ def down
21
+ remove_index :puppetclasses, :name
22
+ add_index :puppetclasses, :name
23
+ end
24
+ end
@@ -2,6 +2,6 @@
2
2
  class AddEnvironmentPuppetclassId < ActiveRecord::Migration[5.2]
3
3
  def change
4
4
  add_index :environment_classes, %i[environment_id puppetclass_id]
5
- remove_index :environment_classes, :environment_id
5
+ remove_index(:environment_classes, :environment_id) if index_exists?(:environment_classes, :environment_id)
6
6
  end
7
7
  end
@@ -1,38 +1,9 @@
1
1
  module ForemanPuppet
2
2
  class Engine < ::Rails::Engine
3
- config.before_configuration do
4
- unless ForemanPuppet.extracted_from_core?
5
- require 'graphql'
6
-
7
- module BaseObjectClassMethodPath
8
- def field(*args, **kwargs, &block)
9
- return if args.first == :environment && args.second.to_s == 'Types::Environment'
10
- return if args.first == :environments && args.second.node_type.to_s == 'Types::Environment'
11
- return if args.first == :puppetclass && args.second.to_s == 'Types::Puppetclass'
12
- return if args.first == :puppetclasses && args.second.node_type.to_s == 'Types::Puppetclass'
13
-
14
- super
15
- end
16
- end
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
-
28
- GraphQL::Types::Relay::BaseObject.extend(BaseObjectClassMethodPath)
29
- GraphQL::Schema::RelayClassicMutation.extend(RelayClassicMutationClassMethodPath)
30
- end
31
- end
32
-
33
3
  engine_name 'foreman_puppet'
34
4
  isolate_namespace ForemanPuppet
35
5
 
6
+ config.paths['db/migrate'] << 'db/migrate_foreman' if Gem::Dependency.new('', ">= #{ForemanPuppet::FOREMAN_DROP_MIGRATIONS_VERSION}").match?('', SETTINGS[:version].notag)
36
7
  config.paths['config/routes.rb'].unshift('config/api_routes.rb')
37
8
 
38
9
  initializer 'foreman_puppet.register_plugin', before: :finisher_hook do |_app|
@@ -79,6 +50,8 @@ module ForemanPuppet
79
50
  ::TemplateCombination.include ForemanPuppet::Extensions::TemplateCombination
80
51
  ::ProvisioningTemplate.include ForemanPuppet::Extensions::ProvisioningTemplate
81
52
 
53
+ ::HostCounter.prepend ForemanPuppet::Extensions::HostCounter
54
+
82
55
  ::Api::V2::BaseController.include ForemanPuppet::Extensions::ApiBaseController
83
56
  ::Api::V2::HostsController.include ForemanPuppet::Extensions::ApiV2HostsController
84
57
  ::Api::V2::HostgroupsController.include ForemanPuppet::Extensions::ApiHostgroupsController
@@ -93,15 +66,12 @@ module ForemanPuppet
93
66
 
94
67
  ::SmartProxiesHelper::TABBED_FEATURES << 'Puppet'
95
68
 
96
- unless ForemanPuppet.extracted_from_core?
97
- ::HostInfo.local_entries.delete('HostInfoProviders::PuppetInfo'.safe_constantize)
98
- ::HostInfo.local_entries.delete('HostInfoProviders::ConfigGroupsInfo'.safe_constantize)
99
- ::ProxyStatus.status_registry.delete('ProxyStatus::Puppet'.safe_constantize)
100
- Foreman.input_types_registry.input_types.delete('puppet_parameter')
101
- end
102
69
  Foreman.input_types_registry.register(ForemanPuppet::InputType::PuppetParameterInput)
103
70
  ::ProxyStatus.status_registry.add(ForemanPuppet::ProxyStatus::Puppet)
104
71
 
72
+ # Extend smart_proxies API functionality
73
+ ::Api::V2::SmartProxiesController.include ForemanPuppet::Extensions::ApiSmartProxiesController
74
+
105
75
  # GraphQL
106
76
  ::Types::Host.include(ForemanPuppet::Types::HostExtensions)
107
77
  ::Types::Hostgroup.include(ForemanPuppet::Types::HostgroupExtensions)
@@ -1,34 +1,15 @@
1
1
  Foreman::Plugin.register :foreman_puppet do
2
- requires_foreman '>= 2.0.0'
2
+ requires_foreman '>= 3.0.0'
3
3
  # Add Global JS file for extending foreman-core components and routes
4
4
  register_global_js_file 'fills'
5
5
 
6
6
  apipie_documented_controllers(["#{ForemanPuppet::Engine.root}/app/controllers/foreman_puppet/api/v2/*.rb"])
7
7
 
8
- unless ForemanPuppet.extracted_from_core?
9
- # Remove core permissions
10
- cfgs = %i[view_config_groups create_config_groups edit_config_groups destroy_config_groups]
11
- plks = %i[view_external_parameters create_external_parameters edit_external_parameters
12
- destroy_external_parameters]
13
- pcls = %i[view_puppetclasses create_puppetclasses edit_puppetclasses destroy_puppetclasses import_puppetclasses]
14
- (cfgs | plks | pcls).each do |perm_name|
15
- p = Foreman::AccessControl.permission(perm_name)
16
- Foreman::AccessControl.remove_permission(p)
17
- end
18
-
19
- delete_menu_item(:top_menu, :puppetclasses)
20
- delete_menu_item(:top_menu, :config_groups)
21
- delete_menu_item(:top_menu, :puppetclass_lookup_keys)
22
- delete_menu_item(:top_menu, :environments)
23
- end
24
-
25
8
  # TODO: maybe this would not be necessary if we rething the form
26
9
  %i[create_hostgroups edit_hostgroups].each do |perm|
27
10
  p = Foreman::AccessControl.permission(perm)
28
- if ForemanPuppet.extracted_from_core?
29
- p.actions << 'hostgroups/environment_selected'
30
- p.actions << 'hostgroups/puppetclass_parameters'
31
- end
11
+ p.actions << 'hostgroups/environment_selected'
12
+ p.actions << 'hostgroups/puppetclass_parameters'
32
13
  p.actions << 'foreman_puppet/puppetclasses/parameters'
33
14
  end
34
15
  p = Foreman::AccessControl.permission(:edit_hostgroups)
@@ -37,15 +18,13 @@ Foreman::Plugin.register :foreman_puppet do
37
18
  end
38
19
  %i[create_hosts edit_hosts].each do |perm|
39
20
  p = Foreman::AccessControl.permission(perm)
40
- if ForemanPuppet.extracted_from_core?
41
- p.actions << 'hosts/hostgroup_or_environment_selected'
42
- p.actions << 'hosts/puppetclass_parameters'
43
- if perm == :edit_hosts
44
- p.actions << 'hosts/select_multiple_environment'
45
- p.actions << 'hosts/update_multiple_environment'
46
- p.actions << 'hosts/select_multiple_puppet_proxy'
47
- p.actions << 'hosts/update_multiple_puppet_proxy'
48
- end
21
+ p.actions << 'hosts/hostgroup_or_environment_selected'
22
+ p.actions << 'hosts/puppetclass_parameters'
23
+ if perm == :edit_hosts
24
+ p.actions << 'hosts/select_multiple_environment'
25
+ p.actions << 'hosts/update_multiple_environment'
26
+ p.actions << 'hosts/select_multiple_puppet_proxy'
27
+ p.actions << 'hosts/update_multiple_puppet_proxy'
49
28
  end
50
29
  p.actions << 'foreman_puppet/puppetclasses/parameters'
51
30
  end
@@ -168,13 +147,13 @@ Foreman::Plugin.register :foreman_puppet do
168
147
  register_facet ForemanPuppet::HostPuppetFacet, :puppet do
169
148
  configure_host do
170
149
  # extend_model ForemanPuppet::Extensions::Host
171
- api_view list: 'foreman_puppet/api/v2/host_puppet_facets/base',
150
+ api_view list: 'foreman_puppet/api/v2/host_puppet_facets/host_list',
172
151
  single: 'foreman_puppet/api/v2/host_puppet_facets/host_single'
173
152
  template_compatibility_properties :environment, :environment_id, :environment_name
174
153
  set_dependent_action :destroy
175
154
  end
176
155
  configure_hostgroup(ForemanPuppet::HostgroupPuppetFacet) do
177
- api_view list: 'foreman_puppet/api/v2/hostgroup_puppet_facets/base',
156
+ api_view list: 'foreman_puppet/api/v2/hostgroup_puppet_facets/hostgroup_list',
178
157
  single: 'foreman_puppet/api/v2/hostgroup_puppet_facets/hostgroup_single'
179
158
  template_compatibility_properties :environment, :environment_id, :environment_name
180
159
  set_dependent_action :destroy
@@ -185,14 +164,6 @@ Foreman::Plugin.register :foreman_puppet do
185
164
  base_scope.preload(puppet: :environment)
186
165
  end
187
166
 
188
- unless ForemanPuppet.extracted_from_core?
189
- Rails.application.config.after_initialize do
190
- list = Pagelets::Manager.instance.instance_variable_get(:@pagelets)['hosts/_form'][:main_tabs]
191
- core_pagelet = list.detect { |pagelet| pagelet.opts[:id] == :puppet_klasses }
192
- list.delete(core_pagelet)
193
- end
194
- end
195
-
196
167
  register_graphql_query_field :environment, 'ForemanPuppet::Types::Environment', :record_field
197
168
  register_graphql_query_field :environments, 'ForemanPuppet::Types::Environment', :collection_field
198
169
  register_graphql_query_field :puppetclass, 'ForemanPuppet::Types::Puppetclass', :record_field
@@ -212,12 +183,10 @@ Foreman::Plugin.register :foreman_puppet do
212
183
  priority: 100,
213
184
  onlyif: (host_onlyif if resource_type == :host)
214
185
 
215
- if ForemanPuppet.extracted_from_core?
216
- context.add_pagelet :main_tab_fields,
217
- partial: 'hosts/foreman_puppet/form_main_tab_fields',
218
- resource_type: resource_type,
219
- priority: 100
220
- end
186
+ context.add_pagelet :main_tab_fields,
187
+ partial: 'hosts/foreman_puppet/form_main_tab_fields',
188
+ resource_type: resource_type,
189
+ priority: 100
221
190
  end
222
191
  end
223
192
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanPuppet
2
- VERSION = '1.0.0'.freeze
2
+ VERSION = '2.0.0.alpha.2'.freeze
3
3
  end
@@ -1,10 +1,5 @@
1
1
  module ForemanPuppet
2
- FOREMAN_EXTRACTION_VERSION = '3.0'.freeze
3
-
4
- def self.extracted_from_core?
5
- ENV['PUPPET_EXTRACTED'].to_s == '1' ||
6
- Gem::Dependency.new('', ">= #{FOREMAN_EXTRACTION_VERSION}").match?('', SETTINGS[:version].notag)
7
- end
2
+ FOREMAN_DROP_MIGRATIONS_VERSION = '3.1'.freeze
8
3
  end
9
4
 
10
5
  require 'foreman_puppet/engine'
@@ -4,7 +4,7 @@
4
4
  #
5
5
  msgid ""
6
6
  msgstr ""
7
- "Project-Id-Version: foreman_puppet 0.0.2\n"
7
+ "Project-Id-Version: foreman_puppet 1.0.0.pre\n"
8
8
  "Report-Msgid-Bugs-To: \n"
9
9
  "PO-Revision-Date: 2014-08-20 08:54+0100\n"
10
10
  "Last-Translator: Foreman Team <foreman-dev@googlegroups.com>\n"
@@ -66,10 +66,13 @@ msgstr ""
66
66
  msgid "Add a Puppet class to host group"
67
67
  msgstr ""
68
68
 
69
+ msgid "Add:"
70
+ msgstr ""
71
+
69
72
  msgid "All environments - (not filtered)"
70
73
  msgstr ""
71
74
 
72
- msgid "Allow assigning Puppet environmets and classes to the Foreman Hosts."
75
+ msgid "Allow assigning Puppet environments and classes to the Foreman Hosts."
73
76
  msgstr ""
74
77
 
75
78
  msgid "Available Classes"
@@ -84,12 +87,33 @@ msgstr ""
84
87
  msgid "Can't find a valid Proxy with a Puppet feature"
85
88
  msgstr ""
86
89
 
90
+ msgid "Cancel"
91
+ msgstr ""
92
+
87
93
  msgid "Change Environment"
88
94
  msgstr ""
89
95
 
90
96
  msgid "Change Puppet Master"
91
97
  msgstr ""
92
98
 
99
+ msgid "Changed environments"
100
+ msgstr ""
101
+
102
+ msgid "Check/Uncheck all"
103
+ msgstr ""
104
+
105
+ msgid "Check/Uncheck all %s changes"
106
+ msgstr ""
107
+
108
+ msgid "Check/Uncheck new"
109
+ msgstr ""
110
+
111
+ msgid "Check/Uncheck obsolete"
112
+ msgstr ""
113
+
114
+ msgid "Check/Uncheck updated"
115
+ msgstr ""
116
+
93
117
  msgid "Classes"
94
118
  msgstr ""
95
119
 
@@ -273,9 +297,6 @@ msgstr ""
273
297
  msgid "If true, will raise an error if there is no default value and no matcher provide a value"
274
298
  msgstr ""
275
299
 
276
- msgid "If you are planning to use Foreman as an external node classifier you should provide information about one or more environments. This information is commonly imported from a pre-existing Puppet configuration by the use of the %{link_start}Puppet classes and environment importer%{link_end}."
277
- msgstr ""
278
-
279
300
  msgid "Ignored classes in the environments: %s"
280
301
  msgstr ""
281
302
 
@@ -288,6 +309,9 @@ msgstr ""
288
309
  msgid "Ignored environments: %s"
289
310
  msgstr ""
290
311
 
312
+ msgid "Ignored:"
313
+ msgstr ""
314
+
291
315
  msgid "Import"
292
316
  msgstr ""
293
317
 
@@ -324,9 +348,6 @@ msgstr ""
324
348
  msgid "Invalid proxy selected!"
325
349
  msgstr ""
326
350
 
327
- msgid "Learn more about this in the documentation."
328
- msgstr ""
329
-
330
351
  msgid "List all Puppet class IDs for host"
331
352
  msgstr ""
332
353
 
@@ -399,6 +420,9 @@ msgstr ""
399
420
  msgid "Name"
400
421
  msgstr ""
401
422
 
423
+ msgid "New"
424
+ msgstr ""
425
+
402
426
  msgid "No changes to your environments detected"
403
427
  msgstr ""
404
428
 
@@ -435,6 +459,9 @@ msgstr ""
435
459
  msgid "Number of classes"
436
460
  msgstr ""
437
461
 
462
+ msgid "Obsolete"
463
+ msgstr ""
464
+
438
465
  msgid "Omit"
439
466
  msgstr ""
440
467
 
@@ -447,6 +474,9 @@ msgstr ""
447
474
  msgid "Operating system default"
448
475
  msgstr ""
449
476
 
477
+ msgid "Operation"
478
+ msgstr ""
479
+
450
480
  msgid "Optional comma-delimited stringcontaining either 'new', 'updated', or 'obsolete'that is used to limit the imported Puppet classes"
451
481
  msgstr ""
452
482
 
@@ -504,9 +534,15 @@ msgstr ""
504
534
  msgid "Puppet ENC"
505
535
  msgstr ""
506
536
 
537
+ msgid "Puppet Environment"
538
+ msgstr ""
539
+
507
540
  msgid "Puppet Environments"
508
541
  msgstr ""
509
542
 
543
+ msgid "Puppet Modules"
544
+ msgstr ""
545
+
510
546
  msgid "Puppet YAML"
511
547
  msgstr ""
512
548
 
@@ -543,12 +579,18 @@ msgstr ""
543
579
  msgid "Remove this override"
544
580
  msgstr ""
545
581
 
582
+ msgid "Remove:"
583
+ msgstr ""
584
+
546
585
  msgid "Required parameter without value.<br/><b>Please override!</b><br/>"
547
586
  msgstr ""
548
587
 
549
588
  msgid "Select environment"
550
589
  msgstr ""
551
590
 
591
+ msgid "Select the changes you want to apply to Foreman"
592
+ msgstr ""
593
+
552
594
  msgid "Set parameters to defaults"
553
595
  msgstr ""
554
596
 
@@ -629,6 +671,9 @@ msgstr ""
629
671
  msgid "To update the class signature, go to the Puppet Classes page and select \"Import\"."
630
672
  msgstr ""
631
673
 
674
+ msgid "Toggle"
675
+ msgstr ""
676
+
632
677
  msgid "Total"
633
678
  msgstr ""
634
679
 
@@ -641,6 +686,9 @@ msgstr ""
641
686
  msgid "Unable to generate output, Check log files"
642
687
  msgstr ""
643
688
 
689
+ msgid "Update"
690
+ msgstr ""
691
+
644
692
  msgid "Update a Puppet class"
645
693
  msgstr ""
646
694
 
@@ -656,6 +704,12 @@ msgstr ""
656
704
  msgid "Update an override value for a specific smart class parameter"
657
705
  msgstr ""
658
706
 
707
+ msgid "Update:"
708
+ msgstr ""
709
+
710
+ msgid "Updated"
711
+ msgstr ""
712
+
659
713
  msgid "Updated hosts: changed environment"
660
714
  msgstr ""
661
715