本文整理汇总了Python中networkapi.requisicaovips.models.RequisicaoVips.ip方法的典型用法代码示例。如果您正苦于以下问题:Python RequisicaoVips.ip方法的具体用法?Python RequisicaoVips.ip怎么用?Python RequisicaoVips.ip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类networkapi.requisicaovips.models.RequisicaoVips
的用法示例。
在下文中一共展示了RequisicaoVips.ip方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: insert_vip_request
# 需要导入模块: from networkapi.requisicaovips.models import RequisicaoVips [as 别名]
# 或者: from networkapi.requisicaovips.models.RequisicaoVips import ip [as 别名]
def insert_vip_request(vip_map, user):
'''Insere uma requisição de VIP.
@param vip_map: Mapa com os dados da requisição.
@param user: Usuário autenticado.
@return: Em caso de sucesso: tupla (0, <requisição de VIP>).
Em caso de erro: tupla (código da mensagem de erro, argumento01, argumento02, ...)
@raise IpNotFoundError: IP não cadastrado.
@raise IpError: Falha ao pesquisar o IP.
@raise HealthcheckExpectNotFoundError: HealthcheckExpect não cadastrado.
@raise HealthcheckExpectError: Falha ao pesquisar o HealthcheckExpect.
@raise InvalidFinalidadeValueError: Finalidade com valor inválido.
@raise InvalidClienteValueError: Cliente com valor inválido.
@raise InvalidAmbienteValueError: Ambiente com valor inválido.
@raise InvalidCacheValueError: Cache com valor inválido.
@raise InvalidMetodoBalValueError: Valor do método de balanceamento inválido.
@raise InvalidPersistenciaValueError: Persistencia com valor inválido.
@raise InvalidHealthcheckTypeValueError: Healthcheck_Type com valor inválido ou inconsistente em relação ao valor do healthcheck_expect.
@raise InvalidTimeoutValueError: Timeout com valor inválido.
@raise InvalidHostNameError: Host não cadastrado.
@raise EquipamentoError: Falha ao pesquisar o equipamento.
@raise InvalidMaxConValueError: Número máximo de conexões com valor inválido.
@raise InvalidBalAtivoValueError: Bal_Ativo com valor inválido.
@raise InvalidTransbordoValueError: Transbordo com valor inválido.
@raise InvalidServicePortValueError: Porta do Serviço com valor inválido.
@raise InvalidRealValueError: Valor inválido de um real.
@raise InvalidHealthcheckValueError: Valor do healthcheck inconsistente em relação ao valor do healthcheck_type.
@raise RequisicaoVipsError: Falha ao inserir a requisição de VIP.
@raise UserNotAuthorizedError:
'''
log = Log('insert_vip_request')
if not has_perm(user, AdminPermission.VIPS_REQUEST, AdminPermission.WRITE_OPERATION):
raise UserNotAuthorizedError(
None, u'Usuário não tem permissão para executar a operação.')
ip_id = vip_map.get('id_ip')
if not is_valid_int_greater_zero_param(ip_id):
log.error(u'The ip_id parameter is not a valid value: %s.', ip_id)
raise InvalidValueError(None, 'ip_id', ip_id)
else:
ip_id = int(ip_id)
vip = RequisicaoVips()
vip.ip = Ip()
vip.ip.id = ip_id
# Valid ports
vip_map, code = vip.valid_values_ports(vip_map)
if code is not None:
return code, vip
# get environmentVip dor validation dynamic heathcheck
finalidade = vip_map.get('finalidade')
cliente = vip_map.get('cliente')
ambiente = vip_map.get('ambiente')
if not is_valid_string_minsize(finalidade, 3) or not is_valid_string_maxsize(finalidade, 50):
log.error(u'Finality value is invalid: %s.', finalidade)
raise InvalidValueError(None, 'finalidade', finalidade)
if not is_valid_string_minsize(cliente, 3) or not is_valid_string_maxsize(cliente, 50):
log.error(u'Client value is invalid: %s.', cliente)
raise InvalidValueError(None, 'cliente', cliente)
if not is_valid_string_minsize(ambiente, 3) or not is_valid_string_maxsize(ambiente, 50):
log.error(u'Environment value is invalid: %s.', ambiente)
raise InvalidValueError(None, 'ambiente', ambiente)
try:
environment_vip = EnvironmentVip.get_by_values(
finalidade, cliente, ambiente)
except Exception, e:
raise EnvironmentVipNotFoundError(
e, 'The fields finality or client or ambiente is None')
示例2: handle_post
# 需要导入模块: from networkapi.requisicaovips.models import RequisicaoVips [as 别名]
# 或者: from networkapi.requisicaovips.models.RequisicaoVips import ip [as 别名]
def handle_post(self, request, user, *args, **kwargs):
"""Treat requests POST to insert request VIP.
URLs: /requestvip/
deprecated:: Use the new rest API
"""
self.log.info("Add request VIP")
try:
# Load XML data
xml_map, attrs_map = loads(
request.raw_post_data, ['real', 'reals_weight', 'reals_priority', 'porta'])
# XML data format
networkapi_map = xml_map.get('networkapi')
if networkapi_map is None:
return self.response_error(3, u'There is no value to the networkapi tag of XML request.')
vip_map = networkapi_map.get('vip')
if vip_map is None:
return self.response_error(3, u'There is no value to the vip tag of XML request.')
# User permission
if not has_perm(user, AdminPermission.VIPS_REQUEST, AdminPermission.WRITE_OPERATION):
self.log.error(
u'User does not have permission to perform the operation.')
raise UserNotAuthorizedError(None)
# Valid Ipv4 and Ipv6 ID
if (vip_map.get('id_ipv4') is None and vip_map.get('id_ipv6') is None):
self.log.error(
u'The id_ipv4 and id_ipv6 parameter is not a valid value: %s.', vip_map.get('id_ipv4'))
raise InvalidValueError(
None, 'id_ipv4 e id_vip6', vip_map.get('id_ipv4'))
if (vip_map.get('id_ipv4') != None):
if not is_valid_int_greater_zero_param(vip_map.get('id_ipv4')):
self.log.error(
u'The id_ipv4 parameter is not a valid value: %s.', vip_map.get('id_ipv4'))
raise InvalidValueError(
None, 'id_ipv4', vip_map.get('id_ipv4'))
if (vip_map.get('id_ipv6') != None):
if not is_valid_int_greater_zero_param(vip_map.get('id_ipv6')):
self.log.error(
u'The id_ipv6 parameter is not a valid value: %s.', vip_map.get('id_ipv6'))
raise InvalidValueError(
None, 'id_ipv6', vip_map.get('id_ipv6'))
# Valid maxcon
if not is_valid_int_greater_equal_zero_param(vip_map.get('maxcon')):
self.log.error(
u'The maxcon parameter is not a valid value: %s.', vip_map.get('maxcon'))
raise InvalidValueError(None, 'maxcon', vip_map.get('maxcon'))
vip = RequisicaoVips()
finalidade = vip_map.get('finalidade')
cliente = vip_map.get('cliente')
ambiente = vip_map.get('ambiente')
try:
evip = EnvironmentVip.get_by_values(
finalidade, cliente, ambiente)
except Exception, e:
raise EnvironmentVipNotFoundError(
e, 'The fields finality or client or ambiente is None')
# Valid real names and real ips of real server
if vip_map.get('reals') is not None:
for real in vip_map.get('reals').get('real'):
ip_aux_error = real.get('real_ip')
equip_aux_error = real.get('real_name')
if equip_aux_error is not None:
equip = Equipamento.get_by_name(equip_aux_error)
else:
self.log.error(
u'The real_name parameter is not a valid value: None.')
raise InvalidValueError(None, 'real_name', 'None')
# Valid Real
RequisicaoVips.valid_real_server(
ip_aux_error, equip, evip, False)
# Valid reals_prioritys
vip_map, code = vip.valid_values_reals_priority(vip_map)
if code is not None:
return self.response_error(code)
# Valid reals_weight
vip_map, code = vip.valid_values_reals_weight(vip_map)
if code is not None:
return self.response_error(code)
# Existing IPv4 ID
if vip_map.get('id_ipv4') is not None:
#.........这里部分代码省略.........
示例3: new_to_old
# 需要导入模块: from networkapi.requisicaovips.models import RequisicaoVips [as 别名]
# 或者: from networkapi.requisicaovips.models.RequisicaoVips import ip [as 别名]
def new_to_old(vp):
from networkapi.api_vip_request.models import VipRequestDSCP
from networkapi.requisicaovips.models import DsrL3_to_Vip, \
RequisicaoVips, VipPortToPool
try:
vip_map = dict()
vip = RequisicaoVips()
vip.id = vp.id
vip.ip = vp.ipv4 if vp.ipv4 else None
vip.ipv6 = vp.ipv6 if vp.ipv6 else None
vip_map['ip'] = vp.ipv4 if vp.ipv4 else None
vip_map['ipv6'] = vp.ipv6 if vp.ipv6 else None
vip_map['finalidade'] = vp.environmentvip.finalidade_txt
vip_map['cliente'] = vp.environmentvip.cliente_txt
vip_map['ambiente'] = vp.environmentvip.ambiente_p44_txt
for vp_optionvip in vp.viprequestoptionvip_set.all():
if vp_optionvip.optionvip.tipo_opcao == u'Persistencia':
vip_map['persistencia'] = vp_optionvip.optionvip.nome_opcao_txt
if vp_optionvip.optionvip.tipo_opcao == u'timeout':
vip_map['timeout'] = vp_optionvip.optionvip.nome_opcao_txt
if vp_optionvip.optionvip.tipo_opcao == u'cache':
vip_map['cache'] = vp_optionvip.optionvip.nome_opcao_txt
if vp_optionvip.optionvip.tipo_opcao == u'Retorno de trafego':
vip_map['trafficreturn'] = vp_optionvip.optionvip.id
vip.trafficreturn = vp_optionvip.optionvip
vip_map['host'] = vp.name
vip_map['areanegocio'] = vp.business
vip_map['nome_servico'] = vp.service
vip_map['vip_ports_to_pools'] = list()
ports = vp.viprequestport_set.all()
# delete old ports
pools_current = VipPortToPool.get_by_vip_id(vip.id)
pools_ids = [pool.id for pool in pools_current]
ports_ids = [pt.id for pt in ports]
ids_to_del = list(set(pools_ids) - set(ports_ids))
pools_current.filter(id__in=ids_to_del).delete()
vip.vip_criado = vp.created
vip.validado = True
vip.save()
for port in ports:
pools = port.viprequestportpool_set.all()
for pool in pools:
if pool.optionvip.nome_opcao_txt in (u'default_vip'):
vip_port = {
'id': port.id,
'requisicao_vip': vip,
'server_pool': pool.server_pool,
'port_vip': port.port,
'identifier': port.identifier,
}
vip_map['vip_ports_to_pools'].append(vip_port)
vip_port_obj = VipPortToPool(**vip_port)
vip_port_obj.save()
if int(vip_map['trafficreturn']) == 48:
dsrl3 = VipRequestDSCP.objects.get(vip_request=vp)
try:
vp_dsrl3 = DsrL3_to_Vip.get_by_vip_id(vip.id)
except:
vp_dsrl3 = DsrL3_to_Vip()
vp_dsrl3.requisicao_vip_id = vip.id
vp_dsrl3.id_dsrl3 = dsrl3.dscp
vp_dsrl3.save()
else:
try:
vp_dsrl3 = DsrL3_to_Vip.get_by_vip_id(vip.id)
vp_dsrl3.delete()
except:
pass
vip.set_new_variables(vip_map)
vip.save()
except Exception, e:
log.error(e)
raise e