manageiq-appliance_console 1.2.4 → 2.0.0

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: 03acccd11ea06ed06a200676e668a38951e56cdd2d65a2cfdfff7f7f8c54744b
4
- data.tar.gz: 3da4c72c3a719f016fca4aced7062b9c1efd3d88a5662b2a1807f3670843f4ec
3
+ metadata.gz: 609d69718e3bdb080fb6d13495f193690fcbefd7b84ca025204727d43927d9f9
4
+ data.tar.gz: 5e97c6a1dd7729a4c7219085bc77577abd90988e4af37f9dc92ca63f9358ec65
5
5
  SHA512:
6
- metadata.gz: faf9223abdcd01b9615d91cfe79f981adc492c208716e20dc6aea92f7a0bc6547468019502f62f8be8735f40bb2f35e2c4a3bca13061a2b5e403989daed15bf8
7
- data.tar.gz: f2e1f78fd2d49a821d77560a197b2ae83d7c65504d64ca2b6fa137143afe856a27302332587dcbebd8e4a3e4714ab19624e95e4f2fffd3f0d48551ed6818e617
6
+ metadata.gz: 816864476123eaacd5b54c4ff02ed1365ac54cef5818193867aa42522966c29facc28e21bbd7e7cc9ecd8c33358715d626881e70abec830e64f12cd20d70fb1c
7
+ data.tar.gz: ff74aceb06533ec663a5d24213f33e572e4666d6a4ce9c8abf5450933d82997bb6f135d0413e6cea8527da1c7c647e99f44f71ac071ed9668144d6a2607fb1b0
@@ -394,14 +394,6 @@ Static Network Configuration
394
394
  task_params = []
395
395
  uri = nil
396
396
 
