예제 #1
0
    def __init__(self, user, pool, *args, **kwargs):

        self.rbd_user = user
        self.rbd_pool = pool

        for attr in ['rbd_user', 'rbd_pool']:
            val = getattr(self, attr)
            if val is not None:
                setattr(self, attr, utils.convert_str(val))

        # allow these to be overridden for testing
        self.rados = kwargs.get('rados', rados)
        self.rbd = kwargs.get('rbd', rbd)

        if self.rados is None:
            raise exception.InvalidParameterValue(
                err=_('rados module required'))
        if self.rbd is None:
            raise exception.InvalidParameterValue(err=_('rbd module required'))

        self.rbd_conf = kwargs.get('conffile', '/etc/ceph/ceph.conf')
        self.rbd_cluster_name = kwargs.get('rbd_cluster_name', 'ceph')
        self.rados_connect_timeout = kwargs.get('rados_connect_timeout', -1)

        self.client, self.ioctx = self.connect()
예제 #2
0
    def __init__(self, mount_type, root_helper, execute=None, *args, **kwargs):
        super(RemoteFsClient, self).__init__(root_helper,
                                             execute=execute,
                                             *args,
                                             **kwargs)  # type: ignore

        mount_type_to_option_prefix = {
            'nfs': 'nfs',
            'cifs': 'smbfs',
            'glusterfs': 'glusterfs',
            'vzstorage': 'vzstorage',
            'quobyte': 'quobyte',
            'scality': 'scality'
        }

        if mount_type not in mount_type_to_option_prefix:
            raise exception.ProtocolNotSupported(protocol=mount_type)

        self._mount_type = mount_type
        option_prefix = mount_type_to_option_prefix[mount_type]

        self._mount_base: str
        self._mount_base = kwargs.get(option_prefix +
                                      '_mount_point_base')  # type: ignore
        if not self._mount_base:
            raise exception.InvalidParameterValue(
                err=_('%s_mount_point_base required') % option_prefix)

        self._mount_options = kwargs.get(option_prefix + '_mount_options')

        if mount_type == "nfs":
            self._check_nfs_options()
예제 #3
0
    def __init__(self,
                 mount_type,
                 root_helper,
                 execute=putils.execute,
                 *args,
                 **kwargs):

        mount_type_to_option_prefix = {
            'nfs': 'nfs',
            'cifs': 'smbfs',
            'glusterfs': 'glusterfs',
            'vzstorage': 'vzstorage',
            'scality': 'scality_sofs'
        }

        if mount_type not in mount_type_to_option_prefix:
            raise exception.ProtocolNotSupported(protocol=mount_type)

        self._mount_type = mount_type
        option_prefix = mount_type_to_option_prefix[mount_type]

        self._mount_base = kwargs.get(option_prefix + '_mount_point_base')
        if not self._mount_base:
            raise exception.InvalidParameterValue(
                err=_('%s_mount_point_base required') % option_prefix)

        self._mount_options = kwargs.get(option_prefix + '_mount_options')

        if mount_type == "nfs":
            self._check_nfs_options()

        self.root_helper = root_helper
        self.set_execute(execute)
예제 #4
0
 def __init__(self, mount_type, root_helper,
              execute=None, *args, **kwargs):
     self._mount_type = mount_type
     self._mount_base = kwargs.get(
         'scality_mount_point_base', "").rstrip('/')
     if not self._mount_base:
         raise exception.InvalidParameterValue(
             err=_('scality_mount_point_base required'))
     self.root_helper = root_helper
     self.set_execute(execute or putils.execute)
     self._mount_options = None
예제 #5
0
파일: remotefs.py 프로젝트: deiter/os-brick
 def __init__(self, mount_type, root_helper,
              execute=None, *args, **kwargs):
     super(ScalityRemoteFsClient, self).__init__(mount_type, root_helper,
                                                 execute=execute,
                                                 *args, **kwargs)
     self._mount_type = mount_type
     self._mount_base = kwargs.get(
         'scality_mount_point_base', "").rstrip('/')
     if not self._mount_base:
         raise exception.InvalidParameterValue(
             err=_('scality_mount_point_base required'))
     self._mount_options = None
예제 #6
0
    def __init__(self, mount_type, root_helper,
                 execute=None, *args, **kwargs):
        # For backwards compatibility, `putils.execute` is interpreted
        # as a sentinel to mean "I want the os-brick default" :-/
        # This can be burnt as soon as we update all the callsites (in
        # nova+cinder) to the new default - and then we shall never
        # speak of it again.
        # TODO(gus): RemoteFsClient should probably inherit from Executor
        if execute is None or execute == putils.execute:
            execute = priv_rootwrap.execute

        mount_type_to_option_prefix = {
            'nfs': 'nfs',
            'cifs': 'smbfs',
            'glusterfs': 'glusterfs',
            'vzstorage': 'vzstorage',
            'quobyte': 'quobyte'
        }

        if mount_type not in mount_type_to_option_prefix:
            raise exception.ProtocolNotSupported(protocol=mount_type)

        self._mount_type = mount_type
        option_prefix = mount_type_to_option_prefix[mount_type]

        self._mount_base = kwargs.get(option_prefix + '_mount_point_base')
        if not self._mount_base:
            raise exception.InvalidParameterValue(
                err=_('%s_mount_point_base required') % option_prefix)

        self._mount_options = kwargs.get(option_prefix + '_mount_options')

        if mount_type == "nfs":
            self._check_nfs_options()

        self.root_helper = root_helper
        self.set_execute(execute)