def test_iso_no_phone_home(self): path = os.path.join(self.tmpdir, "cloudinit.iso") instance_id = b"INSTANCE_ID" username = b"AVOCADO_USER" password = b"AVOCADO_PASSWORD" cloudinit.iso(path, instance_id, username, password) iso = iso9660.iso9660(path) self.assertIn(instance_id, iso.read("/meta-data")) user_data = iso.read("/user-data") self.assertIn(username, user_data) self.assertIn(password, user_data)
def prepare_cloudinit(self): self.log.info('Preparing cloudinit image') try: cloudinit_iso = os.path.join(self.workdir, 'cloudinit.iso') self.phone_home_port = network.find_free_port() cloudinit.iso(cloudinit_iso, self.name, username='******', password='******', # QEMU's hard coded usermode router address phone_home_host='10.0.2.2', phone_home_port=self.phone_home_port) self.vm.add_args('-drive', 'file=%s,format=raw' % cloudinit_iso) except Exception: self.cancel('Failed to prepared cloudinit image')
def download_cloudinit(self): self.log.info('Preparing cloudinit image') try: cloudinit_iso = os.path.join(self.workdir, 'cloudinit.iso') self.phone_home_port = network.find_free_port() cloudinit.iso(cloudinit_iso, self.name, username='******', password='******', # QEMU's hard coded usermode router address phone_home_host='10.0.2.2', phone_home_port=self.phone_home_port) except Exception: self.cancel('Failed to prepared cloudinit image') return cloudinit_iso
def prepare_cloudinit(self, ssh_pubkey=None): self.log.info('Preparing cloudinit image') try: cloudinit_iso = os.path.join(self.workdir, 'cloudinit.iso') pubkey_content = None if ssh_pubkey: with open(ssh_pubkey) as pubkey: pubkey_content = pubkey.read() cloudinit.iso(cloudinit_iso, self.name, username=self.username, password=self.password, # QEMU's hard coded usermode router address phone_home_host='10.0.2.2', phone_home_port=self.phone_server.server_port, authorized_key=pubkey_content) except Exception: self.cancel('Failed to prepare the cloudinit image') return cloudinit_iso