diff --git a/doc/rapi.rst b/doc/rapi.rst index a9f413ca12e2528416adca33ba4d80377f335e90..5ea41ca1ff58d85be802b9382cc6865278d2fe67 100644 --- a/doc/rapi.rst +++ b/doc/rapi.rst @@ -242,6 +242,11 @@ Resources The root resource. Has no function, but for legacy reasons the ``GET`` method is supported. +``/2`` +++++++ + +Has no function, but for legacy reasons the ``GET`` method is supported. + ``/2/info`` +++++++++++ diff --git a/lib/rapi/connector.py b/lib/rapi/connector.py index 26a71af85a18fdc0b82ff9d0a93bfc3fadad763b..fad46e46e9bcca7f8b59e6906b49b7d302bf46a0 100644 --- a/lib/rapi/connector.py +++ b/lib/rapi/connector.py @@ -100,6 +100,7 @@ def GetHandlers(node_name_pattern, instance_name_pattern, # API. return { "/": rlib2.R_root, + "/2": rlib2.R_2, "/version": rlib2.R_version, diff --git a/lib/rapi/rlib2.py b/lib/rapi/rlib2.py index 80c695bf7ea0dd0035c4b21096288280139f7989..550af5a93e340de4d18d10204fc30d9645b016da 100644 --- a/lib/rapi/rlib2.py +++ b/lib/rapi/rlib2.py @@ -161,6 +161,12 @@ class R_root(baserlib.ResourceBase): return None +class R_2(R_root): + """/2 resource. + + """ + + class R_version(baserlib.ResourceBase): """/version resource. diff --git a/test/docs_unittest.py b/test/docs_unittest.py index e75092dd801a12e151f6ff0e059c502add9793e4..82e5a9d068f175fcb96a10a09b861200b31f2200 100755 --- a/test/docs_unittest.py +++ b/test/docs_unittest.py @@ -142,7 +142,7 @@ class TestDocs(unittest.TestCase): prevline = line - prefix_exception = frozenset(["/", "/version"]) + prefix_exception = frozenset(["/", "/version", "/2"]) undocumented = [] used_uris = [] diff --git a/test/ganeti.rapi.rlib2_unittest.py b/test/ganeti.rapi.rlib2_unittest.py index 16d4d35a7874cd76312cc5c58fedb0b7a76026fa..58127e4f8491f604f81868b755775df2d057584c 100755 --- a/test/ganeti.rapi.rlib2_unittest.py +++ b/test/ganeti.rapi.rlib2_unittest.py @@ -1645,9 +1645,10 @@ class TestSimpleResources(unittest.TestCase): handler = _CreateHandler(rlib2.R_2_features, [], {}, None, self.clfactory) self.assertEqual(set(handler.GET()), rlib2.ALL_FEATURES) - def testRoot(self): - handler = _CreateHandler(rlib2.R_root, [], {}, None, self.clfactory) - self.assertTrue(handler.GET() is None) + def testEmpty(self): + for cls in [rlib2.R_root, rlib2.R_2]: + handler = _CreateHandler(cls, [], {}, None, self.clfactory) + self.assertTrue(handler.GET() is None) def testVersion(self): handler = _CreateHandler(rlib2.R_version, [], {}, None, self.clfactory)