<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def node_get(self, arch=None, ver=None, flavor=None, count=1, retry_count=1, retry_interval=10):
 """ Requests specified number of nodes with the provided parameters. :param arch: Server architecture (ex: x86_64) :param ver: CentOS version (ex: 7) :param count: Number of servers (ex: 2) :parma flavor: The flavor of machine to use (multi-arch only) :param retry_count: Number of times to retry in case of failure (ex: 5) :param retry_interval: Wait in seconds between each retry (ex: 30) :return: [ [ requested_hosts ], ssid ] """

        if self.api_key is None:
            raise exceptions.ApiKeyRequired

        args = "key=%s" % self.api_key
        if arch is not None:
            args += "&arch=%s" % arch
        if ver is not None:
            args += "&ver=%s" % ver
        if flavor is not None:
            args += "&flavor=%s" % flavor
        args += "&count=%s" % count

        resp, body = self.get('Node/get?%s' % args)
        if not body:
            for _ in range(retry_count):
                time.sleep(retry_interval)
                resp, body = self.get('Node/get?%s' % args)
                if body:
                    break

        if not body:
            raise exceptions.NoInventory

        # Get the hosts that were requested.
        # Note: We have to iterate over full inventory instead of just the
        # hosts we got back from the response because the reply contains the
        # fqdn of the host while the full inventory only contains a short name.
        requested_hosts = dict()
        for host in self.full_inventory:
            for full_host in body['hosts']:
                if host in full_host:
                    requested_hosts[host] = self.full_inventory[host]

        return requested_hosts, body['ssid']