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