The kas home is setup in a tmpdir. Previously, this tmpdir was created
in the constructor, which is called whenever a Macro instance is created
(at least once for every plugin). To avoid this overhead (and related
audit events), we only create the tmpdir on execution.
Signed-off-by: Felix Moessbauer <
felix.mo...@siemens.com>
---
kas/libcmds.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/kas/libcmds.py b/kas/libcmds.py
index ec530741a..9534551d7 100644
--- a/kas/libcmds.py
+++ b/kas/libcmds.py
@@ -188,10 +188,11 @@ class SetupHome(Command):
def __init__(self):
super().__init__()
- self.tmpdirname = tempfile.mkdtemp()
+ self.tmpdirname = None
def __del__(self):
- shutil.rmtree(self.tmpdirname)
+ if self.tmpdirname:
+ shutil.rmtree(self.tmpdirname)
def __str__(self):
return 'setup_home'
@@ -357,6 +358,8 @@ class SetupHome(Command):
managed_env = ctx.managed_env
if managed_env:
logging.info(f'Running on {managed_env}')
+ if not self.tmpdirname:
+ self.tmpdirname = tempfile.mkdtemp()
def_umask = os.umask(0o077)
self._setup_netrc()
self._setup_npmrc()
--
2.50.0