def extend_filesystem(self, fs, new_size_gb): size = utils.gib_to_byte(new_size_gb) try: fs.extend(size, user_cap=True) except storops_ex.UnityNothingToModifyError: LOG.debug('The size of the file system %(id)s is %(size)s ' 'bytes.', {'id': fs.get_id(), 'size': size}) return size
def create_nfs_filesystem_and_share(self, pool, nas_server, share_name, size_gb): """Create filesystem and share from pool/NAS server. :param pool: pool for file system creation :param nas_server: nas server for file system creation :param share_name: file system and share name :param size_gb: file system size """ size = utils.gib_to_byte(size_gb) pool.create_nfs_share( nas_server, share_name, size, user_cap=True)
def create_filesystem(self, pool, nas_server, share_name, size_gb, proto): try: size = utils.gib_to_byte(size_gb) return pool.create_filesystem(nas_server, share_name, size, proto=proto, user_cap=True) except storops_ex.UnityFileSystemNameAlreadyExisted: LOG.debug('Filesystem %s already exists, ' 'ignoring filesystem creation.', share_name) return self.system.get_filesystem(name=share_name)
def shrink_filesystem(self, share_id, fs, new_size_gb): size = utils.gib_to_byte(new_size_gb) try: fs.shrink(size, user_cap=True) except storops_ex.UnityNothingToModifyError: LOG.debug('The size of the file system %(id)s is %(size)s ' 'bytes.', {'id': fs.get_id(), 'size': size}) except storops_ex.UnityShareShrinkSizeTooSmallError: LOG.error('The used size of the file system %(id)s is ' 'bigger than input shrink size,' 'it may cause date loss.', {'id': fs.get_id()}) raise exception.ShareShrinkingPossibleDataLoss(share_id=share_id) return size
def create_filesystem(self, pool, nas_server, share_name, size_gb, proto): try: size = utils.gib_to_byte(size_gb) return pool.create_filesystem(nas_server, share_name, size, proto=proto, user_cap=True) except storops_ex.UnityFileSystemNameAlreadyExisted: LOG.debug( 'Filesystem %s already exists, ' 'ignoring filesystem creation.', share_name) return self.system.get_filesystem(name=share_name)
def shrink_filesystem(self, share_id, fs, new_size_gb): size = utils.gib_to_byte(new_size_gb) try: fs.shrink(size, user_cap=True) except storops_ex.UnityNothingToModifyError: LOG.debug( 'The size of the file system %(id)s is %(size)s ' 'bytes.', { 'id': fs.get_id(), 'size': size }) except storops_ex.UnityShareShrinkSizeTooSmallError: LOG.error( 'The used size of the file system %(id)s is ' 'bigger than input shrink size,' 'it may cause date loss.', {'id': fs.get_id()}) raise exception.ShareShrinkingPossibleDataLoss(share_id=share_id) return size
def test_gb_to_byte(self): self.assertEqual(3 * units.Gi, utils.gib_to_byte(3))