def prepare_lun_parameters(**kwargs): sp = kwargs.get('sp') if isinstance(sp, UnityStorageProcessor): sp_node = sp.to_node_enum() elif isinstance(sp, NodeEnum): sp_node = sp else: sp_node = NodeEnum.parse(sp) NodeEnum.verify(sp_node) TieringPolicyEnum.verify(kwargs.get('tiering_policy')) lun_parameters = UnityClient.make_body( isThinEnabled=kwargs.get('is_thin'), isCompressionEnabled=kwargs.get('is_compression'), size=kwargs.get('size'), pool=kwargs.get('pool'), defaultNode=sp_node, fastVPParameters=UnityClient.make_body( tieringPolicy=kwargs.get('tiering_policy')), ioLimitParameters=UnityClient.make_body( ioLimitPolicy=kwargs.get('io_limit_policy'))) # Empty host access can be used to wipe the host_access host_access = UnityClient.make_body(kwargs.get('host_access'), allow_empty=True) if host_access is not None: lun_parameters['hostAccess'] = host_access return lun_parameters
def _compose_lun_parameter(cli, **kwargs): sp = kwargs.get('sp') if isinstance(sp, UnityStorageProcessor): sp_node = sp.to_node_enum() else: sp_node = None TieringPolicyEnum.verify(kwargs.get('tiering_policy')) NodeEnum.verify(sp_node) # TODO:iolimit_policy and snap_schedule req_body = cli.make_body( name=kwargs.get('name'), description=kwargs.get('description'), replicationParameters=cli.make_body( isReplicationDestination=kwargs.get('is_repl_dst')), lunParameters=cli.make_body( isThinEnabled=kwargs.get('is_thin'), size=kwargs.get('size'), pool=kwargs.get('pool'), defaultNode=sp_node, fastVPParameters=cli.make_body( tieringPolicy=kwargs.get('tiering_policy')), )) # Empty host access can be used to wipe the host_access if 'lunParameters' not in req_body: req_body['lunParameters'] = {} req_body['lunParameters']['hostAccess'] = cli.make_body( kwargs.get('host_access'), allow_empty=True) return req_body
def _compose_lun_parameter(cli, **kwargs): sp = kwargs.get('sp') if isinstance(sp, UnityStorageProcessor): sp_node = sp.to_node_enum() else: sp_node = None TieringPolicyEnum.verify(kwargs.get('tiering_policy')) NodeEnum.verify(sp_node) # TODO:iolimit_policy and snap_schedule req_body = cli.make_body( name=kwargs.get('name'), description=kwargs.get('description'), replicationParameters=cli.make_body( isReplicationDestination=kwargs.get('is_repl_dst') ), lunParameters=cli.make_body( isThinEnabled=kwargs.get('is_thin'), size=kwargs.get('size'), pool=kwargs.get('pool'), defaultNode=sp_node, fastVPParameters=cli.make_body( tieringPolicy=kwargs.get('tiering_policy')), ) ) # Empty host access can be used to wipe the host_access if 'lunParameters' not in req_body: req_body['lunParameters'] = {} req_body['lunParameters']['hostAccess'] = cli.make_body( kwargs.get('host_access'), allow_empty=True) return req_body
def to_node_enum(self): if self.name in ['SP A']: value = 0 elif self.name in ['SP B']: value = 1 else: # NodeEnum.Unknown value = 2989 return NodeEnum.parse(value)
def prepare_lun_parameters(cli=None, **kwargs): @version('<4.3') def make_compression_body(cli=None, is_compression=None): return UnityClient.make_body(isCompressionEnabled=is_compression) @version('>=4.3') # noqa def make_compression_body(cli=None, is_compression=None): return UnityClient.make_body(isDataReductionEnabled=is_compression) sp = kwargs.get('sp') if isinstance(sp, UnityStorageProcessor): sp_node = sp.to_node_enum() elif isinstance(sp, NodeEnum): sp_node = sp else: sp_node = NodeEnum.parse(sp) NodeEnum.verify(sp_node) TieringPolicyEnum.verify(kwargs.get('tiering_policy')) lun_parameters = UnityClient.make_body( isThinEnabled=kwargs.get('is_thin'), size=kwargs.get('size'), pool=kwargs.get('pool'), defaultNode=sp_node, fastVPParameters=UnityClient.make_body( tieringPolicy=kwargs.get('tiering_policy')), ioLimitParameters=UnityClient.make_body( ioLimitPolicy=kwargs.get('io_limit_policy')), isAdvancedDedupEnabled=kwargs.get('is_advanced_dedup_enabled')) compression_body = make_compression_body(cli, kwargs.get('is_compression')) lun_parameters.update(compression_body) # Empty host access can be used to wipe the host_access host_access = UnityClient.make_body(kwargs.get('host_access'), allow_empty=True) if host_access is not None: lun_parameters['hostAccess'] = host_access return lun_parameters