Skip to content

Commit 38ac239

Browse files
committed
Changed Action of load swift policies
1 parent 33c3bd8 commit 38ac239

6 files changed

Lines changed: 30 additions & 95 deletions

File tree

crystal_dashboard/dashboards/crystal/filters/urls.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22
from crystal_dashboard.dashboards.crystal.filters import views
33
from crystal_dashboard.dashboards.crystal.filters.dependencies import urls as dependencies_urls
44
from crystal_dashboard.dashboards.crystal.filters.filters import urls as filter_urls
5-
from crystal_dashboard.dashboards.crystal.filters.registry_dsl import urls as registry_urls
65

76
urlpatterns = [
87
url(r'^$', views.IndexView.as_view(), name='index'),
98
url(r'filters/', include(filter_urls, namespace="filters")),
109
url(r'dependencies/', include(dependencies_urls, namespace="dependencies")),
11-
url(r'', include(registry_urls, namespace="registry_dsl")),
1210
]

crystal_dashboard/dashboards/crystal/rings/storage_policies/forms.py

Lines changed: 11 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from horizon import exceptions
55
from horizon import forms
66
from horizon import messages
7-
import json
87

98
from crystal_dashboard.dashboards.crystal import exceptions as sdsexception
109
from crystal_dashboard.api import swift as api
@@ -22,32 +21,30 @@ class CreateStoragePolicy(forms.SelfHandlingForm):
2221
label=_("Num. Replicas"),
2322
help_text=_("Number of replicas"),
2423
initial=3)
25-
24+
2625
partition_power = forms.CharField(max_length=255,
2726
label=_("Partiton Power"),
2827
help_text=_("If the value is x the num of partitions will be 2^x"),
2928
initial=10)
30-
29+
3130
time = forms.CharField(max_length=255,
3231
label=_("Time"),
3332
help_text=_("Time between moving a partition more than once. In hours"),
3433
initial=1)
35-
36-
34+
3735
policy_type = forms.CharField(widget=forms.HiddenInput(), initial='replication')
38-
36+
3937
deprecated = forms.CharField(widget=forms.HiddenInput(), initial='False')
40-
38+
4139
deployed = forms.CharField(widget=forms.HiddenInput(), initial='False')
42-
40+
4341
default = forms.CharField(widget=forms.HiddenInput(), initial='False')
44-
42+
4543
devices = forms.CharField(widget=forms.HiddenInput(), initial='[]')
4644

4745
def __init__(self, request, *args, **kwargs):
4846
super(CreateStoragePolicy, self).__init__(request, *args, **kwargs)
4947

50-
5148
def handle(self, request, data):
5249
try:
5350
response = api.swift_new_storage_policy(request, data)
@@ -60,7 +57,6 @@ def handle(self, request, data):
6057
redirect = reverse("horizon:crystal:rings:index")
6158
error_message = "Unable to create storage policy.\t %s" % ex.message
6259
exceptions.handle(request, _(error_message), redirect=redirect)
63-
6460

6561

6662
class UpdateStoragePolicy(forms.SelfHandlingForm):
@@ -71,8 +67,6 @@ class UpdateStoragePolicy(forms.SelfHandlingForm):
7167
default = forms.BooleanField(required=False, label="Default")
7268
deprecated = forms.BooleanField(required=False, label="Deprecated")
7369

74-
75-
7670
def __init__(self, request, *args, **kwargs):
7771
super(UpdateStoragePolicy, self).__init__(request, *args, **kwargs)
7872

@@ -137,17 +131,16 @@ class CreateECStoragePolicy(forms.SelfHandlingForm):
137131
required=True,
138132
help_text=_("EC Duplication enables Swift to make duplicated copies of fragments of erasure coded objects."),
139133
initial=1)
140-
134+
141135
policy_type = forms.CharField(widget=forms.HiddenInput(), initial='EC')
142136

