diff --git a/neat/globals/manager.py b/neat/globals/manager.py index e48cb89..d5ee663 100644 --- a/neat/globals/manager.py +++ b/neat/globals/manager.py @@ -582,14 +582,20 @@ def migrate_vms(nova, placement): time.sleep(5) while True: - for vm_uuid in vms: + for vm_uuid in placement.keys(): vm = nova.servers.get(vm_uuid) - if vm_hostname(vm) != placement[vm] or vm.status != u'ACTIVE': + if log.isEnabledFor(logging.DEBUG): + log.info('VM %s: %s, %s', + vm_uuid, + vm_hostname(vm), + vm.status) + if vm_hostname(vm) != placement[vm_uuid] or \ + vm.status != u'ACTIVE': break else: if log.isEnabledFor(logging.INFO): log.info('Completed migration of VM %s to %s', - vm, placement[vm]) + vm_uuid, placement[vm_uuid]) else: return time.sleep(3) diff --git a/vm-placement.py b/vm-placement.py index fe7ccb7..be60b93 100755 --- a/vm-placement.py +++ b/vm-placement.py @@ -34,7 +34,14 @@ nova = client.Client(config['os_admin_user'], -placement = dict((str(vm.human_id), vm_hostname(vm)) for vm in nova.servers.list()) +placement = dict((str(vm.human_id), + (vm.status, + vm_hostname(vm), + nova.hosts.get(vm_hostname(vm))[2].memory_mb)) + for vm in nova.servers.list()) for vm in sorted(placement.keys()): - print '{0:15} ==> {1}'.format(vm, placement[vm]) + print '{0:10} {1:10} {2} [{3} MB used]'.format(vm, + placement[vm][0], + placement[vm][1], + placement[vm][2])