diff --git a/nailgun/nailgun/api/v1/handlers/removed.py b/nailgun/nailgun/api/v1/handlers/removed.py index cae367d5fe..7604dd79ad 100644 --- a/nailgun/nailgun/api/v1/handlers/removed.py +++ b/nailgun/nailgun/api/v1/handlers/removed.py @@ -56,3 +56,29 @@ class RemovedIn51RedHatAccountHandler(RemovedIn51Handler): class RemovedIn51RedHatSetupHandler(RemovedIn51Handler): pass + + +class RemovedIn10Handler(BaseRemovedInHandler): + """Removed resource handler for Fuel 10""" + fuel_version = "10" + + @handle_errors + @validate + @serialize + def GET(self, cluster_id): + """A stub for the request. Always returns 410 with removed message. + + :http: 410 (Gone) + :raises: webapi.Gone Exception + :return: Removed in Fuel version message + """ + message = u"Removed in Fuel version {0}".format(self.fuel_version) + raise self.http(410, message) + + +class RemovedIn10VmwareAttributesDefaultsHandler(RemovedIn10Handler): + pass + + +class RemovedIn10VmwareAttributesHandler(RemovedIn10Handler): + pass diff --git a/nailgun/nailgun/api/v1/urls.py b/nailgun/nailgun/api/v1/urls.py index 9786cad717..ada5c9f6e0 100644 --- a/nailgun/nailgun/api/v1/urls.py +++ b/nailgun/nailgun/api/v1/urls.py @@ -46,6 +46,10 @@ from nailgun.api.v1.handlers.cluster import ClusterResetHandler from nailgun.api.v1.handlers.cluster import ClusterStopDeploymentHandler from nailgun.api.v1.handlers.component import ComponentCollectionHandler +from nailgun.api.v1.handlers.removed import \ + RemovedIn10VmwareAttributesDefaultsHandler +from nailgun.api.v1.handlers.removed import RemovedIn10VmwareAttributesHandler + from nailgun.api.v1.handlers.cluster_plugin_link \ import ClusterPluginLinkCollectionHandler from nailgun.api.v1.handlers.cluster_plugin_link \ @@ -268,6 +272,11 @@ urls = ( r'/clusters/(?P\d+)/unassignment/?$', NodeUnassignmentHandler, + r'/clusters/(?P\d+)/vmware_attributes/?$', + RemovedIn10VmwareAttributesHandler, + r'/clusters/(?P\d+)/vmware_attributes/defaults/?$', + RemovedIn10VmwareAttributesDefaultsHandler, + r'/clusters/(?P\d+)/plugin_links/?$', ClusterPluginLinkCollectionHandler, r'/clusters/(?P\d+)/plugin_links/(?P\d+)/?$', diff --git a/nailgun/nailgun/test/unit/test_handlers.py b/nailgun/nailgun/test/unit/test_handlers.py index 6c80f4b351..9e55b7b623 100644 --- a/nailgun/nailgun/test/unit/test_handlers.py +++ b/nailgun/nailgun/test/unit/test_handlers.py @@ -57,6 +57,18 @@ class TestHandlers(BaseIntegrationTest): ) self.assertIn(resp.status_code, [404, 405]) + def test_removed_urls(self): + urls = { + 'RemovedIn51RedHatAccountHandler': {'obj_id', 1}, + 'RemovedIn51RedHatSetupHandler': {'obj_id', 1}, + 'RemovedIn10VmwareAttributesDefaultsHandler': {'cluster_id': 1}, + 'RemovedIn10VmwareAttributesHandler': {'cluster_id': 1}, + } + for handler in urls: + test_url = reverse(handler, urls[handler]) + resp = self.app.get(test_url, expect_errors=True) + self.assertEqual(resp.status_code, 410) + def test_http_response(self): web.ctx.headers = []