143137
deprecated = forms.CharField(widget=forms.HiddenInput(), initial='False')
144-
138+
145139
deployed = forms.CharField(widget=forms.HiddenInput(), initial='False')
146-
140+
147141
devices = forms.CharField(widget=forms.HiddenInput(), initial='[]')
148-
149-
default = forms.CharField(widget=forms.HiddenInput(), initial='False')
150142

143+
default = forms.CharField(widget=forms.HiddenInput(), initial='False')
151144

152145
def __init__(self, request, *args, **kwargs):
153146
super(CreateECStoragePolicy, self).__init__(request, *args, **kwargs)
@@ -164,25 +157,3 @@ def handle(self, request, data):
164157
redirect = reverse("horizon:crystal:rings:index")
165158
error_message = "Unable to create storage policy.\t %s" % ex.message
166159
exceptions.handle(request, _(error_message), redirect=redirect)
167-
168-
169-
class LoadSwiftPolicies(forms.SelfHandlingForm):
170-
name = forms.CharField(max_length=255,
171-
label=_("Name"),
172-
help_text=_("The name assigned to new storage node."),
173-
widget=forms.TextInput(
174-
attrs={"ng-model": "name", "not-blank": ""}
175-
))
176-
type = forms.CharField(max_length=255,
177-
label=_("Type"),
178-
help_text=_("SSD or HDD"),
179-
widget=forms.TextInput(
180-
attrs={"ng-model": "type", "not-blank": ""}
181-
))
182-
183-
def __init__(self, request, *args, **kwargs):
184-
super(LoadSwiftPolicies, self).__init__(request, *args, **kwargs)
185-
186-
def handle(self, request, data):
187-
api.load_swift_policies(request, data)
188-
return data

crystal_dashboard/dashboards/crystal/rings/storage_policies/tables.py

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from django.utils.translation import ugettext_lazy as _
33
from django.utils.translation import ungettext_lazy
44
from django.core.urlresolvers import reverse_lazy
5+
from django import shortcuts
56
from horizon import exceptions
67
from horizon import messages
78
from horizon import tables
@@ -38,23 +39,24 @@ class LoadSwiftPolicies(tables.Action):
3839
name = "load_swift_policies"
3940
verbose_name = _("Load Swift Policies")
4041
requires_input = False
41-
success_url = "horizon:crystal:rings:index"
42-
42+
icon = "upload"
43+
4344
def allowed(self, request, policies):
44-
return len(self.table.get_rows()) == 0;
45-
46-
def handle(self, data_table, request, object_ids):
45+
return len(self.table.get_rows()) == 0
46+
47+
def single(self, data_table, request, object_id):
4748
try:
4849
response = api.load_swift_policies(request)
4950
if 200 <= response.status_code < 300:
50-
messages.success(request, _("Policies loaded successfully"))
51+
messages.success(request, _("Storage Policies loaded successfully"))
52+
return shortcuts.redirect('horizon:crystal:rings:index')
5153
else:
5254
raise sdsexception.SdsException(response.text)
5355
except Exception as ex:
5456
redirect = reverse("horizon:crystal:rings:index")
5557
error_message = "Unable to load policies.\t %s" % ex.message
5658
exceptions.handle(request, _(error_message), redirect=redirect)
57-
59+
5860

