manageiq-appliance_console 5.3.3 → 5.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/appliance_console +19 -6
- data/lib/manageiq-appliance_console.rb +1 -0
- data/lib/manageiq/appliance_console/cli.rb +20 -1
- data/lib/manageiq/appliance_console/messaging_configuration.rb +92 -0
- data/lib/manageiq/appliance_console/version.rb +1 -1
- data/locales/appliance/en.yml +2 -2
- data/locales/container/en.yml +2 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d64670c30bb37f4487aefa66bc59a4cf610650416157fe04efbe9400e96ba98
|
4
|
+
data.tar.gz: 89a871ff8bdbb6b5a44df5e1a733527534f41bd45200138fa939b5bb9091592d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 381c19281a65a2617e269cac0fbe16bb0e2dc75d6f58a2439550e14f2bb4b56d47cc676491c0ce1f89f15891bed6e57199b66fa14fc3a5b9f2653a8d2c7bd068
|
7
|
+
data.tar.gz: 4a649d02282f5301b2aa6452455037cc35121d75e7888a5613508b7009578d6c398f9953ea7e210230626b4049d7db347c5bafedcf2dc66976b4207a34bf1778
|
data/bin/appliance_console
CHANGED
@@ -374,7 +374,7 @@ Static Network Configuration
|
|
374
374
|
raise MiqSignalError
|
375
375
|
end
|
376
376
|
|
377
|
-
when I18n.t("advanced_settings.
|
377
|
+
when I18n.t("advanced_settings.app_config")
|
378
378
|
say("#{selection}\n\n")
|
379
379
|
|
380
380
|
ensure_key_configured
|
@@ -383,21 +383,29 @@ Static Network Configuration
|
|
383
383
|
"Create Internal Database" => "create_internal",
|
384
384
|
"Create Region in External Database" => "create_external",
|
385
385
|
"Join Region in External Database" => "join_external",
|
386
|
-
"Reset Configured Database" => "reset_region"
|
386
|
+
"Reset Configured Database" => "reset_region",
|
387
|
+
"No changes" => "no_changes"
|
387
388
|
}
|
388
|
-
|
389
|
+
database_action = ask_with_menu("Database Operation", options)
|
390
|
+
|
391
|
+
messaging_options = {
|
392
|
+
"Use an external messaging system" => "external_messaging",
|
393
|
+
"No changes" => "no_changes"
|
394
|
+
}
|
395
|
+
|
396
|
+
messaging_action = ask_with_menu("Configure Messaging", messaging_options)
|
389
397
|
|
390
398
|
database_configuration =
|
391
|
-
case
|
399
|
+
case database_action
|
392
400
|
when "create_internal"
|
393
401
|
ManageIQ::ApplianceConsole::InternalDatabaseConfiguration.new
|
394
402
|
when /_external/
|
395
|
-
ManageIQ::ApplianceConsole::ExternalDatabaseConfiguration.new(:action =>
|
403
|
+
ManageIQ::ApplianceConsole::ExternalDatabaseConfiguration.new(:action => database_action.split("_").first.to_sym)
|
396
404
|
else
|
397
405
|
ManageIQ::ApplianceConsole::DatabaseConfiguration.new
|
398
406
|
end
|
399
407
|
|
400
|
-
case
|
408
|
+
case database_action
|
401
409
|
when "reset_region"
|
402
410
|
if database_configuration.reset_region
|
403
411
|
say("Database reset successfully")
|
@@ -411,6 +419,11 @@ Static Network Configuration
|
|
411
419
|
# Get the region again because it may have changed
|
412
420
|
region = ManageIQ::ApplianceConsole::DatabaseConfiguration.region
|
413
421
|
|
422
|
+
case messaging_action
|
423
|
+
when "external_messaging"
|
424
|
+
ManageIQ::ApplianceConsole::MessagingConfiguration.new.run_interactive
|
425
|
+
end
|
426
|
+
|
414
427
|
press_any_key
|
415
428
|
|
416
429
|
when I18n.t("advanced_settings.db_replication")
|
@@ -43,6 +43,7 @@ require 'manageiq/appliance_console/internal_database_configuration'
|
|
43
43
|
require 'manageiq/appliance_console/key_configuration'
|
44
44
|
require 'manageiq/appliance_console/logfile_configuration'
|
45
45
|
require 'manageiq/appliance_console/logical_volume_management'
|
46
|
+
require 'manageiq/appliance_console/messaging_configuration'
|
46
47
|
require 'manageiq/appliance_console/oidc_authentication'
|
47
48
|
require 'manageiq/appliance_console/principal'
|
48
49
|
require 'manageiq/appliance_console/saml_authentication'
|
@@ -101,6 +101,10 @@ module ApplianceConsole
|
|
101
101
|
options[:openscap]
|
102
102
|
end
|
103
103
|
|
104
|
+
def configure_messaging?
|
105
|
+
options[:messaging_hostname] && options[:messaging_password] && options[:messaging_port] && options[:messaging_username]
|
106
|
+
end
|
107
|
+
|
104
108
|
def initialize(options = {})
|
105
109
|
self.options = options
|
106
110
|
end
|
@@ -169,6 +173,10 @@ module ApplianceConsole
|
|
169
173
|
opt :oidc_unconfig, "Unconfigure Appliance OpenID-Connect Authentication", :type => :boolean, :default => false
|
170
174
|
opt :server, "{start|stop|restart} actions on evmserverd Server", :type => :string
|
171
175
|
opt :openscap, "Setup OpenScap", :type => :boolean, :default => false
|
176
|
+
opt :messaging_hostname, "Messaging Hostname", :type => :string
|
177
|
+
opt :messaging_username, "Messaging Username", :type => :string
|
178
|
+
opt :messaging_password, "Messaging Password", :type => :string
|
179
|
+
opt :messaging_port, "Messaging Port", :type => :integer
|
172
180
|
end
|
173
181
|
Optimist.die :region, "needed when setting up a local database" if region_number_required? && options[:region].nil?
|
174
182
|
self
|
@@ -183,7 +191,7 @@ module ApplianceConsole
|
|
183
191
|
uninstall_ipa? || install_ipa? || certs? || extauth_opts? ||
|
184
192
|
set_server_state? || set_replication? || openscap? ||
|
185
193
|
saml_config? || saml_unconfig? ||
|
186
|
-
oidc_config? || oidc_unconfig?
|
194
|
+
oidc_config? || oidc_unconfig? || configure_messaging?
|
187
195
|
|
188
196
|
if set_host?
|
189
197
|
system_hosts = LinuxAdmin::Hosts.new
|
@@ -207,6 +215,7 @@ module ApplianceConsole
|
|
207
215
|
oidc_unconfig if oidc_unconfig?
|
208
216
|
set_server_state if set_server_state?
|
209
217
|
openscap if openscap?
|
218
|
+
configure_messaging if configure_messaging?
|
210
219
|
rescue CliError => e
|
211
220
|
say(e.message)
|
212
221
|
say("")
|
@@ -426,6 +435,16 @@ module ApplianceConsole
|
|
426
435
|
def self.parse(args)
|
427
436
|
new.parse(args).run
|
428
437
|
end
|
438
|
+
|
439
|
+
def configure_messaging
|
440
|
+
say("configuring messaging")
|
441
|
+
ManageIQ::ApplianceConsole::MessagingConfiguration.new.save(
|
442
|
+
"hostname" => options[:messaging_hostname],
|
443
|
+
"password" => options[:messaging_password],
|
444
|
+
"port" => options[:messaging_port],
|
445
|
+
"username" => options[:messaging_username]
|
446
|
+
)
|
447
|
+
end
|
429
448
|
end
|
430
449
|
end
|
431
450
|
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
require "pathname"
|
2
|
+
|
3
|
+
module ManageIQ
|
4
|
+
module ApplianceConsole
|
5
|
+
class MessagingConfiguration
|
6
|
+
include ManageIQ::ApplianceConsole::Logging
|
7
|
+
include ManageIQ::ApplianceConsole::Prompts
|
8
|
+
|
9
|
+
MESSAGING_YML = ManageIQ::ApplianceConsole::RAILS_ROOT.join("config/messaging.yml")
|
10
|
+
|
11
|
+
attr_accessor :host, :password, :port, :username
|
12
|
+
|
13
|
+
def run_interactive
|
14
|
+
ask_questions
|
15
|
+
|
16
|
+
clear_screen
|
17
|
+
say("Activating the configuration using the following settings...\n#{friendly_inspect}\n")
|
18
|
+
|
19
|
+
raise MiqSignalError unless activate
|
20
|
+
|
21
|
+
say("\nConfiguration activated successfully.\n")
|
22
|
+
rescue RuntimeError => e
|
23
|
+
puts "Configuration failed#{": " + e.message unless e.class == MiqSignalError}"
|
24
|
+
press_any_key
|
25
|
+
raise MiqSignalError
|
26
|
+
end
|
27
|
+
|
28
|
+
def ask_questions
|
29
|
+
ask_for_messaging_credentials
|
30
|
+
end
|
31
|
+
|
32
|
+
def ask_for_messaging_credentials
|
33
|
+
self.host = ask_for_ip_or_hostname("messaging hostname or IP address")
|
34
|
+
self.port = ask_for_integer("port number", (1..65_535), 9_092).to_i
|
35
|
+
self.username = just_ask("username")
|
36
|
+
count = 0
|
37
|
+
loop do
|
38
|
+
password1 = ask_for_password("messaging password on #{host}")
|
39
|
+
|
40
|
+
if password1.strip.empty?
|
41
|
+
say("\nPassword can not be empty, please try again")
|
42
|
+
next
|
43
|
+
end
|
44
|
+
|
45
|
+
password2 = ask_for_password("messaging password again")
|
46
|
+
if password1 == password2
|
47
|
+
self.password = password1
|
48
|
+
break
|
49
|
+
elsif count > 0 # only reprompt password once
|
50
|
+
raise "passwords did not match"
|
51
|
+
else
|
52
|
+
count += 1
|
53
|
+
say("\nThe passwords did not match, please try again")
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def friendly_inspect
|
59
|
+
<<~END_OF_INSPECT
|
60
|
+
Host: #{host}
|
61
|
+
Username: #{username}
|
62
|
+
Port: #{port}
|
63
|
+
END_OF_INSPECT
|
64
|
+
end
|
65
|
+
|
66
|
+
def activate
|
67
|
+
save
|
68
|
+
true
|
69
|
+
end
|
70
|
+
|
71
|
+
private
|
72
|
+
|
73
|
+
def settings_from_input
|
74
|
+
{
|
75
|
+
"hostname" => host,
|
76
|
+
"password" => password,
|
77
|
+
"port" => port,
|
78
|
+
"username" => username
|
79
|
+
}
|
80
|
+
end
|
81
|
+
|
82
|
+
def save(settings = nil)
|
83
|
+
settings ||= settings_from_input
|
84
|
+
|
85
|
+
settings["password"] = MiqPassword.try_encrypt(settings.delete("password"))
|
86
|
+
|
87
|
+
require 'yaml'
|
88
|
+
File.write(MESSAGING_YML, YAML.dump("production" => settings))
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
data/locales/appliance/en.yml
CHANGED
@@ -8,7 +8,7 @@ en:
|
|
8
8
|
- dbbackup
|
9
9
|
- dbdump
|
10
10
|
- dbrestore
|
11
|
-
-
|
11
|
+
- app_config
|
12
12
|
- db_replication
|
13
13
|
- log_config
|
14
14
|
- failover_monitor
|
@@ -25,7 +25,7 @@ en:
|
|
25
25
|
dbbackup: Create Database Backup
|
26
26
|
dbdump: Create Database Dump
|
27
27
|
dbrestore: Restore Database From Backup
|
28
|
-
|
28
|
+
app_config: Configure Application
|
29
29
|
db_replication: Configure Database Replication
|
30
30
|
log_config: Logfile Configuration
|
31
31
|
failover_monitor: Configure Application Database Failover Monitor
|
data/locales/container/en.yml
CHANGED
@@ -5,7 +5,7 @@ en:
|
|
5
5
|
advanced_settings:
|
6
6
|
menu_order:
|
7
7
|
- dbrestore
|
8
|
-
-
|
8
|
+
- app_config
|
9
9
|
- db_replication
|
10
10
|
- failover_monitor
|
11
11
|
- key_gen
|
@@ -15,7 +15,7 @@ en:
|
|
15
15
|
- summary
|
16
16
|
- quit
|
17
17
|
dbrestore: Restore Database From Backup
|
18
|
-
|
18
|
+
app_config: Configure Application
|
19
19
|
db_replication: Configure Database Replication
|
20
20
|
failover_monitor: Configure Application Database Failover Monitor
|
21
21
|
evmstop: Stop EVM Server Processes
|
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: 5.
|
4
|
+
version: 5.4.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: 2020-04-
|
11
|
+
date: 2020-04-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -347,6 +347,7 @@ files:
|
|
347
347
|
- lib/manageiq/appliance_console/logger.rb
|
348
348
|
- lib/manageiq/appliance_console/logging.rb
|
349
349
|
- lib/manageiq/appliance_console/logical_volume_management.rb
|
350
|
+
- lib/manageiq/appliance_console/messaging_configuration.rb
|
350
351
|
- lib/manageiq/appliance_console/oidc_authentication.rb
|
351
352
|
- lib/manageiq/appliance_console/principal.rb
|
352
353
|
- lib/manageiq/appliance_console/prompts.rb
|