Beispiel #1
0
    def convert_with_links(self, rack, links):

        kwargs = rack.as_dict()  # returns a new dict, overwriting keys is safe

        if rack.chassis_id:
            kwargs['chassis'] = Chassis(id=rack.chassis_id,
                                        links=[Link.build_ironic_link(
                                            'chassis', rack.chassis_id)])
        else:
            kwargs['chassis'] = Chassis()

        if rack.resource_class_id:
            l = [Link.build('self', pecan.request.host_url, 'resource_classes',
                            rack.resource_class_id)]
            kwargs['resource_class'] = Relation(id=rack.resource_class_id,
                                                links=l)

        kwargs['capacities'] = [Capacity(name=c.name, value=c.value,
                                               unit=c.unit)
                                               for c in rack.capacities]

        kwargs['nodes'] = [Node(id=n.node_id,
                                links=[
                                    Link.build_ironic_link('node', n.node_id)
                                ])
                           for n in rack.nodes]

        return Rack(links=links, **kwargs)
Beispiel #2
0
    def convert_with_links(self, rack, links):

        kwargs = rack.as_dict()  # returns a new dict, overwriting keys is safe

        if rack.chassis_id:
            kwargs['chassis'] = Chassis(
                id=rack.chassis_id,
                links=[Link.build_ironic_link('chassis', rack.chassis_id)])
        else:
            kwargs['chassis'] = Chassis()

        if rack.resource_class_id:
            l = [
                Link.build('self', pecan.request.host_url, 'resource_classes',
                           rack.resource_class_id)
            ]
            kwargs['resource_class'] = Relation(id=rack.resource_class_id,
                                                links=l)

        kwargs['capacities'] = [
            Capacity(name=c.name, value=c.value, unit=c.unit)
            for c in rack.capacities
        ]

        kwargs['nodes'] = [
            Node(id=n.node_id,
                 links=[Link.build_ironic_link('node', n.node_id)])
            for n in rack.nodes
        ]

        return Rack(links=links, **kwargs)