summaryrefslogtreecommitdiff
path: root/trove/tests/unittests/taskmanager/test_models.py
diff options
context:
space:
mode:
authorHirotaka Wakabayashi <hiwkby@yahoo.com>2022-05-02 12:47:30 +0900
committerHirotaka Wakabayashi <hiwkby@yahoo.com>2022-05-02 20:47:59 +0900
commit1580c4ca562b01e502d505475d79dd7ac8caf18d (patch)
treeb853b14280614dc3908470e3840d5fdd5e34c02d /trove/tests/unittests/taskmanager/test_models.py
parent4741b57c09852d8ca413f8ff5ba73f763636db1f (diff)
downloadtrove-1580c4ca562b01e502d505475d79dd7ac8caf18d.tar.gz
Adds new configurations for injected file owner
This PR adds configuration options for file owner information of injected files in GuestVM to trove.conf. File owner information should not be hardcoded as "trove" because it depends on user environments. Original problem is guest instance creation failure due to the lack of guestagent configuration files because of the recent code chage[1]. That patch was introduced since Yoga. [1]:https://review.opendev.org/c/openstack/trove/+/823632 Task: 45239 Story: 2010021 Change-Id: Iaccfe84c912025ec6d96e66ffa6ad7a4b9537b6e
Diffstat (limited to 'trove/tests/unittests/taskmanager/test_models.py')
-rw-r--r--trove/tests/unittests/taskmanager/test_models.py38
1 files changed, 36 insertions, 2 deletions
diff --git a/trove/tests/unittests/taskmanager/test_models.py b/trove/tests/unittests/taskmanager/test_models.py
index 5167bc04..0af1aa16 100644
--- a/trove/tests/unittests/taskmanager/test_models.py
+++ b/trove/tests/unittests/taskmanager/test_models.py
@@ -242,8 +242,7 @@ class FreshInstanceTasksTest(BaseFreshInstanceTasksTest):
server = self.freshinstancetasks._create_server(
None, None, datastore_manager, None, None, None)
- userdata = self.userdata + "#cloud-config\nwrite_files:\n"
- self.assertEqual(server.userdata, userdata)
+ self.assertEqual(server.userdata, self.userdata)
def test_create_instance_with_keypair(self):
cfg.CONF.set_override('nova_keypair', 'fake_keypair')
@@ -317,6 +316,41 @@ class FreshInstanceTasksTest(BaseFreshInstanceTasksTest):
def test_servers_create_block_device_mapping_v2(self,
mock_hostname,
mock_name):
+ # This testcase is to test create_server with config_drive=True.
+ # We need set use_nova_server_config_drive True explicitly
+ # because use_nova_server_config_drive becomes False since Yoga
+ cfg.CONF.set_override('use_nova_server_config_drive', True)
+ self.freshinstancetasks.prepare_userdata = Mock(return_value=None)
+ mock_nova_client = self.freshinstancetasks.nova_client = Mock()
+ mock_servers_create = mock_nova_client.servers.create
+ self.freshinstancetasks._create_server('fake-flavor', 'fake-image',
+ 'mysql', None, None, None)
+ meta = {'trove_project_id': self.freshinstancetasks.tenant_id,
+ 'trove_user_id': 'test_user',
+ 'trove_instance_id': self.freshinstancetasks.id}
+ mock_servers_create.assert_called_with(
+ 'fake-name', 'fake-image',
+ 'fake-flavor', files={},
+ userdata=None,
+ block_device_mapping_v2=None,
+ availability_zone=None,
+ nics=None,
+ config_drive=True,
+ scheduler_hints=None,
+ key_name=None,
+ meta=meta,
+ )
+
+ @patch.object(taskmanager_models.FreshInstanceTasks, 'hostname',
+ new_callable=PropertyMock,
+ return_value='fake-hostname')
+ @patch.object(taskmanager_models.FreshInstanceTasks, 'name',
+ new_callable=PropertyMock,
+ return_value='fake-name')
+ def test_servers_create_block_device_mapping_v2_since_yoga(
+ self, mock_hostname, mock_name):
+
+ # This testcase is for testing with config_drive=False.
self.freshinstancetasks.prepare_userdata = Mock(
return_value="#cloud-config\nwrite_files:\n")
mock_nova_client = self.freshinstancetasks.nova_client = Mock()