5961
class ManageDisksLink(tables.LinkAction):
6062
name = "users"
@@ -87,11 +89,11 @@ def get_data(self, request, obj_id):
8789
response = api.swift_storage_policy_detail(request, obj_id)
8890
inst = json.loads(response.text)
8991
parameters = ', '.join([key.replace('_', ' ').title()+':'+inst[key] for key in inst.keys() if key not in ['id', 'name', 'policy_type', 'default', 'devices', 'deprecated', 'deployed']])
90-
policy = storage_policies_models.StoragePolicy(inst['storage_policy_id'], inst['name'], inst['policy_type'],
92+
policy = storage_policies_models.StoragePolicy(inst['storage_policy_id'], inst['name'], inst['policy_type'],
9193
inst['default'], parameters, inst['deprecated'], inst['deployed'], inst['devices'])
9294

9395
return policy
94-
96+
9597

9698
class UpdateStoragePolicy(tables.LinkAction):
9799
name = "update"
@@ -141,7 +143,7 @@ def delete(self, request, obj_id):
141143
class DeleteMultipleStoragePolicies(DeleteStoragePolicy):
142144
name = "delete_multiple_storage_policies"
143145

144-
146+
145147
class DeployChanges(tables.BatchAction):
146148
@staticmethod
147149
def action_present(count):
@@ -163,7 +165,7 @@ def action_past(count):
163165
icon = "plus"
164166
requires_input = True
165167
success_url = "horizon:crystal:rings:index"
166-
168+
167169
def allowed(self, request, storage_policy):
168170
return not storage_policy.deployed
169171

@@ -176,7 +178,7 @@ def action(self, request, obj_id):
176178
redirect = reverse("horizon:crystal:rings:index")
177179
error_message = "Unable to deploy storage policy.\t %s" % ex.message
178180
exceptions.handle(request, _(error_message), redirect=redirect)
179-
181+
180182

181183
class StoragePolicyTable(tables.DataTable):
182184

@@ -187,14 +189,14 @@ class StoragePolicyTable(tables.DataTable):
187189
form_field=forms.ChoiceField(choices=[('True', _('True')), ('False', _('False'))]), update_action=UpdateCell)
188190
parameters = tables.Column('parameters', verbose_name=_("Parameters"))
189191
deprecated = tables.Column('deprecated', verbose_name=_("Deprecated"),
190-
form_field=forms.ChoiceField(choices=[('True', _('True')), ('False', _('False'))]), update_action=UpdateCell)
192+
form_field=forms.ChoiceField(choices=[('True', _('True')), ('False', _('False'))]), update_action=UpdateCell)
191193
devices = tables.Column('devices', verbose_name=_("Devices"))
192194
deployed = tables.Column('deployed', verbose_name=_("Deployed"))
193195

194196
class Meta:
195197
name = "storagepolicies"
196198
verbose_name = _("Storage Policies")
197-
table_actions = (MyFilterAction, CreateStoragePolicy, CreateECStoragePolicy, LoadSwiftPolicies,DeleteMultipleStoragePolicies,)
199+
table_actions = (MyFilterAction, CreateStoragePolicy, CreateECStoragePolicy, LoadSwiftPolicies, DeleteMultipleStoragePolicies,)
198200
row_actions = (DeployChanges, ManageDisksLink, UpdateStoragePolicy, DeleteStoragePolicy)
199201
row_class = UpdateRow
200202

@@ -240,8 +242,7 @@ def delete(self, request, obj_id):
240242
redirect = reverse("horizon:crystal:rings:storage_policies:devices")
241243
error_message = "Unable to remove disk.\t %s" % ex.message
242244
exceptions.handle(request, _(error_message), redirect=redirect)
243-
244-
245+
245246
def get_success_url(self, request=None):
246247
policy_id = self.table.kwargs.get('policy_id', None)
247248
return reverse(self.success_url, args=[policy_id])
@@ -297,7 +298,7 @@ def action(self, request, obj_id):
297298
def get_success_url(self, request=None):
298299
policy_id = self.table.kwargs.get('policy_id', None)
299300
return reverse(self.success_url, args=[policy_id])
300-
301+
301302

302303
class AddDisksTable(ManageDisksTable):
303304

crystal_dashboard/dashboards/crystal/rings/templates/rings/storage_policies/_load_swift_policies.html

Lines changed: 0 additions & 28 deletions
This file was deleted.

crystal_dashboard/dashboards/crystal/rings/templates/rings/storage_policies/load_swift_policies.html

Lines changed: 0 additions & 7 deletions
This file was deleted.

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = crystal-dashboard
33
summary = Horizon Plugin for Crystal
44
version = 0.8.6
5-
description-file = README.rst
5+
description-file = README.md
66
author = AST Team
77
author-email = gerard.paris@urv.cat, josep.sampe@urv.cat
88
home-page = http://ast-deim.urv.cat/

0 commit comments

Comments
 (0)