foreman_maintain 0.1.4 → 0.1.5
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85dd75e0de03c6b2c872e728ba047ecde645148d
|
4
|
+
data.tar.gz: 93d8cc2e2381e5c890c62f114b2a3f3ad9c9b460
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b307b932f52b3b9686ecca55c5904d4b901f71429e0fc485ddce9cff419026aaa96393b413dce528001c74ed0e11f03ba7ab73c280f66663dbad6b03299ef80
|
7
|
+
data.tar.gz: bcc8b92ff358e1e5c3c4c129278af67566dfc09681e7d338330a20718a955acd5fce84b939b40738beb0f3f0fb81990632aec7bb3e37a600ea5cdfcecf9ed71e
|
@@ -7,28 +7,35 @@ module Procedures::Candlepin
|
|
7
7
|
confine do
|
8
8
|
feature(:candlepin_database) &&
|
9
9
|
feature(:downstream) &&
|
10
|
-
feature(:downstream).current_minor_version == '6.2'
|
11
|
-
feature(:candlepin_database).table_exist?('cp_env_content')
|
10
|
+
feature(:downstream).current_minor_version == '6.2'
|
12
11
|
end
|
13
12
|
end
|
14
13
|
|
15
14
|
def run
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
puts "Total #{env_content_ids.length} records with unresolvable content"
|
26
|
-
spinner.update 'Deleting record(s) from cp_env_content table'
|
27
|
-
feature(:candlepin_database).delete_records_by_ids(
|
28
|
-
'cp_env_content', env_content_ids
|
29
|
-
)
|
15
|
+
if feature(:candlepin_database).table_exist?('cp_env_content')
|
16
|
+
with_spinner('Deleting cp_env_content record(s) with unresolvable content') do |spinner|
|
17
|
+
spinner.update 'Finding cp_env_content records with unresolvable content'
|
18
|
+
env_content_ids = feature(:candlepin_database).env_content_ids_with_null_content
|
19
|
+
if env_content_ids.empty?
|
20
|
+
spinner.update 'No orphaned records found'
|
21
|
+
else
|
22
|
+
backup_and_delete_records(spinner, env_content_ids)
|
23
|
+
end
|
30
24
|
end
|
31
25
|
end
|
32
26
|
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def backup_and_delete_records(spinner, env_content_ids)
|
31
|
+
spinner.update 'Taking a backup of the candlepin database'
|
32
|
+
feature(:candlepin_database).perform_backup
|
33
|
+
|
34
|
+
puts "Total #{env_content_ids.length} records with unresolvable content"
|
35
|
+
spinner.update 'Deleting record(s) from cp_env_content table'
|
36
|
+
feature(:candlepin_database).delete_records_by_ids(
|
37
|
+
'cp_env_content', env_content_ids
|
38
|
+
)
|
39
|
+
end
|
33
40
|
end
|
34
41
|
end
|
@@ -1,16 +1,24 @@
|
|
1
1
|
module Procedures::Installer
|
2
2
|
class Upgrade < ForemanMaintain::Procedure
|
3
3
|
def run
|
4
|
-
execute!("#{installer_command}
|
4
|
+
execute!("LANG=en_US.utf-8 #{installer_command} #{upgrade_command?}", :interactive => true)
|
5
5
|
end
|
6
6
|
|
7
7
|
private
|
8
8
|
|
9
|
+
def upgrade_command?
|
10
|
+
if package_version('satellite-installer') || package_version('katello-installer')
|
11
|
+
'--upgrade'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
9
15
|
def installer_command
|
10
|
-
if
|
11
|
-
'
|
12
|
-
|
13
|
-
|
16
|
+
if feature(:downstream)
|
17
|
+
if feature(:downstream).current_minor_version <= '6.1'
|
18
|
+
'katello-installer'
|
19
|
+
else
|
20
|
+
'satellite-installer'
|
21
|
+
end
|
14
22
|
else
|
15
23
|
'foreman-installer'
|
16
24
|
end
|
@@ -14,12 +14,15 @@ module ForemanMaintain
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def psql(query, config = configuration)
|
17
|
-
|
18
|
-
|
17
|
+
if ping(config)
|
18
|
+
execute(psql_command(config), :stdin => query)
|
19
|
+
else
|
20
|
+
raise_service_error
|
21
|
+
end
|
19
22
|
end
|
20
23
|
|
21
24
|
def ping(config = configuration)
|
22
|
-
|
25
|
+
execute?(psql_command(config), :stdin => 'SELECT 1 as ping')
|
23
26
|
end
|
24
27
|
|
25
28
|
def backup_file_path(config = configuration)
|
@@ -67,10 +70,15 @@ module ForemanMaintain
|
|
67
70
|
|
68
71
|
private
|
69
72
|
|
70
|
-
def
|
73
|
+
def psql_command(config)
|
74
|
+
"PGPASSWORD='#{config[%(password)]}' "\
|
71
75
|
"psql -d #{config['database']} -h #{config['host'] || 'localhost'} "\
|
72
76
|
" -p #{config['port'] || '5432'} -U #{config['username']}"
|
73
77
|
end
|
78
|
+
|
79
|
+
def raise_service_error
|
80
|
+
raise Error::Fail, 'Please check whether database service is up & running state.'
|
81
|
+
end
|
74
82
|
end
|
75
83
|
end
|
76
84
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_maintain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.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: 2018-03-
|
11
|
+
date: 2018-03-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clamp
|