foreman_chef 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3fedb5a89f5be407411bf40c5ce91252c61051bece15e3f3b4388fb794672ade
4
- data.tar.gz: c9b41183e4474675c612ccb79e3cb94e207c1ecb3f14afd3150dc14853688ee8
3
+ metadata.gz: 14274b12ecca910fbd4b0b36d3964f6102c870f51db7c02c00e9242117689f76
4
+ data.tar.gz: 42ebdf54c808d67ea386b9a410ee98bf1a722cca9545b5b76e985b97953a0d6a
5
5
  SHA512:
6
- metadata.gz: 73aa559fd56934944e8eafc4827337d4e25e26d6fd9a1201f5d21b063a8ab963bf3cdedc0144f1ae952d8967857d9181021be22f571ff68b661c9ab05129a3fd
7
- data.tar.gz: 33b4941d7907d7c460b9646f1b9e7e74f5368e155ac77c0f3c222bf29c6f4710001aa0f46ae73192e3a72ac06045d849f5b190b35af347ba942f34a7bb34c2b2
6
+ metadata.gz: 4ee50a70a75f5459e41708179a3aebd6f05c30b427b2b67447c90f5d6cb8fbbdcd2d19346787f7d9fc83c61af42674fdc1e33bf518dd7c75b3a32bb84a2ece04
7
+ data.tar.gz: 999ffba530778ec8880a20f8c6ac0163fe4a0b4b982567d9721a55c957a36f7c59234f61dccb8992126f7915c66e81fdc63ba1e4ceba0921eccd77530c34b597
@@ -1,23 +1,13 @@
1
1
  class Setting::ForemanChef < Setting
2
-
3
- def self.load_defaults
4
- # Check the table exists
5
- return unless super
6
-
7
- self.transaction do
8
- [
9
- self.set('chef_interval', N_("Duration in minutes after servers reporting via Chef are classed as out of sync."), 60),
10
- self.set('auto_deletion', N_("Enable the auto deletion of mapped objects in chef-server through foreman-proxy (currently node and client upon host deletion, client on host rebuild)"), true),
11
- self.set('validation_bootstrap_method', N_("Use validation.pem or create client directly storing private key in Foreman DB)"), true),
12
- ].each { |s| self.create! s.update(:category => "Setting::ForemanChef")}
13
- end
14
-
15
- true
16
-
2
+ def self.default_settings
3
+ [
4
+ self.set('chef_interval', N_("Duration in minutes after servers reporting via Chef are classed as out of sync."), 60),
5
+ self.set('auto_deletion', N_("Enable the auto deletion of mapped objects in chef-server through foreman-proxy (currently node and client upon host deletion, client on host rebuild)"), true),
6
+ self.set('validation_bootstrap_method', N_("Use validation.pem or create client directly storing private key in Foreman DB)"), true),
7
+ ]
17
8
  end
18
9
 
19
10
  def self.humanized_category
20
11
  _('Chef')
21
12
  end
22
-
23
13
  end
@@ -47,7 +47,7 @@ module ForemanChef
47
47
 
48
48
  initializer 'foreman_chef.register_plugin', :before => :finisher_hook do |app|
49
49
  Foreman::Plugin.register :foreman_chef do
50
- requires_foreman '>= 1.24'
50
+ requires_foreman '>= 2.1.0'
51
51
  extend_template_helpers ForemanChef::Concerns::Renderer
52
52
 
53
53
  permission :import_chef_environments, { :environments => [:import, :synchronize] }, :resource_type => 'ForemanChef::Environment'
@@ -89,7 +89,7 @@ module ForemanChef
89
89
 
90
90
  #Include extensions to models in this config.to_prepare block
91
91
  config.to_prepare do
92
- ::FactImporter.register_fact_importer(:foreman_chef, ForemanChef::FactImporter)
92
+ ::Foreman::Plugin.fact_importer_registry.register(:foreman_chef, ForemanChef::FactImporter)
93
93
  ::FactParser.register_fact_parser(:foreman_chef, ForemanChef::FactParser)
94
94
  ::ConfigReportImporter.register_smart_proxy_feature('Chef')
95
95
 
@@ -1,3 +1,3 @@
1
1
  module ForemanChef
2
- VERSION = "0.9.0"
2
+ VERSION = "0.10.0"
3
3
  end
@@ -0,0 +1,44 @@
1
+ namespace :foreman_chef do
2
+ desc 'Clean data created by this plugin, this will permanently delete the data!'
3
+ task :cleanup => :environment do
4
+ puts 'Cleaning data...'
5
+
6
+ ForemanChef::FactName # fact values
7
+
8
+ User.as_anonymous_admin do
9
+ puts '... deleting records from settings'
10
+ Setting::ForemanChef.destroy_all
11
+ puts '... removing all chef facts, this can take a long time based on the amount of fact values'
12
+ ForemanChef::FactName.destroy_all
13
+ puts '... deleting all cached run lists'
14
+ ForemanChef::CachedRunList.destroy_all
15
+ puts '... deleting all chef environments'
16
+ Host.update_all :chef_environment_id => nil, :chef_proxy_id => nil
17
+ Hostgroup.update_all :chef_environment_id => nil, :chef_proxy_id => nil
18
+ ForemanChef::Environment.destroy_all
19
+ Permission.where(:resource_type => ['ForemanChef::Environment']).destroy_all
20
+ puts '... deleting REX feature'
21
+ RemoteExecutionFeature.where(:label => 'foreman_chef_run_chef_client').destroy_all
22
+ puts 'data from all tables deleted'
23
+ end
24
+
25
+ puts "Cleaning DB schema changes"
26
+
27
+ reversible_migrations = [
28
+ 20160408091653,
29
+ 20160324151437,
30
+ 20150916141657,
31
+ 20140513144804,
32
+ 20140220145827
33
+ ]
34
+
35
+ # invoke rake db:migrate:down VERSION=20100905201547
36
+ reversible_migrations.each do |migration|
37
+ ENV["VERSION"] = migration.to_s
38
+ Rake::Task["db:migrate:down"].invoke
39
+ end
40
+
41
+ puts 'Clean up finished, you can now remove the plugin from your system'
42
+ end
43
+ end
44
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_chef
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marek Hulan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-09 00:00:00.000000000 Z
11
+ date: 2020-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deface
@@ -122,6 +122,7 @@ files:
122
122
  - lib/foreman_chef.rb
123
123
  - lib/foreman_chef/engine.rb
124
124
  - lib/foreman_chef/version.rb
125
+ - lib/tasks/cleanup.rake
125
126
  homepage: https://github.com/theforeman/foreman_chef
126
127
  licenses:
127
128
  - GPL-3