Ejemplo n.º 1
0
    def get_instances(self, urns):
        # parse slice names and sliver ids
        names = set()
        ids = set()
        for urn in urns:
            xrn = OSXrn(xrn=urn)
            if xrn.type == 'slice':
                names.add(xrn.get_slice_name())
            elif xrn.type == 'sliver':
                ids.add(xrn.leaf)

        # look up instances
        instances = []
        filter = {}
        if names:
            filter['name'] = names
        if ids:
            filter['id'] = ids   
        servers = self.driver.shell.nova_manager.servers.findall(**filter)
        instances.extend(servers)

        return instances