Beispiel #1
0
 def GET(self, node_id):
     """:returns: JSONized node disks.
     :http: * 200 (OK)
            * 404 (node not found in db)
     """
     node = self.get_object_or_404(objects.Node, node_id)
     node_volumes = node.attributes.volumes
     return DisksFormatConvertor.format_disks_to_simple(node_volumes)
Beispiel #2
0
    def GET(self, node_id):
        """:returns: JSONized node disks.
        :http: * 200 (OK)
               * 404 (node or its attributes not found in db)
        """
        node = self.get_object_or_404(objects.Node, node_id)
        if not node.attributes:
            raise self.http(404)

        volumes = DisksFormatConvertor.format_disks_to_simple(
            node.volume_manager.gen_volumes_info())

        return volumes
Beispiel #3
0
    def PUT(self, node_id):
        """:returns: JSONized node disks.
        :http: * 200 (OK)
               * 400 (invalid disks data specified)
               * 404 (node not found in db)
        """
        node = self.get_object_or_404(objects.Node, node_id)
        data = self.checked_data(self.validator.validate, node=node)

        if node.cluster:
            objects.Cluster.add_pending_changes(node.cluster,
                                                'disks',
                                                node_id=node.id)

        volumes_data = DisksFormatConvertor.format_disks_to_full(node, data)
        objects.Node.set_volumes(node, volumes_data)

        return DisksFormatConvertor.format_disks_to_simple(
            node.attributes.volumes)