Parametrize target_dir for the timestamp

The default location where we write timestamp files is
/tmp, however, this location does not work for all systems -
/tmp directory cannot be expected to persist across reboots
of an instance.

This commit allows users to set their preferred location and
override the default (/tmp) target dir.

Closes-Bug: #2051268
Change-Id: Id23ae70001525c8eb95d6baf0aca2b4d399e63a1
This commit is contained in:
Martin Kopec 2024-03-20 13:18:57 +01:00
parent b7a621ea2c
commit 9086dca536
3 changed files with 13 additions and 3 deletions

View File

@ -0,0 +1,7 @@
---
features:
- |
Adding a new config options `[scenario]/target_dir` which allows
users to specify the location where timestamps files will be
written to. The default value is /tmp that, however, cannot be
expected to persist across reboots of an instance.

View File

@ -1217,7 +1217,10 @@ ScenarioGroup = [
default='icmp',
choices=('icmp', 'tcp', 'udp'),
help='The protocol used in security groups tests to check '
'connectivity.')
'connectivity.'),
cfg.StrOpt('target_dir',
default='/tmp',
help='Directory in which to write the timestamp file.'),
]

View File

@ -1227,7 +1227,7 @@ class ScenarioTest(tempest.test.BaseTestCase):
# Default the directory in which to write the timestamp file to /tmp
# and only use the mount_path as the target directory if we mounted
# dev_name to mount_path.
target_dir = '/tmp'
target_dir = CONF.scenario.target_dir
if dev_name is not None:
mount_path = os.path.join(mount_path, dev_name)
ssh_client.make_fs(dev_name, fs=fs)
@ -1266,7 +1266,7 @@ class ScenarioTest(tempest.test.BaseTestCase):
# Default the directory from which to read the timestamp file to /tmp
# and only use the mount_path as the target directory if we mounted
# dev_name to mount_path.
target_dir = '/tmp'
target_dir = CONF.scenario.target_dir
if dev_name is not None:
mount_path = os.path.join(mount_path, dev_name)
ssh_client.mkdir(mount_path)