morpheus-cli 4.2.10 → 4.2.11
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 +4 -4
- data/Dockerfile +1 -1
- data/lib/morpheus/cli/ping.rb +1 -1
- data/lib/morpheus/cli/remote.rb +6 -13
- data/lib/morpheus/cli/setup.rb +21 -3
- data/lib/morpheus/cli/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c05a0d047f94e91857345c03ab934d64eef1b23620acf24b38057eba3d92cbcb
|
4
|
+
data.tar.gz: 17a33813d17587e8686ef3ad1cbec018ef1e18049be40184aa76573d60eba469
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8450675f6ce45f28e42b3919ac5e6c65f210fde6deb14671a78eef72b0b7d6f0d0d008a108fc0af56a45af3e4485788bd6d91697ab544e868974df73d9ea4c54
|
7
|
+
data.tar.gz: b0f5a5f626de331115ca8863b8e60305ec66ba34bfd6762697778f084bf7553618e37613e755c4ddc8cea425d8241faece71bbcf6a2a9483b94a7b1c0712c495
|
data/Dockerfile
CHANGED
data/lib/morpheus/cli/ping.rb
CHANGED
@@ -83,7 +83,7 @@ EOT
|
|
83
83
|
rescue RestClient::Exception => e
|
84
84
|
# api_exception = e
|
85
85
|
# fallback to older /api/setup/check, which is also public and looks just about the same
|
86
|
-
if e.response.code == 404
|
86
|
+
if e.response && (e.response.code == 404 || e.response.code == 401)
|
87
87
|
start_time = Time.now
|
88
88
|
begin
|
89
89
|
json_response = @setup_interface.check(params)
|
data/lib/morpheus/cli/remote.rb
CHANGED
@@ -366,18 +366,11 @@ EOT
|
|
366
366
|
end
|
367
367
|
|
368
368
|
# setup fresh appliance?
|
369
|
-
if appliance[:status] == 'fresh'
|
370
|
-
if !appliance[:active]
|
371
|
-
if ::Morpheus::Cli::OptionTypes::confirm("Would you like to switch to using this remote now?", options.merge({default: true}))
|
372
|
-
use([appliance[:name]])
|
373
|
-
appliance[:active] = true # just in case, could reload instead with load_active_remote()
|
374
|
-
end
|
375
|
-
end
|
376
|
-
|
369
|
+
if appliance[:status] == 'fresh'
|
377
370
|
print cyan
|
378
371
|
puts "It looks like this appliance needs to be setup. Starting setup ..."
|
379
|
-
return setup([new_appliance_name])
|
380
|
-
|
372
|
+
#return setup([new_appliance_name] + [Morpheus::Logging.debug? ? ["--debug"] : []])
|
373
|
+
return Morpheus::Cli::Setup.new.handle(["-r", new_appliance_name] + (Morpheus::Logging.debug? ? ["--debug"] : []))
|
381
374
|
end
|
382
375
|
|
383
376
|
# only login if you are using this remote
|
@@ -1211,7 +1204,7 @@ EOT
|
|
1211
1204
|
|
1212
1205
|
# This moved to the SetupCommand
|
1213
1206
|
def setup(args)
|
1214
|
-
print_error yellow,"[DEPRECATED] The command `remote setup
|
1207
|
+
print_error yellow,"[DEPRECATED] The command `remote setup` is deprecated. It has been replaced by `setup`.",reset,"\n"
|
1215
1208
|
options = {}
|
1216
1209
|
optparse = Morpheus::Cli::OptionParser.new do|opts|
|
1217
1210
|
opts.banner = subcommand_usage()
|
@@ -1230,7 +1223,7 @@ and it may only be executed successfully one time.
|
|
1230
1223
|
EOT
|
1231
1224
|
end
|
1232
1225
|
optparse.parse!(args)
|
1233
|
-
verify_args!(args:args,
|
1226
|
+
verify_args!(args:args, optparse:optparse, max:1)
|
1234
1227
|
# just invoke the setup command.
|
1235
1228
|
# for this to work, the argument [remote] must be the first argument.
|
1236
1229
|
cmd_args = []
|
@@ -1240,7 +1233,7 @@ EOT
|
|
1240
1233
|
# cmd_args = cmd_args + ["-r",remote_name, args]
|
1241
1234
|
cmd_args = args + ["-r",remote_name, args]
|
1242
1235
|
end
|
1243
|
-
return Morpheus::Cli::Setup.new.
|
1236
|
+
return Morpheus::Cli::Setup.new.handle(cmd_args)
|
1244
1237
|
end
|
1245
1238
|
|
1246
1239
|
def load_remote_by_name(appliance_name, allow_current=true)
|
data/lib/morpheus/cli/setup.rb
CHANGED
@@ -60,15 +60,20 @@ EOT
|
|
60
60
|
else
|
61
61
|
payload.deep_merge!(parse_passed_options(options))
|
62
62
|
|
63
|
+
# JD: This should just do a Remote.check_appliance() first... needs to work with --remote-url though.
|
63
64
|
# @setup_interface = Morpheus::SetupInterface.new({url:@appliance_url,access_token:@access_token})
|
64
65
|
appliance_status_json = nil
|
65
66
|
begin
|
66
67
|
appliance_status_json = @setup_interface.get()
|
68
|
+
rescue RestClient::SSLCertificateNotVerified => e
|
69
|
+
@remote_appliance[:status] = 'ssl-error'
|
70
|
+
@remote_appliance[:last_check] ||= {}
|
71
|
+
@remote_appliance[:last_check][:error] = e.message
|
67
72
|
rescue RestClient::Exception => e
|
68
73
|
# pre 4.2.1 api would return HTTP 400 here, but with setupNeeded=false
|
69
74
|
# so fallback to the old /api/setup/check
|
70
75
|
# this could be in the interface itself..
|
71
|
-
if e.response.code == 400
|
76
|
+
if e.response && (e.response.code == 400 || e.response.code == 404 || e.response.code == 401)
|
72
77
|
Morpheus::Logging::DarkPrinter.puts "HTTP 400 from /api/setup, falling back to older /api/setup/check" if Morpheus::Logging.debug?
|
73
78
|
begin
|
74
79
|
appliance_status_json = @setup_interface.check()
|
@@ -81,20 +86,33 @@ EOT
|
|
81
86
|
end
|
82
87
|
end
|
83
88
|
end
|
89
|
+
if appliance_status_json.nil?
|
90
|
+
@remote_appliance[:status] = 'http-error'
|
91
|
+
@remote_appliance[:last_check] ||= {}
|
92
|
+
@remote_appliance[:last_check][:error] = e.message
|
93
|
+
end
|
84
94
|
end
|
85
95
|
|
86
96
|
# my_terminal.execute("setup needed?")
|
87
97
|
# theres a bug here with --remote-url :status == "unknown"
|
88
98
|
# but hey, we got json back, so set status to "ready"
|
99
|
+
if appliance_status_json && appliance_status_json['setupNeeded'] == false
|
100
|
+
@remote_appliance[:status] == 'ready'
|
101
|
+
end
|
89
102
|
remote_status_string = format_appliance_status(@remote_appliance, cyan)
|
90
103
|
if appliance_status_json && appliance_status_json['setupNeeded'] == true
|
91
104
|
# ok, setupNeeded
|
92
105
|
# print_error cyan,"Setup is needed, status is #{remote_status_string}",reset,"\n"
|
93
106
|
else
|
107
|
+
if @remote_appliance[:status] == 'ssl-error'
|
108
|
+
print_error cyan,"Setup unavailable, status is #{remote_status_string}","\n"
|
109
|
+
print_error "Try passing the --insecure option.",reset,"\n"
|
110
|
+
return 1, "setup unavailable"
|
111
|
+
end
|
94
112
|
if options[:force] != true
|
95
113
|
print_error cyan,"Setup unavailable, status is #{remote_status_string}",reset,"\n"
|
96
114
|
#print_error red, "#{appliance_status_json['msg']}\n", reset
|
97
|
-
return 1, "
|
115
|
+
return 1, "setup unavailable"
|
98
116
|
end
|
99
117
|
end
|
100
118
|
|
@@ -133,7 +151,7 @@ EOT
|
|
133
151
|
puts "This is done to retrieve and install the license key for your appliance."
|
134
152
|
puts "You have several options for how to proceed:"
|
135
153
|
hub_action_dropdown.each_with_index do |hub_action, idx|
|
136
|
-
puts "
|
154
|
+
puts "* #{hub_action['name']} [#{hub_action['value']}]"
|
137
155
|
end
|
138
156
|
print "\n", reset
|
139
157
|
|
data/lib/morpheus/cli/version.rb
CHANGED