コード例 #1
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(Node, node_id)
        data = self.checked_data()

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

        volumes_data = DisksFormatConvertor.format_disks_to_full(node, data)
        # For some reasons if we update node attributes like
        #   node.attributes.volumes = volumes_data
        # after
        #   db().commit()
        # it resets to previous state
        db().query(NodeAttributes).filter_by(node_id=node_id).update(
            {'volumes': volumes_data})
        db().flush()
        db().refresh(node)

        return DisksFormatConvertor.format_disks_to_simple(
            node.attributes.volumes)
コード例 #2
0
ファイル: disks.py プロジェクト: mydaisy2/fuelweb
    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(Node, node_id)
        data = self.checked_data()

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

        volumes_data = DisksFormatConvertor.format_disks_to_full(node, data)
        # For some reasons if we update node attributes like
        #   node.attributes.volumes = volumes_data
        # after
        #   db().commit()
        # it resets to previous state
        db().query(NodeAttributes).filter_by(node_id=node_id).update(
            {'volumes': volumes_data})
        db().commit()

        return DisksFormatConvertor.format_disks_to_simple(
            node.attributes.volumes)
コード例 #3
0
ファイル: disks.py プロジェクト: TorstenS73/fuel-web
 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)
コード例 #4
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)
コード例 #5
0
ファイル: disks.py プロジェクト: mahak/fuelweb
    def GET(self, node_id):
        node = self.get_object_or_404(Node, node_id)
        if not node.attributes:
            return web.notfound()

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

        return volumes
コード例 #6
0
ファイル: disks.py プロジェクト: ustbgaofan/fuel-web
    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(Node, node_id)
        if not node.attributes:
            return web.notfound()

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

        return volumes
コード例 #7
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
コード例 #8
0
ファイル: disks.py プロジェクト: mahak/fuelweb
    def PUT(self, node_id):
        node = self.get_object_or_404(Node, node_id)
        data = self.checked_data()

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

        volumes_data = DisksFormatConvertor.format_disks_to_full(node, data)
        # For some reasons if we update node attributes like
        #   node.attributes.volumes = volumes_data
        # after
        #   db().commit()
        # it resets to previous state
        db().query(NodeAttributes).filter_by(node_id=node_id).update(
            {'volumes': volumes_data})
        db().commit()

        return DisksFormatConvertor.format_disks_to_simple(
            node.attributes.volumes)
コード例 #9
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)
コード例 #10
0
ファイル: disks.py プロジェクト: TorstenS73/fuel-web
    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)
コード例 #11
0
ファイル: disks.py プロジェクト: mahak/fuelweb
 def GET(self, node_id):
     node = self.get_object_or_404(Node, node_id)
     node_volumes = node.attributes.volumes
     return DisksFormatConvertor.format_disks_to_simple(node_volumes)