Send a directory to the remote host.
        :param local_path: the local path of the directory
        :type local_path: str
        :param remote_path: the remote path of the directory
        :type remote_path: str
        :return: the file attributes
        :rtype: paramiko.sftp_attr.SFTPAttributes

def send_dir(self, local_path, remote_path):
        """Send a directory to the remote host.
        :param local_path: the local path of the directory
        :type local_path: str
        :param remote_path: the remote path of the directory
        :type remote_path: str
        :return: the file attributes
        :rtype: paramiko.sftp_attr.SFTPAttributes
        """
        directory, parent = os.path.split(local_path)
        os.chdir(directory)
        self._check_started()
        sftp = paramiko.SFTPClient.from_transport(self._transport)
        for walker in os.walk(parent):
            try:
                sftp.mkdir(os.path.join(remote_path, walker[0]))
            except Exception:
                LOG.info('directory %s exists' % walker[0])
            for file in walker[2]:
                sftp.put(os.path.join(walker[0], file),
                         os.path.join(remote_path, walker[0], file))