Allow to evacuate without specifying a target host

When the evacuate is run without specifying a target host, horizon
sets an empty string for target host. But the evacuate api doesn't
allow an empty string. As a result, nova returns "HTTP 400 Bad
request".

So this patch sets None as the target host when it isn't specified.

Change-Id: Ia865a6c02e206fa49efc3095e8d3488f5638d0e3
Closes-Bug: 1793694
(cherry picked from commit f9e0f8a976)
This commit is contained in:
Rikimaru Honjo 2020-01-15 10:48:14 +00:00
parent e2ecdaf01a
commit e058e38160
1 changed files with 5 additions and 0 deletions

View File

@ -57,6 +57,11 @@ class EvacuateHostForm(forms.SelfHandlingForm):
current_host = data['current_host']
target_host = data['target_host']
on_shared_storage = data['on_shared_storage']
# The target_host value will be an empty string when the target
# host wasn't specified. But the evacuate api doesn't allow
# an empty string. So set None as the target_host value.
if not target_host:
target_host = None
api.nova.evacuate_host(request, current_host,
target_host, on_shared_storage)