Added new functional to dashboard, fixed small issues.
This commit is contained in:
parent
6c51f7d983
commit
0136a6f737
@ -54,11 +54,11 @@ def datacenter_create(request, parameters):
|
||||
version, ip,
|
||||
port, user, password)
|
||||
|
||||
def datacenter_delete(request, datacenter):
|
||||
return windcclient(request).datacenters.delete(datacenter)
|
||||
def datacenter_delete(request, datacenter_id):
|
||||
return windcclient(request).datacenters.delete(datacenter_id)
|
||||
|
||||
def datacenter_get(request, lb_id):
|
||||
return windcclient(request).datacenters.get(lb_id)
|
||||
def datacenter_get(request, datacenter_id):
|
||||
return windcclient(request).datacenters.get(datacenter_id)
|
||||
|
||||
def datacenter_list(request):
|
||||
return windcclient(request).datacenters.list()
|
||||
|
@ -55,6 +55,7 @@ class CreateService(tables.LinkAction):
|
||||
# FIX ME
|
||||
api.windc.datacenter.create_service(request, obj_id)
|
||||
|
||||
|
||||
class CreateDataCenter(tables.LinkAction):
|
||||
name = "CreateDataCenter"
|
||||
verbose_name = _("Create Windows Data Center")
|
||||
@ -69,6 +70,23 @@ class CreateDataCenter(tables.LinkAction):
|
||||
api.windc.datacenter.create(request, obj_id)
|
||||
|
||||
|
||||
class DeleteDataCenter(tables.BatchAction):
|
||||
name = "delete"
|
||||
action_present = _("Delete")
|
||||
action_past = _("Delete")
|
||||
data_type_singular = _("Data Center")
|
||||
data_type_plural = _("Data Center")
|
||||
classes = ('btn-danger', 'btn-terminate')
|
||||
|
||||
def allowed(self, request, datum):
|
||||
return True
|
||||
|
||||
def action(self, request, datacenter_id):
|
||||
# FIX ME
|
||||
datacenter = api.windc.datacenter_get(request, datacenter_id)
|
||||
api.windc.datacenter_delete(request, datacenter)
|
||||
|
||||
|
||||
class EditService(tables.LinkAction):
|
||||
name = "edit"
|
||||
verbose_name = _("Edit Service")
|
||||
@ -78,6 +96,7 @@ class EditService(tables.LinkAction):
|
||||
def allowed(self, request, instance):
|
||||
return True
|
||||
|
||||
|
||||
class ShowDataCenterServices(tables.LinkAction):
|
||||
name = "edit"
|
||||
verbose_name = _("Services")
|
||||
@ -86,6 +105,7 @@ class ShowDataCenterServices(tables.LinkAction):
|
||||
def allowed(self, request, instance):
|
||||
return True
|
||||
|
||||
|
||||
class UpdateRow(tables.Row):
|
||||
ajax = True
|
||||
|
||||
@ -115,7 +135,7 @@ class WinDCTable(tables.DataTable):
|
||||
verbose_name = _("Windows Data Centers")
|
||||
row_class = UpdateRow
|
||||
table_actions = (CreateDataCenter,)
|
||||
row_actions = (ShowDataCenterServices,)
|
||||
row_actions = (ShowDataCenterServices,DeleteDataCenter)
|
||||
|
||||
|
||||
class WinServicesTable(tables.DataTable):
|
||||
|
@ -29,9 +29,6 @@ from horizon import forms
|
||||
from horizon import workflows
|
||||
|
||||
from openstack_dashboard import api
|
||||
from openstack_dashboard.api import cinder
|
||||
from openstack_dashboard.api import glance
|
||||
from openstack_dashboard.usage import quotas
|
||||
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
@ -61,13 +58,11 @@ class SelectProjectUserAction(workflows.Action):
|
||||
|
||||
class SelectProjectUser(workflows.Step):
|
||||
action_class = SelectProjectUserAction
|
||||
#contributes = ("project_id", "user_id")
|
||||
|
||||
|
||||
class ConfigureDCAction(workflows.Action):
|
||||
dc_name = forms.CharField(label=_("Data Center Name"),
|
||||
required=True,
|
||||
help_text=_("A name of new data center."))
|
||||
name = forms.CharField(label=_("Data Center Name"),
|
||||
required=True)
|
||||
|
||||
class Meta:
|
||||
name = _("Data Center")
|
||||
@ -76,6 +71,13 @@ class ConfigureDCAction(workflows.Action):
|
||||
|
||||
class ConfigureDC(workflows.Step):
|
||||
action_class = ConfigureDCAction
|
||||
contibutes = ("name",)
|
||||
|
||||
def contribute(self, data, context):
|
||||
if data:
|
||||
context['name'] = data.get("name", "")
|
||||
return context
|
||||
|
||||
|
||||
class ConfigureWinDCAction(workflows.Action):
|
||||
dc_name = forms.CharField(label=_("Domain Name"),
|
||||
@ -167,20 +169,24 @@ class CreateWinService(workflows.Workflow):
|
||||
class CreateWinDC(workflows.Workflow):
|
||||
slug = "create"
|
||||
name = _("Create Windows Data Center")
|
||||
finalize_button_name = _("Deploy")
|
||||
success_message = _('Deployed %(count)s named "%(name)s".')
|
||||
failure_message = _('Unable to deploy %(count)s named "%(name)s".')
|
||||
finalize_button_name = _("Create")
|
||||
success_message = _('Created data center "%(name)s".')
|
||||
failure_message = _('Unable to create data center "%(name)s".')
|
||||
success_url = "horizon:project:windc"
|
||||
default_steps = (SelectProjectUser,
|
||||
ConfigureDC)
|
||||
|
||||
## TO DO:
|
||||
## Need to rewrite the following code:
|
||||
|
||||
#def handle(self, request, context):
|
||||
# try:
|
||||
# api.windc.create(request,...)
|
||||
# return True
|
||||
# except:
|
||||
# exceptions.handle(request)
|
||||
# return False
|
||||
def handle(self, request, context):
|
||||
try:
|
||||
# FIX ME:
|
||||
context['type'] = 'datacenter'
|
||||
context['version'] = '1.0'
|
||||
context['ip'] = '1.1.1.1'
|
||||
context['port'] = '80'
|
||||
context['user'] = 'administrator'
|
||||
context['password'] = 'swordfish'
|
||||
datacenter = api.windc.datacenter_create(request, context)
|
||||
return True
|
||||
except:
|
||||
exceptions.handle(request)
|
||||
return False
|
||||
|
@ -96,6 +96,8 @@ class HTTPClient(httplib2.Http):
|
||||
body = None
|
||||
|
||||
if 400 <= resp.status < 600:
|
||||
# DELETE THIS STRING
|
||||
logger.exception(url)
|
||||
raise exceptions.from_response(resp, body)
|
||||
|
||||
return resp, body
|
||||
@ -110,6 +112,7 @@ class HTTPClient(httplib2.Http):
|
||||
resp, body = self._http_request(url, method, **kwargs)
|
||||
|
||||
if 400 <= resp.status < 600:
|
||||
logger.exception(url)
|
||||
raise exceptions.from_response(resp, body)
|
||||
|
||||
return resp, body
|
||||
|
@ -40,10 +40,11 @@ class DCManager(base.Manager):
|
||||
'user': user,
|
||||
'password': password}
|
||||
body.update(extra)
|
||||
return self._create('/devices', body, 'device')
|
||||
return self._create('/datacenters', body, 'datacenter')
|
||||
|
||||
def delete(self, datacenter):
|
||||
self._delete("/datacenters/%s" % base.getid(datacenter))
|
||||
return self._delete("/datacenters/%s" % base.getid(datacenter))
|
||||
|
||||
def get(self, datacenter):
|
||||
return self._get("/datacenters/%s" % base.getid(datacenter), 'datacenter')
|
||||
return self._get("/datacenters/%s" % base.getid(datacenter),
|
||||
'datacenter')
|
||||
|
@ -88,7 +88,8 @@ def datacenter_create(conf, values):
|
||||
def datacenter_update(conf, datacenter_id, values):
|
||||
session = get_session(conf)
|
||||
with session.begin():
|
||||
datacenter_ref = datacenter_get(conf, datacenter_id, session=session)
|
||||
datacenter_ref = session.query(models.DataCenter).\
|
||||
filter_by(id=datacenter_id).first()
|
||||
datacenter_ref.update(values)
|
||||
return datacenter_ref
|
||||
|
||||
@ -96,8 +97,10 @@ def datacenter_update(conf, datacenter_id, values):
|
||||
def datacenter_destroy(conf, datacenter_id):
|
||||
session = get_session(conf)
|
||||
with session.begin():
|
||||
datacenter_ref = device_get(conf, datacenter_id, session=session)
|
||||
datacenter_ref = session.query(models.DataCenter).\
|
||||
filter_by(id=datacenter_id).first()
|
||||
session.delete(datacenter_ref)
|
||||
return datacenter_ref
|
||||
|
||||
# Service
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user