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