397
- connections = ManageIQ::ApplianceConsole::Utilities.db_connections - 1
398
- if connections > 0
399
- say("\nDatabase restore failed")
400
- say("\nThere #{connections > 1 ? "are #{connections} connections" : "is 1 connection"} preventing a database restore")
401
- press_any_key
402
- raise MiqSignalError
403
- end
404
-
405
397
  # TODO: merge into 1 prompt
406
398
  case ask_with_menu("Restore Database File", RESTORE_OPTIONS, RESTORE_LOCAL, nil)
407
399
  when RESTORE_LOCAL
@@ -443,6 +435,8 @@ Static Network Configuration
443
435
  if rake_success && delete_agreed
444
436
  say("\nRemoving the database restore file #{DB_RESTORE_FILE}...")
445
437
  File.delete(DB_RESTORE_FILE)
438
+ elsif !rake_success
439
+ say("\nDatabase restore failed. Check the logs for more information")
446
440
  end
447
441
  end
448
442
  press_any_key
@@ -575,18 +569,6 @@ Static Network Configuration
575
569
  say("Failover Monitor Service configured successfully")
576
570
  press_any_key
577
571
 
578
- when I18n.t("advanced_settings.db_maintenance")
579
- say("#{selection}\n\n")
580
- db_maintenance = ManageIQ::ApplianceConsole::DatabaseMaintenance.new
581
- if db_maintenance.ask_questions && db_maintenance.activate
582
- say("Database maintenance configuration updated")
583
- press_any_key
584
- else
585
- say("Database maintenance configuration unchanged")
586
- press_any_key
587
- raise MiqSignalError
588
- end
589
-
590
572
  when I18n.t("advanced_settings.log_config")
591
573
  say("#{selection}\n\n")
592
574
  log_config = ManageIQ::ApplianceConsole::LogfileConfiguration.new
@@ -30,9 +30,6 @@ require 'manageiq/appliance_console/certificate'
30
30
  require 'manageiq/appliance_console/certificate_authority'
31
31
  require 'manageiq/appliance_console/cli'
32
32
  require 'manageiq/appliance_console/database_configuration'
33
- require 'manageiq/appliance_console/database_maintenance'
34
- require 'manageiq/appliance_console/database_maintenance_hourly'
35
- require 'manageiq/appliance_console/database_maintenance_periodic'
36
33
  require 'manageiq/appliance_console/database_replication'
37
34
  require 'manageiq/appliance_console/database_replication_primary'
38
35
  require 'manageiq/appliance_console/database_replication_standby'
@@ -79,10 +79,6 @@ module ApplianceConsole
79
79
  options[:server]
80
80
  end
81
81
 
82
- def db_hourly_maintenance?
83
- options[:db_hourly_maintenance]
84
- end
85
-
86
82
  def set_replication?
87
83
  options[:cluster_node_number] && options[:password] && replication_params?
88
84
  end
@@ -121,7 +117,6 @@ module ApplianceConsole
121
117
  opt :username, "Database Username", :type => :string, :short => 'U', :default => "root"
122
118
  opt :password, "Database Password", :type => :string, :short => "p"
123
119
  opt :dbname, "Database Name", :type => :string, :short => "d", :default => "vmdb_production"
124
- opt :db_hourly_maintenance, "Configure database hourly maintenance", :type => :bool, :short => :none
125
120
  opt :standalone, "Run this server as a standalone database server", :type => :bool, :short => 'S'
126
121
  opt :key, "Create encryption key", :type => :boolean, :short => "k"
127
122
  opt :fetch_key, "SSH host with encryption key", :type => :string, :short => "K"
@@ -163,8 +158,7 @@ module ApplianceConsole
163
158
  def run
164
159
  Trollop.educate unless set_host? || key? || database? || tmp_disk? || log_disk? ||
165
160
  uninstall_ipa? || install_ipa? || certs? || extauth_opts? ||
166
- time_zone? || date_time? || set_server_state? ||
167
- db_hourly_maintenance? || set_replication?
161
+ time_zone? || date_time? || set_server_state? || set_replication?
168
162
  if set_host?
169
163
  system_hosts = LinuxAdmin::Hosts.new
170
164
  system_hosts.hostname = options[:host]
@@ -177,7 +171,6 @@ module ApplianceConsole
177
171
  set_replication if set_replication?
178
172
  set_time_zone if time_zone?
179
173
  set_date_time if date_time?
180
- config_db_hourly_maintenance if db_hourly_maintenance?
181
174
  config_tmp_disk if tmp_disk?
182
175
  config_log_disk if log_disk?
183
176
  uninstall_ipa if uninstall_ipa?
@@ -415,12 +408,6 @@ module ApplianceConsole
415
408
  end
416
409
  end
417
410
 
418
- def config_db_hourly_maintenance
419
- hourly = ManageIQ::ApplianceConsole::DatabaseMaintenanceHourly.new
420
- hourly.requested_activate = true
421
- hourly.activate
422
- end
423
-
424
411
  def self.parse(args)
425
412
  new.parse(args).run
426
413
  end
@@ -1,5 +1,5 @@
1
1
  module ManageIQ
2
2
  module ApplianceConsole
3
- VERSION = '1.2.4'.freeze
3
+ VERSION = '2.0.0'.freeze
4
4
  end
5
5
  end
@@ -28,7 +28,6 @@ en:
28
28
  dbrestore: Restore Database From Backup
29
29
  db_config: Configure Database
30
30
  db_replication: Configure Database Replication
31
- db_maintenance: Configure Database Maintenance
32
31
  log_config: Logfile Configuration
33
32
  failover_monitor: Configure Application Database Failover Monitor
34
33
  httpdauth: Configure External Authentication (httpd)
@@ -20,7 +20,6 @@ en:
20
20
  dbrestore: Restore Database From Backup
21
21
  db_config: Configure Database
22
22
  db_replication: Configure Database Replication
23
- db_maintenance: Configure Database Maintenance
24
23
  failover_monitor: Configure Application Database Failover Monitor
25
24
  evmstop: Stop EVM Server Processes
26
25
  key_gen: Generate Custom Encryption Key
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: manageiq-appliance_console
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ManageIQ Developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-18 00:00:00.000000000 Z
11
+ date: 2018-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -247,9 +247,6 @@ files:
247
247
  - lib/manageiq/appliance_console/certificate_authority.rb
248
248
  - lib/manageiq/appliance_console/cli.rb
249
249
  - lib/manageiq/appliance_console/database_configuration.rb
250
- - lib/manageiq/appliance_console/database_maintenance.rb
251
- - lib/manageiq/appliance_console/database_maintenance_hourly.rb
252
- - lib/manageiq/appliance_console/database_maintenance_periodic.rb
253
250
  - lib/manageiq/appliance_console/database_replication.rb
254
251
  - lib/manageiq/appliance_console/database_replication_primary.rb
255
252
  - lib/manageiq/appliance_console/database_replication_standby.rb
@@ -296,7 +293,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
296
293
  version: '0'
297
294
  requirements: []
298
295
  rubyforge_project:
299
- rubygems_version: 2.7.2
296
+ rubygems_version: 2.7.6
300
297
  signing_key:
301
298
  specification_version: 4
302
299
  summary: ManageIQ Appliance Console
@@ -1,35 +0,0 @@
1
- require 'fileutils'
2
-
3
- module ManageIQ
4
- module ApplianceConsole
5
- class DatabaseMaintenance
6
- include ManageIQ::ApplianceConsole::Logging
7
-
8
- attr_accessor :hourly, :executed_hourly_action, :requested_hourly_action
9
- attr_accessor :periodic, :executed_periodic_action, :requested_periodic_action
10
-
11
- def initialize
12
- self.hourly = ManageIQ::ApplianceConsole::DatabaseMaintenanceHourly.new
13
- self.periodic = ManageIQ::ApplianceConsole::DatabaseMaintenancePeriodic.new
14
- self.requested_hourly_action = false
15
- self.requested_periodic_action = false
16
- self.executed_hourly_action = false
17
- self.executed_periodic_action = false
18
- end
19
-
20
- def ask_questions
21
- clear_screen
22
- self.requested_hourly_action = hourly.confirm
23
- self.requested_periodic_action = periodic.confirm
24
- requested_hourly_action || requested_periodic_action
25
- end
26
-
27
- def activate
28
- say("Configuring Database Maintenance...")
29
- self.executed_hourly_action = hourly.activate
30
- self.executed_periodic_action = periodic.activate
31
- executed_hourly_action || executed_periodic_action
32
- end
33
- end # class DatabaseMaintenance
34
- end # module ApplianceConsole
35
- end
@@ -1,58 +0,0 @@
1
- require 'fileutils'
2
-
3
- module ManageIQ
4
- module ApplianceConsole
5
- class DatabaseMaintenanceHourly
6
- include ManageIQ::ApplianceConsole::Logging
7
-
8
- HOURLY_CRON = "/etc/cron.hourly/miq-pg-maintenance-hourly.cron".freeze
9
-
10
- attr_accessor :already_configured, :requested_deactivate, :requested_activate
11
-
12
- def initialize
13
- self.already_configured = File.exist?(HOURLY_CRON)
14
- self.requested_deactivate = false
15
- self.requested_activate = false
16
- end
17
-
18
- def activate
19
- return deactivate if requested_deactivate
20
- return configure if requested_activate
21
- false
22
- end
23
-
24
- def confirm
25
- if already_configured
26
- self.requested_deactivate = agree("Hourly Database Maintenance is already configured, Un-Configure (Y/N):")
27
- else
28
- self.requested_activate = agree("Configure Hourly Database Maintenance? (Y/N): ")
29
- end
30
- end
31
-
32
- private
33
-
34
- def configure
35
- say("Configuring Hourly Database Maintenance...")
36
- write_hourly_cron
37
- FileUtils.chmod(0755, HOURLY_CRON)
38
- true
39
- end
40
-
41
- def deactivate
42
- say("Un-Configuring Hourly Database Maintenance...")
43
- FileUtils.rm_f(HOURLY_CRON)
44
- true
45
- end
46
-
47
- def write_hourly_cron
48
- File.open(HOURLY_CRON, "w") do |f|
49
- f.write("#!/bin/sh\n")
50
- f.write("/usr/bin/hourly_reindex_metrics_tables\n")
51
- f.write("/usr/bin/hourly_reindex_miq_queue_table\n")
52
- f.write("/usr/bin/hourly_reindex_miq_workers_table\n")
53
- f.write("exit 0\n")
54
- end
55
- end
56
- end # class DatabaseMaintenanceHourly
57
- end # module ApplianceConsole
58
- end
@@ -1,84 +0,0 @@
1
- module ManageIQ
2
- module ApplianceConsole
3
- class DatabaseMaintenancePeriodic
4
- include ManageIQ::ApplianceConsole::Logging
5
-
6
- RUN_AS = 'root'.freeze
7
- PERIODIC_CMD = '/usr/bin/periodic_vacuum_full_tables'.freeze
8
- CRONTAB_FILE = '/etc/crontab'.freeze
9
- SCHEDULE_PROMPT = 'frequency periodic database maintenance should run (hourly daily weekly monthly)'.freeze
10
- HOUR_PROMPT = 'hour number (0..23)'.freeze
11
- WEEK_DAY_PROMPT = 'week day number (0..6, where Sunday is 0)'.freeze
12
- MONTH_DAY_PROMPT = 'month day number (1..31)'.freeze
13
-
14
- attr_accessor :crontab_schedule_expression, :already_configured, :requested_deactivate, :requested_activate
15
-
16
- def initialize
17
- self.crontab_schedule_expression = nil
18
- self.already_configured = File.readlines(CRONTAB_FILE).detect { |line| line =~ /#{PERIODIC_CMD}/ }.present?
19
- self.requested_deactivate = false
20
- self.requested_activate = false
21
- end
22
-
23
- def activate
24
- return deactivate if requested_deactivate
25
- return configure if requested_activate
26
- false
27
- end
28
-
29
- def confirm
30
- if already_configured
31
- self.requested_deactivate = agree("Periodic Database Maintenance is already configured, Un-Configure (Y/N):")
32
- else
33
- self.requested_activate = agree("Configure Periodic Database Maintenance? (Y/N): ")
34
- ask_for_schedule if requested_activate
35
- end
36
- end
37
-
38
- private
39
-
40
- def ask_for_schedule
41
- self.crontab_schedule_expression =
42
- case ask_for_schedule_frequency(SCHEDULE_PROMPT, 'monthly')
43
- when 'hourly'
44
- generate_hourly_crontab_expression
45
- when 'daily'
46
- generate_daily_crontab_expression
47
- when 'weekly'
48
- generate_weekly_crontab_expression
49
- when 'monthly'
50
- generate_monthly_crontab_expression
51
- end
52
- end
53
-
54
- def configure
55
- File.open(CRONTAB_FILE, "a") do |f|
56
- f.write("#{crontab_schedule_expression} #{RUN_AS} #{PERIODIC_CMD}\n")
57
- end
58
- true
59
- end
60
-
61
- def deactivate
62
- keep_content = File.readlines(CRONTAB_FILE).reject { |line| line =~ /#{PERIODIC_CMD}/ }
63
- File.open(CRONTAB_FILE, "w") { |f| keep_content.each { |line| f.puts line } }
64
- true
65
- end
66
-
67
- def generate_hourly_crontab_expression
68
- "0 * * * *"
69
- end
70
-
71
- def generate_daily_crontab_expression
72
- "0 #{ask_for_hour_number(HOUR_PROMPT)} * * *"
73
- end
74
-
75
- def generate_weekly_crontab_expression
76
- "0 #{ask_for_hour_number(HOUR_PROMPT)} * * #{ask_for_week_day_number(WEEK_DAY_PROMPT)}"
77
- end
78
-
79
- def generate_monthly_crontab_expression
80
- "0 #{ask_for_hour_number(HOUR_PROMPT)} #{ask_for_month_day_number(MONTH_DAY_PROMPT)} * *"
81
- end
82
- end # class DatabaseMaintenancePeriodic
83
- end # module ApplianceConsole
84
- end