本文整理汇总了Python中networkapi.requisicaovips.models.RequisicaoVips.set_new_variables方法的典型用法代码示例。如果您正苦于以下问题:Python RequisicaoVips.set_new_variables方法的具体用法?Python RequisicaoVips.set_new_variables怎么用?Python RequisicaoVips.set_new_variables使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类networkapi.requisicaovips.models.RequisicaoVips
的用法示例。
在下文中一共展示了RequisicaoVips.set_new_variables方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: new_to_old
# 需要导入模块: from networkapi.requisicaovips.models import RequisicaoVips [as 别名]
# 或者: from networkapi.requisicaovips.models.RequisicaoVips import set_new_variables [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