def delete_rack(rack_id): rack_obj = Rack() rack = rack_obj.get_rack(idt=rack_id) error_vlans = list() error_envs = list() envs_ids = models_env.Ambiente.objects.filter( dcroom=rack.dcroom.id, grupo_l3__nome=str(rack.nome)).values_list('id', flat=True) log.debug("rack envs. Qtd: %s - Envs: %s" % (str(len(envs_ids)), str(envs_ids))) vlans_ids = models_vlan.Vlan.objects.filter( nome__icontains=rack.nome).values_list('id', flat=True) log.debug("rack vlan. Qtd: %s - VLans: %s" % (str(len(vlans_ids)), str(vlans_ids))) for idt in vlans_ids: try: facade_vlan_v3.delete_vlan(idt) except (models_vlan.VlanError, models_vlan.VlanErrorV3, ValidationAPIException, ObjectDoesNotExistException, Exception, NetworkAPIException), e: error_vlans.append({'vlan_id': idt, 'error': e})
def update_rack(rack_id, rack): try: rack_obj = Rack() rack_obj = rack_obj.get_rack(idt=rack_id) rack_obj.nome = rack.get("name") rack_obj.numero = rack.get("number") rack_obj.mac_sw1 = rack.get("mac_sw1") rack_obj.mac_sw2 = rack.get("mac_sw2") rack_obj.mac_ilo = rack.get("mac_ilo") rack_obj.id_sw1 = Equipamento().get_by_pk(int(rack.get("id_sw1"))) rack_obj.id_sw2 = Equipamento().get_by_pk(int(rack.get("id_sw2"))) rack_obj.id_ilo = Equipamento().get_by_pk(int(rack.get("id_ilo"))) rack_obj.dcroom = DatacenterRooms().get_dcrooms(idt=rack.get('fabric_id')) if rack.get('fabric_id') \ else None rack_obj.save() return rack_obj except (exceptions.RackNumberDuplicatedValueError, exceptions.RackNameDuplicatedError, exceptions.InvalidInputException) as e: log.exception(e) raise Exception(e) except Exception, e: log.exception(e) raise Exception(e)
def delete_rack(rack_id): rack_obj = Rack() rack = rack_obj.get_rack(idt=rack_id) error_vlans = list() error_envs = list() envs_ids = models_env.Ambiente.objects.filter(dcroom=rack.dcroom.id, grupo_l3__nome=str(rack.nome) ).values_list('id', flat=True) log.debug("rack envs. Qtd: %s - Envs: %s" % (str(len(envs_ids)), str(envs_ids))) vlans_ids = models_vlan.Vlan.objects.filter(nome__icontains=rack.nome ).values_list('id', flat=True) log.debug("rack vlan. Qtd: %s - VLans: %s" % (str(len(vlans_ids)), str(vlans_ids))) for idt in vlans_ids: try: facade_vlan_v3.delete_vlan(idt) except (models_vlan.VlanError, models_vlan.VlanErrorV3, ValidationAPIException, ObjectDoesNotExistException, Exception, NetworkAPIException), e: error_vlans.append({'vlan_id': idt, 'error': e})
def get_rack(fabric_id=None, rack_id=None): rack_obj = Rack() try: if fabric_id: rack = rack_obj.get_rack(dcroom_id=fabric_id) rack_list = rack_serializers.RackSerializer(rack, many=True).data if rack else list() elif rack_id: rack = rack_obj.get_rack(idt=rack_id) rack_list = [rack_serializers.RackSerializer(rack).data] if rack else list() else: rack = rack_obj.get_rack() rack_list = rack_serializers.RackSerializer(rack, many=True).data if rack else list() return rack_list except (ObjectDoesNotExist, Exception), e: raise Exception(e)
def get_rack(fabric_id=None, rack_id=None): rack_obj = Rack() try: if fabric_id: rack = rack_obj.get_rack(dcroom_id=fabric_id) rack_list = rack_serializers.RackSerializer( rack, many=True).data if rack else list() elif rack_id: rack = rack_obj.get_rack(idt=rack_id) rack_list = [rack_serializers.RackSerializer(rack).data ] if rack else list() else: rack = rack_obj.get_rack() rack_list = rack_serializers.RackSerializer( rack, many=True).data if rack else list() return rack_list except (ObjectDoesNotExist, Exception), e: raise Exception(e)