def test_cleanup(self, init_vms, failed_vms, removed_vms): capabilities = {'version': 1, 'commands': True} vm_container = {vm: True for vm in init_vms} cif = FakeClientIF(vm_container) log = logging.getLogger('test') scheduler = None poller = qemuguestagent.QemuGuestAgentPoller(cif, log, scheduler) for vm in init_vms: poller.update_caps(vm, capabilities) poller.update_guest_info(vm, set()) for vm in failed_vms: poller.set_failure(vm) for vm in removed_vms: del vm_container[vm] poller._cleanup() for vm in init_vms: if vm in removed_vms: self.assertIsNone(poller.get_caps(vm)) self.assertIsNone(poller.get_guest_info(vm)) self.assertIsNone(poller.last_failure(vm)) else: self.assertIsNotNone(poller.get_caps(vm)) self.assertIsNotNone(poller.get_guest_info(vm)) if vm in failed_vms: self.assertIsNotNone(poller.last_failure(vm))
def __init__(self, irs=None): # the bare minimum initialization for our test needs. self.irs = irs or IRS() self.log = logging.getLogger('fake.ClientIF') self.channelListener = None self.vm_container_lock = threading.Lock() self.vmContainer = {} self.vmRequests = {} self.bindings = {} self._recovery = False self.unknown_vm_ids = [] self._scheduler = schedule.Scheduler(name="test.Scheduler", clock=monotonic_time) self._scheduler.start() self.qga_poller = qemuguestagent.QemuGuestAgentPoller( self, self.log, self._scheduler)
def setUp(self): self.cif = fake.ClientIF() self.scheduler = schedule.Scheduler(name="test.Scheduler", clock=monotonic_time) self.scheduler.start() self.log = logging.getLogger("test") self.qga_poller = qemuguestagent.QemuGuestAgentPoller( self.cif, self.log, self.scheduler) self.vm = FakeVM() self.qga_poller.update_caps( self.vm.id, { 'version': '0.0-test', 'commands': [ qemuguestagent._QEMU_ACTIVE_USERS_COMMAND, qemuguestagent._QEMU_GUEST_INFO_COMMAND, qemuguestagent._QEMU_HOST_NAME_COMMAND, qemuguestagent._QEMU_NETWORK_INTERFACES_COMMAND, qemuguestagent._QEMU_OSINFO_COMMAND, qemuguestagent._QEMU_TIMEZONE_COMMAND, ] })