Revision 6488097c
b/snf-cyclades-app/synnefo/logic/backend.py | ||
---|---|---|
746 | 746 |
|
747 | 747 |
log.debug("Connecting vm %s to network %s(%s)", vm, network, address) |
748 | 748 |
|
749 |
kwargs = { |
|
750 |
"instance": vm.backend_vm_id, |
|
751 |
"nics": [("add", nic)], |
|
752 |
"depends": depends, |
|
753 |
} |
|
754 |
if vm.backend.use_hotplug(): |
|
755 |
kwargs["hotplug"] = True |
|
756 |
if settings.TEST: |
|
757 |
kwargs["dry_run"] = True |
|
758 |
|
|
749 | 759 |
with pooled_rapi_client(vm) as client: |
750 |
return client.ModifyInstance(vm.backend_vm_id, nics=[('add', nic)], |
|
751 |
hotplug=vm.backend.use_hotplug(), |
|
752 |
depends=depends, |
|
753 |
dry_run=settings.TEST) |
|
760 |
return client.ModifyInstance(**kwargs) |
|
754 | 761 |
|
755 | 762 |
|
756 | 763 |
def disconnect_from_network(vm, nic): |
757 |
op = [('remove', nic.index, {})] |
|
758 |
|
|
759 | 764 |
log.debug("Removing nic of VM %s, with index %s", vm, str(nic.index)) |
760 | 765 |
|
766 |
kwargs = { |
|
767 |
"instance": vm.backend_vm_id, |
|
768 |
"nics": [("remove", nic.index, {})], |
|
769 |
} |
|
770 |
if vm.backend.use_hotplug(): |
|
771 |
kwargs["hotplug"] = True |
|
772 |
if settings.TEST: |
|
773 |
kwargs["dry_run"] = True |
|
774 |
|
|
761 | 775 |
with pooled_rapi_client(vm) as client: |
762 |
jobID = client.ModifyInstance(vm.backend_vm_id, nics=op, |
|
763 |
hotplug=vm.backend.use_hotplug(), |
|
764 |
dry_run=settings.TEST) |
|
776 |
jobID = client.ModifyInstance(**kwargs) |
|
765 | 777 |
# If the NIC has a tag for a firewall profile it must be deleted, |
766 | 778 |
# otherwise it may affect another NIC. XXX: Deleting the tag should |
767 | 779 |
# depend on the removing the NIC, but currently RAPI client does not |
b/snf-cyclades-app/synnefo/logic/tests/servers.py | ||
---|---|---|
94 | 94 |
self.assertFalse(pool.is_available("192.168.2.2")) |
95 | 95 |
args, kwargs = mrapi().ModifyInstance.call_args |
96 | 96 |
nics = kwargs["nics"][0] |
97 |
self.assertEqual(args[0], vm.backend_vm_id)
|
|
97 |
self.assertEqual(kwargs["instance"], vm.backend_vm_id)
|
|
98 | 98 |
self.assertEqual(nics[0], "add") |
99 | 99 |
self.assertEqual(nics[1]["ip"], "192.168.2.2") |
100 | 100 |
self.assertEqual(nics[1]["network"], net.backend_id) |
... | ... | |
111 | 111 |
self.assertTrue(pool.is_available("192.168.2.2")) |
112 | 112 |
args, kwargs = mrapi().ModifyInstance.call_args |
113 | 113 |
nics = kwargs["nics"][0] |
114 |
self.assertEqual(args[0], vm.backend_vm_id)
|
|
114 |
self.assertEqual(kwargs["instance"], vm.backend_vm_id)
|
|
115 | 115 |
self.assertEqual(nics[0], "add") |
116 | 116 |
self.assertEqual(nics[1]["ip"], None) |
117 | 117 |
self.assertEqual(nics[1]["network"], net.backend_id) |
... | ... | |
125 | 125 |
servers.connect(vm, net) |
126 | 126 |
args, kwargs = mrapi().ModifyInstance.call_args |
127 | 127 |
nics = kwargs["nics"][0] |
128 |
self.assertEqual(args[0], vm.backend_vm_id)
|
|
128 |
self.assertEqual(kwargs["instance"], vm.backend_vm_id)
|
|
129 | 129 |
self.assertEqual(nics[0], "add") |
130 | 130 |
self.assertEqual(nics[1]["ip"], None) |
131 | 131 |
self.assertEqual(nics[1]["network"], net.backend_id) |
Also available in: Unified diff