morpheus-cli 4.2.10 → 4.2.11
Sign up to get free protection for your applications and to get access to all the features.
- 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