def test_phone_home(self): instance_id = data_factory.generate_random_string(12) address = '127.0.0.1' port = network.find_free_port(address=address) server = cloudinit.PhoneHomeServer((address, port), instance_id) self.assertFalse(server.instance_phoned_back) server_thread = threading.Thread(target=server.handle_request) server_thread.start() conn = http_client.HTTPConnection(address, port) # contact the wrong url, and check the server does not # consider it a call back from the expected caller conn.request('POST', '/BAD_INSTANCE_ID') try: conn.getresponse() except: pass self.assertFalse(server.instance_phoned_back) conn.close() # now the right url server_thread = threading.Thread(target=server.handle_request) server_thread.start() conn = http_client.HTTPConnection(address, port) conn.request('POST', '/' + instance_id) try: conn.getresponse() except: pass self.assertTrue(server.instance_phoned_back) conn.close() server.server_close()
def setUp(self): # LinuxTest does many replay-incompatible things, but includes # useful methods. Do not setup LinuxTest here and just # call some functions. super(LinuxTest, self).setUp() self._set_distro() self.boot_path = self.download_boot() self.phone_server = cloudinit.PhoneHomeServer(('0.0.0.0', 0), self.name) ssh_pubkey, self.ssh_key = self.set_up_existing_ssh_keys() self.cloudinit_path = self.prepare_cloudinit(ssh_pubkey)
def setUp(self): self.port = network.find_free_port(address=self.ADDRESS, sequent=False) self.instance_id = data_factory.generate_random_string(12) self.server = cloudinit.PhoneHomeServer((self.ADDRESS, self.port), self.instance_id)
def set_up_cloudinit(self, ssh_pubkey=None): self.phone_server = cloudinit.PhoneHomeServer(('0.0.0.0', 0), self.name) cloudinit_iso = self.prepare_cloudinit(ssh_pubkey) self.vm.add_args('-drive', 'file=%s,format=raw' % cloudinit_iso)
def setUp(self): self.instance_id = data_factory.generate_random_string(12) self.server = cloudinit.PhoneHomeServer((self.ADDRESS, 0), self.instance_id)