foreman_maintain 1.10.0 → 1.10.1
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4bb62d8f6b441155dfbdbc8bad79f1ec79b620dcee19e5cb37229d77634552a2
|
4
|
+
data.tar.gz: d87d6b6149373f2e0be0cacfeaff2c83b675c9b92c9d5efad94cc8ccf6bba15d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a5897ac90ff9a5a9801bd456b7fc6cb4f186c6e582ca92895c449a06bd9d99480aed848a58ab2281dd65a3ea1e6a9b5fbcb4e85c7f4cea5180826bccb383e4b
|
7
|
+
data.tar.gz: d34018e15a798fb66efde83a56fd5a979d153a658ffa085f456ad6ea53b46544a0bd3d41b4a3e966f8fbae09e81bcfd049c5ac864ab803d1b03db3eae2acd89b
|
@@ -31,7 +31,7 @@ class Features::PulpcoreDatabase < ForemanMaintain::Feature
|
|
31
31
|
from django.conf import settings; import json; print(json.dumps(settings.DATABASES["default"]))
|
32
32
|
PYTHON
|
33
33
|
manager_command = pulpcore_manager("shell --command '#{python_command}'")
|
34
|
-
manager_result = execute!(manager_command)
|
34
|
+
manager_result = execute!(manager_command, merge_stderr: false)
|
35
35
|
db_config = JSON.parse(manager_result)
|
36
36
|
|
37
37
|
@configuration = {}
|
@@ -94,6 +94,8 @@ module ForemanMaintain::Scenarios
|
|
94
94
|
:online_backup => true)
|
95
95
|
add_step_with_context(Procedures::Backup::Pulp, :ensure_unchanged => true)
|
96
96
|
add_database_backup_steps
|
97
|
+
|
98
|
+
add_step(Procedures::Service::Start.new(:only => online_workers)) unless online_workers.empty?
|
97
99
|
end
|
98
100
|
|
99
101
|
def add_database_backup_steps
|
@@ -102,8 +104,6 @@ module ForemanMaintain::Scenarios
|
|
102
104
|
Procedures::Backup::Online::ForemanDB,
|
103
105
|
Procedures::Backup::Online::PulpcoreDB
|
104
106
|
)
|
105
|
-
|
106
|
-
add_step(Procedures::Service::Start.new(:only => online_workers)) unless online_workers.empty?
|
107
107
|
end
|
108
108
|
|
109
109
|
def strategy
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'open3'
|
2
2
|
require 'tempfile'
|
3
3
|
|
4
4
|
module ForemanMaintain
|
@@ -8,7 +8,7 @@ module ForemanMaintain
|
|
8
8
|
attr_reader :logger, :command
|
9
9
|
|
10
10
|
def initialize(logger, command, options)
|
11
|
-
options.validate_options!(:stdin, :interactive, :valid_exit_statuses, :env)
|
11
|
+
options.validate_options!(:stdin, :interactive, :valid_exit_statuses, :env, :merge_stderr)
|
12
12
|
options[:valid_exit_statuses] ||= [0]
|
13
13
|
options[:env] ||= {}
|
14
14
|
@logger = logger
|
@@ -18,6 +18,7 @@ module ForemanMaintain
|
|
18
18
|
@options = options
|
19
19
|
@valid_exit_statuses = options[:valid_exit_statuses]
|
20
20
|
@env = options[:env]
|
21
|
+
@merge_stderr = options.fetch(:merge_stderr, true)
|
21
22
|
raise ArgumentError, 'Can not pass stdin for interactive command' if @interactive && @stdin
|
22
23
|
end
|
23
24
|
|
@@ -45,6 +46,11 @@ module ForemanMaintain
|
|
45
46
|
@exit_status
|
46
47
|
end
|
47
48
|
|
49
|
+
def stderr
|
50
|
+
raise 'Command not yet executed' unless defined? @stderr
|
51
|
+
@stderr
|
52
|
+
end
|
53
|
+
|
48
54
|
def success?
|
49
55
|
@valid_exit_statuses.include? exit_status
|
50
56
|
end
|
@@ -82,18 +88,16 @@ module ForemanMaintain
|
|
82
88
|
end
|
83
89
|
|
84
90
|
def run_non_interactively
|
85
|
-
|
86
|
-
|
87
|
-
f.puts(@stdin)
|
88
|
-
f.close_write
|
89
|
-
end
|
90
|
-
@output = f.read.strip
|
91
|
-
end
|
92
|
-
@exit_status = $CHILD_STATUS.exitstatus
|
91
|
+
@output, @stderr, status = Open3.capture3(@env, full_command, :stdin_data => @stdin)
|
92
|
+
@exit_status = status.exitstatus
|
93
93
|
end
|
94
94
|
|
95
95
|
def full_command
|
96
|
-
|
96
|
+
if @merge_stderr
|
97
|
+
"#{@command} 2>&1"
|
98
|
+
else
|
99
|
+
@command
|
100
|
+
end
|
97
101
|
end
|
98
102
|
end
|
99
103
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_maintain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.10.
|
4
|
+
version: 1.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Nečas
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date: 2025-
|
10
|
+
date: 2025-02-13 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: clamp
|
@@ -430,7 +429,6 @@ homepage: https://github.com/theforeman/foreman_maintain
|
|
430
429
|
licenses:
|
431
430
|
- GPL-3.0
|
432
431
|
metadata: {}
|
433
|
-
post_install_message:
|
434
432
|
rdoc_options: []
|
435
433
|
require_paths:
|
436
434
|
- lib
|
@@ -448,8 +446,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
448
446
|
- !ruby/object:Gem::Version
|
449
447
|
version: '0'
|
450
448
|
requirements: []
|
451
|
-
rubygems_version: 3.
|
452
|
-
signing_key:
|
449
|
+
rubygems_version: 3.6.2
|
453
450
|
specification_version: 4
|
454
451
|
summary: Foreman maintenance tool belt
|
455
452
|
test_files: []
|