Resolve issues with requestion list of services

Change-Id: I02c4ea4e184a58389c5f15e473f6eacbe3bd3796
This commit is contained in:
Serg Melikyan 2013-05-27 18:44:53 +04:00
parent 5de62b6033
commit ee939d94e0
4 changed files with 47 additions and 45 deletions

View File

@ -32,8 +32,6 @@ class Controller(object):
get = SystemServices.get_services
services = get(environment_id, 'activeDirectories', session_id)
services = [srv.to_dict() for srv in services]
return {'activeDirectories': services}
@utils.verify_session

View File

@ -13,9 +13,8 @@
# under the License.from oslo.config import cfg
from muranoapi import utils
from muranoapi.api.v1 import save_draft, get_draft, get_service_status
from muranoapi.common import uuidutils
from muranoapi.openstack.common import wsgi, timeutils
from muranoapi.db.services.systemservices import SystemServices
from muranoapi.openstack.common import wsgi
from muranoapi.openstack.common import log as logging
log = logging.getLogger(__name__)
@ -25,60 +24,34 @@ class Controller(object):
def index(self, request, environment_id):
log.debug(_('AspNetApps:List <EnvId: {0}>'.format(environment_id)))
draft = prepare_draft(get_draft(environment_id,
request.context.session))
session_id = None
if hasattr(request, 'context') and request.context.session:
session_id = request.context.session
for dc in draft['services']['aspNetApps']:
dc['status'] = get_service_status(environment_id,
request.context.session, dc)
get = SystemServices.get_services
return {'aspNetApps': draft['services']['aspNetApps']}
services = get(environment_id, 'aspNetApps', session_id)
return {'aspNetApps': services}
@utils.verify_session
def create(self, request, environment_id, body):
log.debug(_('AspNetApps:Create <EnvId: {0}, Body: {1}>'.
format(environment_id, body)))
draft = get_draft(session_id=request.context.session)
session_id = request.context.session
create = SystemServices.create_asp_application
aspNetApp = body.copy()
aspNetApp['id'] = uuidutils.generate_uuid()
aspNetApp['created'] = str(timeutils.utcnow())
aspNetApp['updated'] = str(timeutils.utcnow())
unit_count = 0
for unit in aspNetApp['units']:
unit_count += 1
unit['id'] = uuidutils.generate_uuid()
unit['name'] = aspNetApp['name'] + '_instance_' + str(unit_count)
draft = prepare_draft(draft)
draft['services']['aspNetApps'].append(aspNetApp)
save_draft(request.context.session, draft)
return aspNetApp
return create(body.copy(), session_id, environment_id)
@utils.verify_session
def delete(self, request, environment_id, app_id):
log.debug(_('AspNetApps:Delete <EnvId: {0}, Id: {1}>'.
format(environment_id, app_id)))
draft = get_draft(session_id=request.context.session)
session_id = request.context.session
delete = SystemServices.delete_service
elements = [service for service in draft['services']['aspNetApps'] if
service['id'] != app_id]
draft['services']['aspNetApps'] = elements
save_draft(request.context.session, draft)
def prepare_draft(draft):
if not 'services' in draft:
draft['services'] = {}
if not 'aspNetApps' in draft['services']:
draft['services']['aspNetApps'] = []
return draft
delete(app_id, 'aspNetApps', session_id, environment_id)
def create_resource():

View File

@ -31,8 +31,6 @@ class Controller(object):
get = SystemServices.get_services
services = get(environment_id, 'webServers', session_id)
services = [srv.to_dict() for srv in services]
return {'webServers': services}
@utils.verify_session

View File

@ -175,6 +175,39 @@ class SystemServices(object):
return web_server
@staticmethod
def create_asp_application(params, session_id, environment_id):
"""
Creates ASP.NET Application service and saves it in specified session
:param params: Params as Dict
:param session_id: Session
"""
env_description = EnvironmentServices.get_environment_description(
environment_id, session_id)
aspApp = params
aspApp['id'] = uuidutils.generate_uuid()
aspApp['created'] = str(timeutils.utcnow())
aspApp['updated'] = str(timeutils.utcnow())
unit_count = 0
for unit in aspApp['units']:
unit_count += 1
unit['id'] = uuidutils.generate_uuid()
unit['name'] = aspApp['name'] + '_instance_' + str(unit_count)
if not 'services' in env_description:
env_description['services'] = {}
if not 'webServers' in env_description['services']:
env_description['services']['aspNetApps'] = []
env_description['services']['aspNetApps'].append(aspApp)
EnvironmentServices.save_environment_description(session_id,
env_description)
return aspApp
@staticmethod
def delete_service(service_id, service_type, session_id, environment_id):
env_description = EnvironmentServices.get_environment_description(