Move username and password to restore_auth
restore_auth is added to restore request. Add restore_auth with password and username from user input. Change-Id: I2b6780e630868dbc42c60a617d5f7d7e0f209b28
This commit is contained in:
parent
a0debef2d9
commit
790f85e5ae
@ -206,11 +206,12 @@ def scheduled_operation_get(request, scheduled_operation_id):
|
||||
|
||||
|
||||
def restore_create(request, provider_id, checkpoint_id,
|
||||
restore_target, parameters):
|
||||
restore_target, parameters, restore_auth):
|
||||
return karborclient(request).restores.create(provider_id,
|
||||
checkpoint_id,
|
||||
restore_target,
|
||||
parameters)
|
||||
parameters,
|
||||
restore_auth)
|
||||
|
||||
|
||||
def restore_delete(request, restore_id):
|
||||
|
@ -14,6 +14,7 @@
|
||||
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.views.decorators.debug import sensitive_variables # noqa
|
||||
|
||||
from horizon import exceptions
|
||||
from horizon import forms as horizon_forms
|
||||
@ -31,6 +32,11 @@ class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
|
||||
widget=forms.HiddenInput(),
|
||||
required=False)
|
||||
restore_target = forms.CharField(label=_("Restore Target"))
|
||||
restore_target_username = forms.CharField(
|
||||
label=_("Restore Target Username"))
|
||||
restore_target_password = forms.CharField(
|
||||
label=_("Restore Target Password"),
|
||||
widget=forms.PasswordInput())
|
||||
provider = forms.CharField(
|
||||
widget=forms.HiddenInput(attrs={"class": "provider"}))
|
||||
parameters = forms.CharField(
|
||||
@ -45,15 +51,23 @@ class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
|
||||
provider = karborclient.provider_get(request, provider_id)
|
||||
self.fields['provider'].initial = json.dumps(provider._info)
|
||||
|
||||
@sensitive_variables('restore_target_password')
|
||||
def handle(self, request, data):
|
||||
try:
|
||||
data_parameters = json.loads(data["parameters"])
|
||||
restore_auth = {
|
||||
"type": "password",
|
||||
"username": data["restore_target_username"],
|
||||
"password": data["restore_target_password"],
|
||||
}
|
||||
new_restore = karborclient.restore_create(
|
||||
request,
|
||||
provider_id=data["provider_id"],
|
||||
checkpoint_id=data["checkpoint_id"],
|
||||
restore_target=data["restore_target"],
|
||||
parameters=json.loads(data["parameters"]))
|
||||
messages.success(request, _("Checkpoint restore initiated."))
|
||||
parameters=data_parameters,
|
||||
restore_auth=restore_auth)
|
||||
messages.success(request, _("Checkpoint restore initiated"))
|
||||
return new_restore
|
||||
except Exception:
|
||||
exceptions.handle(request, _('Unable to restore checkpoint.'))
|
||||
|
@ -325,17 +325,21 @@ class karborApiTests(test.APITestCase):
|
||||
restore = self.restores.first()
|
||||
karborclient = self.stub_karborclient()
|
||||
karborclient.restores = self.mox.CreateMockAnything()
|
||||
karborclient.restores.create(restore["provider_id"],
|
||||
restore["checkpoint_id"],
|
||||
restore["restore_target"],
|
||||
restore["parameters"]).AndReturn(restore)
|
||||
karborclient.restores.create(
|
||||
restore["provider_id"],
|
||||
restore["checkpoint_id"],
|
||||
restore["restore_target"],
|
||||
restore["parameters"],
|
||||
restore["restore_auth"]
|
||||
).AndReturn(restore)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
ret_val = karbor.restore_create(self.request,
|
||||
restore["provider_id"],
|
||||
restore["checkpoint_id"],
|
||||
restore["restore_target"],
|
||||
restore["parameters"])
|
||||
restore["parameters"],
|
||||
restore["restore_auth"])
|
||||
self.assertEqual(restore["id"], ret_val["id"])
|
||||
|
||||
def test_restore_delete(self):
|
||||
@ -438,7 +442,8 @@ class karborApiTests(test.APITestCase):
|
||||
limit=page_size + 1,
|
||||
sort_key=None,
|
||||
sort_dir=None,
|
||||
sort=None).AndReturn(restore_list[:page_size + 1])
|
||||
sort=None
|
||||
).AndReturn(restore_list[:page_size + 1])
|
||||
self.mox.ReplayAll()
|
||||
ret_val, has_more_data, has_prev_data = karbor.restore_list_paged(
|
||||
self.request, paginate=True)
|
||||
|
@ -126,7 +126,9 @@ def data(TEST):
|
||||
"provider_id": "fake_provider_id",
|
||||
"checkpoint_id": "fake_checkpoint_id",
|
||||
"restore_target": "192.168.0.1:8080/v2.0",
|
||||
"parameters": {"username": "admin"},
|
||||
"parameters": {},
|
||||
"restore_auth": {"type": "password", "username": "admin",
|
||||
"password": "test"},
|
||||
"status": "IN PROGRESS"
|
||||
}
|
||||
resource_dict_2 = {
|
||||
@ -135,7 +137,9 @@ def data(TEST):
|
||||
"provider_id": "fake_provider_id2",
|
||||
"checkpoint_id": "fake_checkpoint_id2",
|
||||
"restore_target": "192.168.0.1:8080/v2.0",
|
||||
"parameters": {"username": "admin"},
|
||||
"parameters": {},
|
||||
"restore_auth": {"type": "password", "username": "admin",
|
||||
"password": "test"},
|
||||
"status": "IN PROGRESS"
|
||||
}
|
||||
resource_dict_3 = {
|
||||
@ -144,7 +148,9 @@ def data(TEST):
|
||||
"provider_id": "fake_provider_id3",
|
||||
"checkpoint_id": "fake_checkpoint_id3",
|
||||
"restore_target": "192.168.0.1:8080/v2.0",
|
||||
"parameters": {"username": "admin"},
|
||||
"parameters": {},
|
||||
"restore_auth": {"type": "password", "username": "admin",
|
||||
"password": "test"},
|
||||
"status": "IN PROGRESS"
|
||||
}
|
||||
resource_dict_4 = {
|
||||
@ -153,7 +159,9 @@ def data(TEST):
|
||||
"provider_id": "fake_provider_id4",
|
||||
"checkpoint_id": "fake_checkpoint_id4",
|
||||
"restore_target": "192.168.0.1:8080/v2.0",
|
||||
"parameters": {"username": "admin"},
|
||||
"parameters": {},
|
||||
"restore_auth": {"type": "password", "username": "admin",
|
||||
"password": "test"},
|
||||
"status": "IN PROGRESS"
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user