Revision 7c714455 snf-cyclades-app/synnefo/api/servers.py

b/snf-cyclades-app/synnefo/api/servers.py
154 154
        metadata = dict((m.meta_key, m.meta_value) for m in vm.metadata.all())
155 155
        d['metadata'] = metadata
156 156

  
157
        vm_nics = vm.nics.filter(state="ACTIVE").order_by("index")
157
        vm_nics = vm.nics.filter(state="ACTIVE").order_by("id")
158 158
        attachments = map(nic_to_dict, vm_nics)
159 159
        d['attachments'] = attachments
160 160
        d['addresses'] = attachments_to_addresses(attachments)
......
515 515
    log.debug('list_addresses_by_network %s %s', server_id, network_id)
516 516
    machine = util.get_vm(server_id, request.user_uniq)
517 517
    network = util.get_network(network_id, request.user_uniq)
518
    nics = machine.nics.filter(network=network, state="ACTIVE").all()
518
    nics = machine.nics.filter(network=network, state="ACTIVE")
519 519
    addresses = attachments_to_addresses(map(nic_to_dict, nics))
520 520

  
521 521
    if request.serialization == 'xml':
......
871 871
    if attachment is None:
872 872
        raise faults.BadRequest("Missing 'attachment' attribute.")
873 873
    try:
874
        # attachment string: nic-<vm-id>-<nic-index>
875
        _, server_id, nic_index = attachment.split("-", 2)
874
        # attachment string: nic-<vm-id>-<nic-id>
875
        _, server_id, nic_id = attachment.split("-", 2)
876 876
        server_id = int(server_id)
877
        nic_index = int(nic_index)
877
        nic_id = int(nic_id)
878 878
    except (ValueError, TypeError):
879 879
        raise faults.BadRequest("Invalid 'attachment' attribute.")
880 880

  
881 881
    vm = util.get_vm(server_id, request.user_uniq, non_suspended=True)
882
    servers.disconnect(vm, nic_index=nic_index)
882
    nic = util.get_nic(vm, nic_id)
883
    servers.disconnect(vm, nic)
883 884

  
884 885
    return HttpResponse(status=202)
885 886

  

Also available in: Unified diff