foreman_remote_execution_core 1.4.1 → 1.4.5

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: 8359d215620a71b5042433c21cb5ee8d2e4606e69f964841dbc48472885a1625
4
- data.tar.gz: b48c35f3828723142f308da5d4a91c5fe42e1be71d3f448b441f4a4c7bd4b3e9
3
+ metadata.gz: c0c96abc05d5504e9050dcb441294ca0505289df22661a89a252c5c16b30f55d
4
+ data.tar.gz: e2e33d1ca8719adb012f3458303ff603dc7112d5bd351e406eb77e74e7fad3c7
5
5
  SHA512:
6
- metadata.gz: 38b65d0f37c2c574c02757b7f84f17be6fdcff8bbc5dcd8a7257a309d5bbf137f7ec8d4c3f0e1de6a1baaa7e5e964b8f5c1eddc553f42672b5ff932cae8aabc1
7
- data.tar.gz: b273070d6d36d6154e08ae261a44dca40c03a2b924b11cba250243e2e2fc6327222e21f5cae04ddc48cdd53d4cc67b9cb02c982501ef61fe9be06d9834e34b6e
6
+ metadata.gz: 8808d74f40e5e633b59dbfc04ea17fe7303eadf18080e8cef256b4cec16081b9354ece2cc207b6a9481e0c1be03d80a7ea65bdf8c931dfbbbdbf1dd8e581ce11
7
+ data.tar.gz: 94481a374d9e041ed2d1725500a883a9f13c4a4be033093081e8a9d80dfcff950f54b2c1d6a6383bec66d5e290f4722fd589864b331c35afc16ef198aaf317d6
@@ -34,7 +34,7 @@ module ForemanRemoteExecutionCore
34
34
 
35
35
  current = if defined?(::Proxy::SETTINGS)
36
36
  ::Proxy::SETTINGS.log_level.to_s.downcase
37
- elsif defined?(SmartProxyDynflowCore)
37
+ elsif defined?(SmartProxyDynflowCore::SETTINGS)
38
38
  SmartProxyDynflowCore::SETTINGS.log_level.to_s.downcase
39
39
  else
40
40
  Rails.configuration.log_level.to_s
@@ -63,6 +63,7 @@ module ForemanRemoteExecutionCore
63
63
  if ForemanTasksCore.dynflow_present?
64
64
  require 'foreman_tasks_core/runner'
65
65
  require 'foreman_remote_execution_core/log_filter'
66
+ require 'foreman_remote_execution_core/utils'
66
67
  if simulate?
67
68
  # Load the fake implementation of the script runner if debug is enabled
68
69
  require 'foreman_remote_execution_core/fake_script_runner'
@@ -122,6 +122,7 @@ module ForemanRemoteExecutionCore
122
122
  @local_working_dir = options.fetch(:local_working_dir, settings.fetch(:local_working_dir))
123
123
  @remote_working_dir = options.fetch(:remote_working_dir, settings.fetch(:remote_working_dir))
124
124
  @cleanup_working_dirs = options.fetch(:cleanup_working_dirs, settings.fetch(:cleanup_working_dirs))
125
+ @first_execution = options.fetch(:first_execution, false)
125
126
  @user_method = user_method
126
127
  end
127
128
 
@@ -149,6 +150,7 @@ module ForemanRemoteExecutionCore
149
150
  end
150
151
 
151
152
  def start
153
+ Utils.prune_known_hosts!(@host, @ssh_port, logger) if @first_execution
152
154
  prepare_start
153
155
  script = initialization_script
154
156
  logger.debug("executing script:\n#{indent_multiline(script)}")
@@ -0,0 +1,24 @@
1
+ require 'open3'
2
+
3
+ module ForemanRemoteExecutionCore
4
+ module Utils
5
+ class << self
6
+ def prune_known_hosts!(hostname, port, logger = Logger.new($stdout))
7
+ return if Net::SSH::KnownHosts.search_for(hostname).empty?
8
+
9
+ target = if port == 22
10
+ hostname
11
+ else
12
+ "[#{hostname}]:#{port}"
13
+ end
14
+
15
+ Open3.popen3('ssh-keygen', '-R', target) do |_stdin, stdout, _stderr, wait_thr|
16
+ wait_thr.join
17
+ stdout.read
18
+ end
19
+ rescue Errno::ENOENT => e
20
+ logger.warn("Could not remove #{hostname} from know_hosts: #{e}")
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,3 +1,3 @@
1
1
  module ForemanRemoteExecutionCore
2
- VERSION = '1.4.1'.freeze
2
+ VERSION = '1.4.5'.freeze
3
3
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_remote_execution_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Nečas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-26 00:00:00.000000000 Z
11
+ date: 2021-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bcrypt_pbkdf
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: ed25519
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: foreman-tasks-core
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +66,40 @@ dependencies:
38
66
  - - ">="
39
67
  - !ruby/object:Gem::Version
40
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rbnacl
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '3.2'
76
+ - - "<"
77
+ - !ruby/object:Gem::Version
78
+ version: '5.0'
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '3.2'
86
+ - - "<"
87
+ - !ruby/object:Gem::Version
88
+ version: '5.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rbnacl-libsodium
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
41
103
  description: " Ssh remote execution provider code sharable between Foreman and Foreman-Proxy\n"
42
104
  email:
43
105
  - inecas@redhat.com
@@ -55,6 +117,7 @@ files:
55
117
  - lib/foreman_remote_execution_core/log_filter.rb
56
118
  - lib/foreman_remote_execution_core/polling_script_runner.rb
57
119
  - lib/foreman_remote_execution_core/script_runner.rb
120
+ - lib/foreman_remote_execution_core/utils.rb
58
121
  - lib/foreman_remote_execution_core/version.rb
59
122
  homepage: https://github.com/theforeman/foreman_remote_execution
60
123
  licenses: