Details
Description
Hi!
Rebooting a VM doesn't update the iptables rules despite the change on the interface name. To reproduce:
1. Starts two VM
2. Stop the first one.
3. Reboot the second one. It will use the vnet device of the first one.
4. Checks that the iptables rules for the second one are still referencing the old interface.
The defect seems to be in security_group.py. The periodic "get_rule_logs_for_vm" which also handles rebooted VM fails because of the following traceback:
2014-07-28 15:15:19,035 - 'int' object has no attribute 'isdigit' Traceback (most recent call last): File "/usr/share/cloudstack-common/scripts/vm/network/security_group.py", line 705, in get_rule_logs_for_vms network_rules_for_rebooted_vm(name) File "/usr/share/cloudstack-common/scripts/vm/network/security_group.py", line 637, in network_rules_for_rebooted_vm [curr_domid, old_domid] = check_domid_changed(vm_name) File "/usr/share/cloudstack-common/scripts/vm/network/security_group.py", line 619, in check_domid_changed if (curr_domid is None) or (not curr_domid.isdigit()): AttributeError: 'int' object has no attribute 'isdigit'
This exception is catched by some try...except.
On Ubuntu Lucid 12.04, a domain ID is an integer. This is with libvirt 0.9.8. I also checked that this is still the case with libvirt 1.2.4.