Fixed small issues.
This commit is contained in:
		| @@ -22,11 +22,8 @@ import logging | |||||||
| import urlparse | import urlparse | ||||||
|  |  | ||||||
| from django.utils.decorators import available_attrs | from django.utils.decorators import available_attrs | ||||||
|  |  | ||||||
| from windcclient.v1 import client as windc_client | from windcclient.v1 import client as windc_client | ||||||
|  |  | ||||||
| #from horizon.api import base |  | ||||||
|  |  | ||||||
|  |  | ||||||
| __all__ = ('datacenter_get','datacenter_list', | __all__ = ('datacenter_get','datacenter_list', | ||||||
|            'datacenter_create','datacenter_delete') |            'datacenter_create','datacenter_delete') | ||||||
| @@ -42,23 +39,28 @@ def windcclient(request): | |||||||
|               % (request.user.token, url)) |               % (request.user.token, url)) | ||||||
|     return windc_client.Client(endpoint=url, token=None) |     return windc_client.Client(endpoint=url, token=None) | ||||||
|  |  | ||||||
| def datacenter_create(request, parameters): | def datacenters_create(request, parameters): | ||||||
|     name = parameters.get('name') |     name = parameters.get('name', '') | ||||||
|     _type = parameters.get('type') |     return windcclient(request).datacenters.create(name) | ||||||
|     version = parameters.get('version') |  | ||||||
|     ip = parameters.get('ip') |  | ||||||
|     port = parameters.get('port') |  | ||||||
|     user = parameters.get('user') |  | ||||||
|     password = parameters.get('password') |  | ||||||
|     return windcclient(request).datacenters.create(name, _type, |  | ||||||
|                                                    version, ip, |  | ||||||
|                                                    port, user, password) |  | ||||||
|  |  | ||||||
| def datacenter_delete(request, datacenter_id): | def datacenters_delete(request, datacenter_id): | ||||||
|     return windcclient(request).datacenters.delete(datacenter_id) |     return windcclient(request).datacenters.delete(datacenter_id) | ||||||
|  |  | ||||||
| def datacenter_get(request, datacenter_id): | def datacenters_get(request, datacenter_id): | ||||||
|     return windcclient(request).datacenters.get(datacenter_id) |     return windcclient(request).datacenters.get(datacenter_id) | ||||||
|  |  | ||||||
| def datacenter_list(request): | def datacenters_list(request): | ||||||
|     return windcclient(request).datacenters.list() |     return windcclient(request).datacenters.list() | ||||||
|  |  | ||||||
|  | def services_create(request, datacenter, parameters): | ||||||
|  |     name = parameters.get('name', '') | ||||||
|  |     return windcclient(request).services.create(datacenter, name) | ||||||
|  |  | ||||||
|  | def services_list(request, datacenter): | ||||||
|  |     return windcclient(request).services.list(datacenter) | ||||||
|  |  | ||||||
|  | def services_get(request, datacenter, service_id): | ||||||
|  |     return windcclient(request).services.get(datacenter, service_id) | ||||||
|  |  | ||||||
|  | def services_delete(request, datacenter, service_id): | ||||||
|  |     return windcclient(request).services.delete(datacenter, service_id) | ||||||
|   | |||||||
| @@ -51,9 +51,9 @@ class CreateService(tables.LinkAction): | |||||||
|     def allowed(self, request, datum): |     def allowed(self, request, datum): | ||||||
|         return True |         return True | ||||||
|  |  | ||||||
|     def action(self, request, obj_id): |     def action(self, request, service): | ||||||
|         # FIX ME |         # FIX ME | ||||||
|         api.windc.datacenter.create_service(request, obj_id) |         api.windc.services_create(request, service) | ||||||
|  |  | ||||||
|  |  | ||||||
| class CreateDataCenter(tables.LinkAction): | class CreateDataCenter(tables.LinkAction): | ||||||
| @@ -65,9 +65,8 @@ class CreateDataCenter(tables.LinkAction): | |||||||
|     def allowed(self, request, datum): |     def allowed(self, request, datum): | ||||||
|         return True |         return True | ||||||
|  |  | ||||||
|     def action(self, request, obj_id): |     def action(self, request, datacenter): | ||||||
|         # FIX ME |         api.windc.datacenters_create(request, datacenter) | ||||||
|         api.windc.datacenter.create(request, obj_id) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class DeleteDataCenter(tables.BatchAction): | class DeleteDataCenter(tables.BatchAction): | ||||||
| @@ -82,9 +81,8 @@ class DeleteDataCenter(tables.BatchAction): | |||||||
|         return True |         return True | ||||||
|  |  | ||||||
|     def action(self, request, datacenter_id): |     def action(self, request, datacenter_id): | ||||||
|         # FIX ME |         datacenter = api.windc.datacenters_get(request, datacenter_id) | ||||||
|         datacenter = api.windc.datacenter_get(request, datacenter_id) |         api.windc.datacenters_delete(request, datacenter) | ||||||
|         api.windc.datacenter_delete(request, datacenter) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class EditService(tables.LinkAction): | class EditService(tables.LinkAction): | ||||||
| @@ -117,15 +115,6 @@ class UpdateRow(tables.Row): | |||||||
|  |  | ||||||
|  |  | ||||||
| class WinDCTable(tables.DataTable): | class WinDCTable(tables.DataTable): | ||||||
|     TASK_STATUS_CHOICES = ( |  | ||||||
|         (None, True), |  | ||||||
|         ("none", True) |  | ||||||
|     ) |  | ||||||
|     STATUS_CHOICES = ( |  | ||||||
|         ("active", True), |  | ||||||
|         ("shutoff", True), |  | ||||||
|         ("error", False), |  | ||||||
|     ) |  | ||||||
|     name = tables.Column("name", |     name = tables.Column("name", | ||||||
|                          link=("horizon:project:windc:services"), |                          link=("horizon:project:windc:services"), | ||||||
|                          verbose_name=_("Name")) |                          verbose_name=_("Name")) | ||||||
| @@ -139,15 +128,6 @@ class WinDCTable(tables.DataTable): | |||||||
|  |  | ||||||
|  |  | ||||||
| class WinServicesTable(tables.DataTable): | class WinServicesTable(tables.DataTable): | ||||||
|     TASK_STATUS_CHOICES = ( |  | ||||||
|         (None, True), |  | ||||||
|         ("none", True) |  | ||||||
|     ) |  | ||||||
|     STATUS_CHOICES = ( |  | ||||||
|         ("active", True), |  | ||||||
|         ("shutoff", True), |  | ||||||
|         ("error", False), |  | ||||||
|     ) |  | ||||||
|     name = tables.Column("name", |     name = tables.Column("name", | ||||||
|                          link=("horizon:project:windc"), |                          link=("horizon:project:windc"), | ||||||
|                          verbose_name=_("Name")) |                          verbose_name=_("Name")) | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
| {% block title %}{% trans "Data Center Services" %}{% endblock %} | {% block title %}{% trans "Data Center Services" %}{% endblock %} | ||||||
|  |  | ||||||
| {% block page_header %} | {% block page_header %} | ||||||
|   {% include "horizon/common/_page_header.html" with title="Data Center "|add:domain_controller_name %} |   {% include "horizon/common/_page_header.html" with title="Data Center "|add:dc_name %} | ||||||
| {% endblock page_header %} | {% endblock page_header %} | ||||||
|  |  | ||||||
| {% block main %} | {% block main %} | ||||||
|   | |||||||
| @@ -36,7 +36,6 @@ from horizon import workflows | |||||||
|  |  | ||||||
| from openstack_dashboard import api | from openstack_dashboard import api | ||||||
| from .tables import WinDCTable, WinServicesTable | from .tables import WinDCTable, WinServicesTable | ||||||
| from .tabs import WinServicesTab |  | ||||||
| from .workflows import CreateWinService, CreateWinDC | from .workflows import CreateWinService, CreateWinDC | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -48,9 +47,9 @@ class IndexView(tables.DataTableView): | |||||||
|     template_name = 'project/windc/index.html' |     template_name = 'project/windc/index.html' | ||||||
|  |  | ||||||
|     def get_data(self): |     def get_data(self): | ||||||
|         # Gather our instances |         # Gather our datacenters | ||||||
|         try: |         try: | ||||||
|             data_centers = api.windc.datacenter_list(self.request) |             data_centers = api.windc.datacenters_list(self.request) | ||||||
|         except: |         except: | ||||||
|             data_centers = [] |             data_centers = [] | ||||||
|             exceptions.handle(self.request, |             exceptions.handle(self.request, | ||||||
| @@ -64,21 +63,22 @@ class WinServices(tables.DataTableView): | |||||||
|  |  | ||||||
|     def get_context_data(self, **kwargs): |     def get_context_data(self, **kwargs): | ||||||
|         context = super(WinServices, self).get_context_data(**kwargs) |         context = super(WinServices, self).get_context_data(**kwargs) | ||||||
|         context["domain_controller_name"] = self.get_data()[0].name |         data = self.get_data() | ||||||
|  |         context["dc_name"] = self.dc_name | ||||||
|         return context |         return context | ||||||
|  |  | ||||||
|     def get_data(self): |     def get_data(self): | ||||||
|         try: |         try: | ||||||
|             dc_id = self.kwargs['domain_controller_id'] |             dc_id = self.kwargs['domain_controller_id'] | ||||||
|             domain_controller = api.windc.datacenter_get(self.request, dc_id) |             datacenter = api.windc.datacenters_get(self.request, dc_id) | ||||||
|  |             self.dc_name = datacenter.name | ||||||
|  |             services = api.windc.services_list(self.request, datacenter) | ||||||
|         except: |         except: | ||||||
|             redirect = reverse('horizon:project:windc:index') |             services = [] | ||||||
|             exceptions.handle(self.request, |             exceptions.handle(self.request, | ||||||
|                               _('Unable to retrieve details for ' |                               _('Unable to retrieve list of services for ' | ||||||
|                               'domain_controller "%s".') % dc_id, |                               'data center "%s".') % dc_id) | ||||||
|                               redirect=redirect) |         return services | ||||||
|         self._domain_controller = [domain_controller,] |  | ||||||
|         return self._domain_controller |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class CreateWinDCView(workflows.WorkflowView): | class CreateWinDCView(workflows.WorkflowView): | ||||||
|   | |||||||
| @@ -143,23 +143,26 @@ class CreateWinService(workflows.Workflow): | |||||||
|     slug = "create" |     slug = "create" | ||||||
|     name = _("Create Service") |     name = _("Create Service") | ||||||
|     finalize_button_name = _("Deploy") |     finalize_button_name = _("Deploy") | ||||||
|     success_message = _('Deployed %(count)s named "%(name)s".') |     success_message = _('Created service "%s".') | ||||||
|     failure_message = _('Unable to deploy %(count)s named "%(name)s".') |     failure_message = _('Unable to create service "%s".') | ||||||
|     success_url = "horizon:project:windc:services" |     success_url = "horizon:project:windc:services" | ||||||
|     default_steps = (SelectProjectUser, |     default_steps = (SelectProjectUser, | ||||||
|                      ConfigureWinDC, |                      ConfigureWinDC, | ||||||
|                      ConfigureWinIIS) |                      ConfigureWinIIS) | ||||||
|  |  | ||||||
|     ## TO DO: |     def format_status_message(self, message): | ||||||
|     ## Need to rewrite the following code: |         name = self.context.get('name', 'noname') | ||||||
|  |         return message % name | ||||||
|  |  | ||||||
|  |     def handle(self, request, context): | ||||||
|  |         try: | ||||||
|  |             datacenter = context.get('domain_controller_name', '') | ||||||
|  |             service = api.windc.services_create(request, context) | ||||||
|  |             return True | ||||||
|  |         except: | ||||||
|  |             exceptions.handle(request) | ||||||
|  |             return False | ||||||
|  |  | ||||||
|     #def handle(self, request, context): |  | ||||||
|     #    try: |  | ||||||
|     #        api.windc.create(request,...) |  | ||||||
|     #        return True |  | ||||||
|     #    except: |  | ||||||
|     #        exceptions.handle(request) |  | ||||||
|     #        return False |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class CreateWinDC(workflows.Workflow): | class CreateWinDC(workflows.Workflow): | ||||||
| @@ -178,14 +181,7 @@ class CreateWinDC(workflows.Workflow): | |||||||
|  |  | ||||||
|     def handle(self, request, context): |     def handle(self, request, context): | ||||||
|         try: |         try: | ||||||
|             # FIX ME: |             datacenter = api.windc.datacenters_create(request, context) | ||||||
|             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 |             return True | ||||||
|         except: |         except: | ||||||
|             exceptions.handle(request) |             exceptions.handle(request) | ||||||
|   | |||||||
| @@ -17,6 +17,7 @@ | |||||||
|  |  | ||||||
| from windcclient.common import client | from windcclient.common import client | ||||||
| from . import datacenters | from . import datacenters | ||||||
|  | from . import dcservices | ||||||
|  |  | ||||||
|  |  | ||||||
| class Client(object): | class Client(object): | ||||||
| @@ -25,3 +26,4 @@ class Client(object): | |||||||
|     def __init__(self, **kwargs): |     def __init__(self, **kwargs): | ||||||
|         self.client = client.HTTPClient(**kwargs) |         self.client = client.HTTPClient(**kwargs) | ||||||
|         self.datacenters = datacenters.DCManager(self) |         self.datacenters = datacenters.DCManager(self) | ||||||
|  |         self.services = dcservices.DCServiceManager(self) | ||||||
|   | |||||||
| @@ -31,14 +31,8 @@ class DCManager(base.Manager): | |||||||
|     def list(self): |     def list(self): | ||||||
|         return self._list('/datacenters', 'datacenters') |         return self._list('/datacenters', 'datacenters') | ||||||
|  |  | ||||||
|     def create(self, name, type, version, ip, port, user, password, **extra): |     def create(self, name, **extra): | ||||||
|         body = {'name': name, |         body = {'name': name, 'services': {}} | ||||||
|                 'type': type, |  | ||||||
|                 'version': version, |  | ||||||
|                 'ip': ip, |  | ||||||
|                 'port': port, |  | ||||||
|                 'user': user, |  | ||||||
|                 'password': password} |  | ||||||
|         body.update(extra) |         body.update(extra) | ||||||
|         return self._create('/datacenters', body, 'datacenter') |         return self._create('/datacenters', body, 'datacenter') | ||||||
|  |  | ||||||
|   | |||||||
| @@ -26,24 +26,17 @@ from windc.db import api as db_api | |||||||
| LOG = logging.getLogger(__name__) | LOG = logging.getLogger(__name__) | ||||||
|  |  | ||||||
|  |  | ||||||
| class Controller(object): | class Datacenters_Controller(object): | ||||||
|     def __init__(self, conf): |     def __init__(self, conf): | ||||||
|         LOG.debug("Creating data centers controller with config:" |         LOG.debug("Creating data centers controller with config:" | ||||||
|                                                 "datacenters.py %s", conf) |                                                 "datacenters.py %s", conf) | ||||||
|         self.conf = conf |         self.conf = conf | ||||||
|  |  | ||||||
|     @utils.verify_tenant |  | ||||||
|     def findLBforVM(self, req, tenant_id, vm_id): |  | ||||||
|         LOG.debug("Got index request. Request: %s", req) |  | ||||||
|         result = core_api.lb_find_for_vm(self.conf, tenant_id, vm_id) |  | ||||||
|         return {'loadbalancers': result} |  | ||||||
|  |  | ||||||
|     @utils.verify_tenant |     @utils.verify_tenant | ||||||
|     def index(self, req, tenant_id): |     def index(self, req, tenant_id): | ||||||
|         LOG.debug("Got index request. Request: %s", req) |         LOG.debug("Got index request. Request: %s", req) | ||||||
|         result = core_api.dc_get_index(self.conf, tenant_id) |         result = core_api.dc_get_index(self.conf, tenant_id) | ||||||
|         LOG.debug("Got list of datacenters: %s", result) |         LOG.debug("Got list of datacenters: %s", result) | ||||||
|         result |  | ||||||
|         return {'datacenters': result} |         return {'datacenters': result} | ||||||
|  |  | ||||||
|     @utils.http_success_code(202) |     @utils.http_success_code(202) | ||||||
| @@ -80,4 +73,4 @@ def create_resource(conf): | |||||||
|     """Datacenters resource factory method""" |     """Datacenters resource factory method""" | ||||||
|     deserializer = wsgi.JSONRequestDeserializer() |     deserializer = wsgi.JSONRequestDeserializer() | ||||||
|     serializer = wsgi.JSONResponseSerializer() |     serializer = wsgi.JSONResponseSerializer() | ||||||
|     return wsgi.Resource(Controller(conf), deserializer, serializer) |     return wsgi.Resource(Datacenters_Controller(conf), deserializer, serializer) | ||||||
|   | |||||||
| @@ -20,10 +20,6 @@ import routes | |||||||
|  |  | ||||||
| from windc.api.v1 import datacenters | from windc.api.v1 import datacenters | ||||||
| from windc.api.v1 import services | from windc.api.v1 import services | ||||||
|  |  | ||||||
| #from . import tasks |  | ||||||
|  |  | ||||||
|  |  | ||||||
| from openstack.common import wsgi | from openstack.common import wsgi | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -32,7 +28,7 @@ LOG = logging.getLogger(__name__) | |||||||
|  |  | ||||||
| class API(wsgi.Router): | class API(wsgi.Router): | ||||||
|  |  | ||||||
|     """WSGI router for balancer v1 API requests.""" |     """WSGI router for windc v1 API requests.""" | ||||||
|  |  | ||||||
|     def __init__(self, conf, **local_conf): |     def __init__(self, conf, **local_conf): | ||||||
|         self.conf = conf |         self.conf = conf | ||||||
| @@ -41,16 +37,20 @@ class API(wsgi.Router): | |||||||
|         datacenter_resource = datacenters.create_resource(self.conf) |         datacenter_resource = datacenters.create_resource(self.conf) | ||||||
|         datacenter_collection = tenant_mapper.collection( |         datacenter_collection = tenant_mapper.collection( | ||||||
| 			"datacenters", "datacenter", | 			"datacenters", "datacenter", | ||||||
| 			controller=datacenter_resource, member_prefix="/{datacenter_id}", | 			controller=datacenter_resource, | ||||||
|  |                         member_prefix="/{datacenter_id}", | ||||||
| 			formatted=False) | 			formatted=False) | ||||||
|         service_resource = services.create_resource(self.conf) |         service_resource = services.create_resource(self.conf) | ||||||
|         service_collection = datacenter_collection.member.collection('services', 'service', |         service_collection = datacenter_collection.member.\ | ||||||
|             controller=service_resource, member_prefix="/{service_id}", |                              collection('services','service', | ||||||
|             formatted=False) |                                         controller=service_resource, | ||||||
|         service_collection.member.connect("/{status}", action="changeServiceStatus", |                                         member_prefix="/{service_id}", | ||||||
|             conditions={'method': ["PUT"]}) |                                         formatted=False) | ||||||
|  |         service_collection.member.connect("/{status}", | ||||||
|  |                                           action="changeServiceStatus", | ||||||
|  |                                           conditions={'method': ["PUT"]}) | ||||||
|         mapper.connect("/servicetypes", |         mapper.connect("/servicetypes", | ||||||
|             controller=datacenter_resource, |                        controller=datacenter_resource, | ||||||
|             action="show_servicetypes", |                        action="show_servicetypes", | ||||||
|             conditions={'method': ["GET"]}) |                        conditions={'method': ["GET"]}) | ||||||
|         super(API, self).__init__(mapper) |         super(API, self).__init__(mapper) | ||||||
|   | |||||||
| @@ -26,22 +26,17 @@ from windc.db import api as db_api | |||||||
| LOG = logging.getLogger(__name__) | LOG = logging.getLogger(__name__) | ||||||
|  |  | ||||||
|  |  | ||||||
| class Controller(object): | class Services_Controller(object): | ||||||
|     def __init__(self, conf): |     def __init__(self, conf): | ||||||
|         LOG.debug("Creating services controller with config:" |         LOG.debug("Creating services controller with config:" | ||||||
|                                                 "services.py %s", conf) |                                                 "services.py %s", conf) | ||||||
|         self.conf = conf |         self.conf = conf | ||||||
|  |  | ||||||
|     @utils.verify_tenant |  | ||||||
|     def findLBforVM(self, req, tenant_id, vm_id): |  | ||||||
|         LOG.debug("Got index request. Request: %s", req) |  | ||||||
|         result = core_api.lb_find_for_vm(self.conf, tenant_id, vm_id) |  | ||||||
|         return {'loadbalancers': result} |  | ||||||
|  |  | ||||||
|     @utils.verify_tenant |     @utils.verify_tenant | ||||||
|     def index(self, req, tenant_id, datacenter_id): |     def index(self, req, tenant_id, datacenter_id): | ||||||
|         LOG.debug("Got index request. Request: %s", req) |         LOG.debug("Got index request. Request: %s", req) | ||||||
|         result = core_api.service_get_index(self.conf, tenant_id, datacenter_id) |         result = core_api.service_get_index(self.conf, tenant_id, | ||||||
|  |                                             datacenter_id) | ||||||
|         return {'services': result} |         return {'services': result} | ||||||
|  |  | ||||||
|     @utils.http_success_code(202) |     @utils.http_success_code(202) | ||||||
| @@ -61,19 +56,22 @@ class Controller(object): | |||||||
|     @utils.verify_tenant |     @utils.verify_tenant | ||||||
|     def delete(self, req, tenant_id, datacenter_id, service_id): |     def delete(self, req, tenant_id, datacenter_id, service_id): | ||||||
|         LOG.debug("Got delete request. Request: %s", req) |         LOG.debug("Got delete request. Request: %s", req) | ||||||
|         core_api.delete_service(self.conf, tenant_id, datacenter_id, service_id) |         core_api.delete_service(self.conf, tenant_id, | ||||||
|  |                                 datacenter_id, service_id) | ||||||
|  |  | ||||||
|     @utils.verify_tenant |     @utils.verify_tenant | ||||||
|     def show(self, req, tenant_id, datacenter_id, service_id): |     def show(self, req, tenant_id, datacenter_id, service_id): | ||||||
|         LOG.debug("Got loadbalancerr info request. Request: %s", req) |         LOG.debug("Got loadbalancerr info request. Request: %s", req) | ||||||
|         result = core_api.service_get_data(self.conf, tenant_id, datacenter_id, service_id) |         result = core_api.service_get_data(self.conf, tenant_id, | ||||||
|  |                                            datacenter_id, service_id) | ||||||
|         return {'service': result} |         return {'service': result} | ||||||
|  |  | ||||||
|     @utils.http_success_code(202) |     @utils.http_success_code(202) | ||||||
|     @utils.verify_tenant |     @utils.verify_tenant | ||||||
|     def update(self, req, tenant_id, datacenter_id, service_id, body): |     def update(self, req, tenant_id, datacenter_id, service_id, body): | ||||||
|         LOG.debug("Got update request. Request: %s", req) |         LOG.debug("Got update request. Request: %s", req) | ||||||
|         core_api.update_service(self.conf, tenant_id, datacenter_id, service_id, body) |         core_api.update_service(self.conf, tenant_id, datacenter_id, | ||||||
|  |                                 service_id, body) | ||||||
|         return {'service': {'id': service_id}} |         return {'service': {'id': service_id}} | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -81,7 +79,4 @@ def create_resource(conf): | |||||||
|     """Services resource factory method""" |     """Services resource factory method""" | ||||||
|     deserializer = wsgi.JSONRequestDeserializer() |     deserializer = wsgi.JSONRequestDeserializer() | ||||||
|     serializer = wsgi.JSONResponseSerializer() |     serializer = wsgi.JSONResponseSerializer() | ||||||
|     return wsgi.Resource(Controller(conf), deserializer, serializer) |     return wsgi.Resource(Services_Controller(conf), deserializer, serializer) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -46,7 +46,7 @@ from windc.common import utils | |||||||
|  |  | ||||||
|  |  | ||||||
| bind_opts = [ | bind_opts = [ | ||||||
|     cfg.StrOpt('bind_host', default='0.0.0.0'), |     cfg.StrOpt('bind_host', default='localhost'), | ||||||
|     cfg.IntOpt('bind_port'), |     cfg.IntOpt('bind_port'), | ||||||
| ] | ] | ||||||
|  |  | ||||||
|   | |||||||
| @@ -51,19 +51,22 @@ def update_dc(conf, tenant_id, datacenter_id, body): | |||||||
| 	old_dc = copy.deepcopy(dc) | 	old_dc = copy.deepcopy(dc) | ||||||
| 	db_api.pack_update(dc, body) | 	db_api.pack_update(dc, body) | ||||||
| 	dc = db_api.datacenter_update(conf, datacenter_id, dc) | 	dc = db_api.datacenter_update(conf, datacenter_id, dc) | ||||||
| 	event = events.Event(events.SCOPE_DATACENTER_CHANGE, events.ACTION_MODIFY) | 	event = events.Event(events.SCOPE_DATACENTER_CHANGE, | ||||||
|  |                              events.ACTION_MODIFY) | ||||||
| 	event.previous_state = old_dc | 	event.previous_state = old_dc | ||||||
| 	events.change_event(conf, event, dc) | 	events.change_event(conf, event, dc) | ||||||
| 	pass | 	pass | ||||||
|  |  | ||||||
| def service_get_index(conf, tenant_id, datacenter_id): | def service_get_index(conf, tenant_id, datacenter_id): | ||||||
| 	srvcs = db_api.service_get_all_by_datacenter_id(conf, tenant_id, dtacenter_id) | 	srvcs = db_api.service_get_all_by_datacenter_id(conf, tenant_id, | ||||||
|  |                                                         datacenter_id) | ||||||
| 	srv_list = [db_api.unpack_extra(srv) for srv in srvcs] | 	srv_list = [db_api.unpack_extra(srv) for srv in srvcs] | ||||||
| 	return srv_list | 	return srv_list | ||||||
| 	pass | 	pass | ||||||
|  |  | ||||||
| def create_service(conf, params): | def create_service(conf, params): | ||||||
| 	# We need to pack all attributes which are not defined by the model explicitly | 	# We need to pack all attributes which are not defined | ||||||
|  | 	# by the model explicitly | ||||||
| 	srv_params = db_api.service_pack_extra(params) | 	srv_params = db_api.service_pack_extra(params) | ||||||
| 	srv = db_api.service_create(conf, srv_params) | 	srv = db_api.service_create(conf, srv_params) | ||||||
| 	event = events.Event(events.SCOPE_SERVICE_CHANGE, events.ACTION_ADD) | 	event = events.Event(events.SCOPE_SERVICE_CHANGE, events.ACTION_ADD) | ||||||
| @@ -80,7 +83,7 @@ def delete_service(conf, tenant_id, datacenter_id, service_id): | |||||||
| 	pass | 	pass | ||||||
|  |  | ||||||
| def service_get_data(conf, tenant_id, datacenter_id, service_id): | def service_get_data(conf, tenant_id, datacenter_id, service_id): | ||||||
| 	srv = db_api.service_get(conf,service_id, tenant_id) | 	srv = db_api.service_get(conf, service_id, tenant_id) | ||||||
| 	srv_data = db_api.unpack_extra(srv) | 	srv_data = db_api.unpack_extra(srv) | ||||||
| 	return srv_data | 	return srv_data | ||||||
| 	pass | 	pass | ||||||
|   | |||||||
| @@ -115,31 +115,10 @@ def service_get(conf, service_id, tenant_id=None, session=None): | |||||||
|         raise exception.ServiceNotFound(service_ref=service_ref) |         raise exception.ServiceNotFound(service_ref=service_ref) | ||||||
|     return service_ref |     return service_ref | ||||||
|  |  | ||||||
|  |  | ||||||
| def service_get_all_by_project(conf, tenant_id): |  | ||||||
|     session = get_session(conf) |  | ||||||
|     query = session.query(models.Service).filter_by(tenant_id=tenant_id) |  | ||||||
|     return query.all() |  | ||||||
|  |  | ||||||
|  |  | ||||||
| def service_get_all_by_vm_id(conf, tenant_id, vm_id): |  | ||||||
|     session = get_session(conf) |  | ||||||
|     query = session.query(models.Service).distinct().\ |  | ||||||
|                     filter_by(tenant_id=tenant_id).\ |  | ||||||
|                     filter(vm_id == vm_id) |  | ||||||
|     return query.all() |  | ||||||
|  |  | ||||||
|  |  | ||||||
| def service_get_all_by_datacenter_id(conf, tenant_id, datacenter_id): | def service_get_all_by_datacenter_id(conf, tenant_id, datacenter_id): | ||||||
|     session = get_session(conf) |     session = get_session(conf) | ||||||
|     query = session.query(models.Service).filter_by(datacenter_id=datacenter_id) |     query = session.query(models.Service).filter_by(datacenter_id=datacenter_id) | ||||||
|     service_refs = query.all() |     return query.all() | ||||||
|     if not service_refs: |  | ||||||
|         raise exception.ServiceNotFound('No service ' |  | ||||||
|                                              'for the datacenter %s found' |  | ||||||
|                                              % datacenter_id) |  | ||||||
|     return service_refs |  | ||||||
|  |  | ||||||
|  |  | ||||||
| def service_create(conf, values): | def service_create(conf, values): | ||||||
|     session = get_session(conf) |     session = get_session(conf) | ||||||
| @@ -149,7 +128,6 @@ def service_create(conf, values): | |||||||
|         session.add(service_ref) |         session.add(service_ref) | ||||||
|         return service_ref |         return service_ref | ||||||
|  |  | ||||||
|  |  | ||||||
| def service_update(conf, service_id, values): | def service_update(conf, service_id, values): | ||||||
|     session = get_session(conf) |     session = get_session(conf) | ||||||
|     with session.begin(): |     with session.begin(): | ||||||
| @@ -158,13 +136,23 @@ def service_update(conf, service_id, values): | |||||||
|         service_ref['updated_at'] = datetime.datetime.utcnow() |         service_ref['updated_at'] = datetime.datetime.utcnow() | ||||||
|         return service_ref |         return service_ref | ||||||
|  |  | ||||||
|  |  | ||||||
| def service_destroy(conf, service_id): | def service_destroy(conf, service_id): | ||||||
|     session = get_session(conf) |     session = get_session(conf) | ||||||
|     with session.begin(): |     with session.begin(): | ||||||
|         service_ref = service_get(conf, service_id, session=session) |         service_ref = service_get(conf, service_id, session=session) | ||||||
|         session.delete(service_ref) |         session.delete(service_ref) | ||||||
|  |  | ||||||
|  | def service_get_all_by_project(conf, tenant_id): | ||||||
|  |     session = get_session(conf) | ||||||
|  |     query = session.query(models.Service).filter_by(tenant_id=tenant_id) | ||||||
|  |     return query.all() | ||||||
|  |  | ||||||
|  | def service_get_all_by_vm_id(conf, tenant_id, vm_id): | ||||||
|  |     session = get_session(conf) | ||||||
|  |     query = session.query(models.Service).distinct().\ | ||||||
|  |                     filter_by(tenant_id=tenant_id).\ | ||||||
|  |                     filter(vm_id == vm_id) | ||||||
|  |     return query.all() | ||||||
|  |  | ||||||
| def service_count_active_by_datacenter(conf, datacenter_id): | def service_count_active_by_datacenter(conf, datacenter_id): | ||||||
|     session = get_session(conf) |     session = get_session(conf) | ||||||
| @@ -174,5 +162,3 @@ def service_count_active_by_datacenter(conf, datacenter_id): | |||||||
|                                   filter_by(status=service_status.ACTIVE).\ |                                   filter_by(status=service_status.ACTIVE).\ | ||||||
|                                   count() |                                   count() | ||||||
|         return service_count |         return service_count | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Timur Nurlygayanov
					Timur Nurlygayanov