def test__prepare_variables_configdrive_file(self, mem_req_mock): i_info = self.node.instance_info i_info['configdrive'] = 'fake-content' self.node.instance_info = i_info self.node.save() configdrive_path = ('%(tempdir)s/%(node)s.cndrive' % { 'tempdir': ansible_deploy.CONF.tempdir, 'node': self.node.uuid }) expected = { "image": { "url": "http://image", "validate_certs": "yes", "source": "fake-image", "mem_req": 2000, "disk_format": "qcow2", "checksum": "md5:checksum" }, 'configdrive': { 'type': 'file', 'location': configdrive_path } } with mock.patch.object(ansible_deploy, 'open', mock.mock_open(), create=True) as open_mock: with task_manager.acquire(self.context, self.node.uuid) as task: self.assertEqual(expected, ansible_deploy._prepare_variables(task)) open_mock.assert_has_calls( (mock.call(configdrive_path, 'w'), mock.call().__enter__(), mock.call().write('fake-content'), mock.call().__exit__(None, None, None)))
def test__prepare_variables(self, mem_req_mock): expected = { "image": { "url": "http://image", "validate_certs": "yes", "source": "fake-image", "mem_req": 2000, "disk_format": "qcow2", "checksum": "md5:checksum" } } with task_manager.acquire(self.context, self.node.uuid) as task: self.assertEqual(expected, ansible_deploy._prepare_variables(task))
def test__prepare_variables_insecure_activated(self): self.config(image_store_insecure=True, group='ansible') i_info = self.node.instance_info i_info['image_checksum'] = 'sha256:checksum' self.node.instance_info = i_info self.node.save() expected = {"image": {"url": "http://image", "validate_certs": "no", "source": "fake-image", "disk_format": "qcow2", "checksum": "sha256:checksum"}} with task_manager.acquire(self.context, self.node.uuid) as task: self.assertEqual(expected, ansible_deploy._prepare_variables(task))
def test__prepare_variables_root_device_hints(self): props = self.node.properties props['root_device'] = {"wwn": "fake-wwn"} self.node.properties = props self.node.save() expected = {"image": {"url": "http://image", "validate_certs": "yes", "source": "fake-image", "disk_format": "qcow2", "checksum": "md5:checksum"}, "root_device_hints": {"wwn": "fake-wwn"}} with task_manager.acquire(self.context, self.node.uuid) as task: self.assertEqual(expected, ansible_deploy._prepare_variables(task))
def test__prepare_variables_configdrive_url(self): i_info = self.node.instance_info i_info['configdrive'] = 'http://configdrive_url' self.node.instance_info = i_info self.node.save() expected = {"image": {"url": "http://image", "validate_certs": "yes", "source": "fake-image", "disk_format": "qcow2", "checksum": "md5:checksum"}, 'configdrive': {'type': 'url', 'location': 'http://configdrive_url'}} with task_manager.acquire(self.context, self.node.uuid) as task: self.assertEqual(expected, ansible_deploy._prepare_variables(task))
def test__prepare_variables(self): i_info = self.node.instance_info i_info['image_mem_req'] = 3000 i_info['image_whatever'] = 'hello' self.node.instance_info = i_info self.node.save() expected = {"image": {"url": "http://image", "validate_certs": "yes", "source": "fake-image", "mem_req": 3000, "disk_format": "qcow2", "checksum": "md5:checksum", "whatever": "hello"}} with task_manager.acquire(self.context, self.node.uuid) as task: self.assertEqual(expected, ansible_deploy._prepare_variables(task))