class R_2_info(baserlib.R_Generic):
- """Cluster info.
+ """/2/info resource.
"""
@staticmethod
class R_2_nodes_name(baserlib.R_Generic):
- """/2/nodes/[node_name] resources.
+ """/2/nodes/[node_name] resource.
"""
def GET(self):
class R_2_nodes_name_storage(baserlib.R_Generic):
- """/2/nodes/[node_name]/storage ressource.
+ """/2/nodes/[node_name]/storage resource.
"""
# LUQueryNodeStorage acquires locks, hence restricting access to GET
class R_2_nodes_name_storage_modify(baserlib.R_Generic):
- """/2/nodes/[node_name]/storage/modify ressource.
+ """/2/nodes/[node_name]/storage/modify resource.
"""
def PUT(self):
class R_2_nodes_name_storage_repair(baserlib.R_Generic):
- """/2/nodes/[node_name]/storage/repair ressource.
+ """/2/nodes/[node_name]/storage/repair resource.
"""
def PUT(self):
class R_2_groups_name(baserlib.R_Generic):
- """/2/groups/[group_name] resources.
+ """/2/groups/[group_name] resource.
"""
def GET(self):
class R_2_groups_name_rename(baserlib.R_Generic):
- """/2/groups/[groupe_name]/rename resource.
+ """/2/groups/[group_name]/rename resource.
"""
def PUT(self):
class R_2_groups_name_assign_nodes(baserlib.R_Generic):
- """/2/groups/[groupe_name]/assign-nodes resource.
+ """/2/groups/[group_name]/assign-nodes resource.
"""
def PUT(self):
class R_2_instances_name(baserlib.R_Generic):
- """/2/instances/[instance_name] resources.
+ """/2/instances/[instance_name] resource.
"""
def GET(self):
class R_2_instances_name_disk_grow(baserlib.R_Generic):
- """/2/instances/[instance_name]/disk/[index]/grow resource.
+ """/2/instances/[instance_name]/disk/[disk_index]/grow resource.
"""
def POST(self):
class R_2_tags(_R_Tags):
- """ /2/instances/tags resource.
+ """ /2/tags resource.
Manages cluster tags.
msg=("Missing documentation for hook %s/%s" %
(lucls.HTYPE, lucls.HPATH)))
- def _CheckRapiResource(self, uri, fixup):
+ def _CheckRapiResource(self, uri, fixup, handler):
+ docline = "%s resource." % uri
+ self.assertEqual(handler.__doc__.splitlines()[0].strip(), docline,
+ msg=("First line of %r's docstring is not %r" %
+ (handler, docline)))
+
# Apply fixes before testing
for (rx, value) in fixup.items():
uri = rx.sub(value, uri)
if title.startswith("``") and title.endswith("``"):
uri = title[2:-2]
if key.match(uri):
- self._CheckRapiResource(uri, uri_check_fixup)
+ self._CheckRapiResource(uri, uri_check_fixup, handler)
found = True
break
msg="Path %r does not start with '/2/'" % key)
if ("``%s``" % key) in titles:
- self._CheckRapiResource(key, {})
+ self._CheckRapiResource(key, {}, handler)
else:
undocumented.append(key)