diff options
author | Hirotaka Wakabayashi <hiwkby@yahoo.com> | 2022-05-02 12:47:30 +0900 |
---|---|---|
committer | Hirotaka Wakabayashi <hiwkby@yahoo.com> | 2022-05-02 20:47:59 +0900 |
commit | 1580c4ca562b01e502d505475d79dd7ac8caf18d (patch) | |
tree | b853b14280614dc3908470e3840d5fdd5e34c02d /trove/tests/unittests/taskmanager/test_models.py | |
parent | 4741b57c09852d8ca413f8ff5ba73f763636db1f (diff) | |
download | trove-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.py | 38 |
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() |