diff --git a/muranoapi/api/v1/active_directories.py b/muranoapi/api/v1/active_directories.py index 5c37cd82d..7381a9d24 100644 --- a/muranoapi/api/v1/active_directories.py +++ b/muranoapi/api/v1/active_directories.py @@ -16,6 +16,7 @@ from muranoapi import utils from muranoapi.db.services.systemservices import SystemServices from muranoapi.openstack.common import wsgi from muranoapi.openstack.common import log as logging +from webob.exc import HTTPNotFound log = logging.getLogger(__name__) @@ -52,8 +53,11 @@ class Controller(object): session_id = request.context.session delete = SystemServices.delete_service - delete(active_directory_id, 'activeDirectories', session_id, - environment_id) + try: + delete(active_directory_id, 'activeDirectories', session_id, + environment_id) + except ValueError: + raise HTTPNotFound() def create_resource(): diff --git a/muranoapi/api/v1/aspNetAppFarms.py b/muranoapi/api/v1/aspNetAppFarms.py index ece448b9f..9dea3f342 100644 --- a/muranoapi/api/v1/aspNetAppFarms.py +++ b/muranoapi/api/v1/aspNetAppFarms.py @@ -16,6 +16,7 @@ from muranoapi import utils from muranoapi.db.services.systemservices import SystemServices from muranoapi.openstack.common import wsgi from muranoapi.openstack.common import log as logging +from webob.exc import HTTPNotFound log = logging.getLogger(__name__) @@ -51,7 +52,10 @@ class Controller(object): session_id = request.context.session delete = SystemServices.delete_service - delete(app_farm_id, 'aspNetAppFarms', session_id, environment_id) + try: + delete(app_farm_id, 'aspNetAppFarms', session_id, environment_id) + except ValueError: + raise HTTPNotFound() def create_resource(): diff --git a/muranoapi/api/v1/aspNetApps.py b/muranoapi/api/v1/aspNetApps.py index dd1c1202d..0a3757a27 100644 --- a/muranoapi/api/v1/aspNetApps.py +++ b/muranoapi/api/v1/aspNetApps.py @@ -16,6 +16,7 @@ from muranoapi import utils from muranoapi.db.services.systemservices import SystemServices from muranoapi.openstack.common import wsgi from muranoapi.openstack.common import log as logging +from webob.exc import HTTPNotFound log = logging.getLogger(__name__) @@ -51,7 +52,10 @@ class Controller(object): session_id = request.context.session delete = SystemServices.delete_service - delete(app_id, 'aspNetApps', session_id, environment_id) + try: + delete(app_id, 'aspNetApps', session_id, environment_id) + except ValueError: + raise HTTPNotFound() def create_resource(): diff --git a/muranoapi/api/v1/webserverFarms.py b/muranoapi/api/v1/webserverFarms.py index d0c250f89..52e8e3737 100644 --- a/muranoapi/api/v1/webserverFarms.py +++ b/muranoapi/api/v1/webserverFarms.py @@ -16,6 +16,7 @@ from muranoapi import utils from muranoapi.db.services.systemservices import SystemServices from muranoapi.openstack.common import wsgi from muranoapi.openstack.common import log as logging +from webob.exc import HTTPNotFound log = logging.getLogger(__name__) @@ -51,8 +52,11 @@ class Controller(object): session_id = request.context.session delete = SystemServices.delete_service - delete(web_server_farm_id, 'webServerFarms', session_id, - environment_id) + try: + delete(web_server_farm_id, 'webServerFarms', session_id, + environment_id) + except ValueError: + raise HTTPNotFound() def create_resource(): diff --git a/muranoapi/api/v1/webservers.py b/muranoapi/api/v1/webservers.py index b0d98c249..96ca6b6b0 100644 --- a/muranoapi/api/v1/webservers.py +++ b/muranoapi/api/v1/webservers.py @@ -16,6 +16,7 @@ from muranoapi import utils from muranoapi.db.services.systemservices import SystemServices from muranoapi.openstack.common import wsgi from muranoapi.openstack.common import log as logging +from webob.exc import HTTPNotFound log = logging.getLogger(__name__) @@ -51,7 +52,10 @@ class Controller(object): session_id = request.context.session delete = SystemServices.delete_service - delete(web_server_id, 'webServers', session_id, environment_id) + try: + delete(web_server_id, 'webServers', session_id, environment_id) + except ValueError: + raise HTTPNotFound() def create_resource(): diff --git a/muranoapi/db/services/systemservices.py b/muranoapi/db/services/systemservices.py index f068b39f2..712f62534 100644 --- a/muranoapi/db/services/systemservices.py +++ b/muranoapi/db/services/systemservices.py @@ -289,12 +289,15 @@ class SystemServices(object): environment_id, session_id) if not 'services' in env_description: - raise ValueError('This environment does not have services') + raise NameError('This environment does not have services') services = [] if service_type in env_description['services']: services = env_description['services'][service_type] + if service_id not in [srv['id'] for srv in services]: + raise ValueError('Specified service does not exist') + services = [srv for srv in services if srv['id'] != service_id] env_description['services'][service_type] = services