diff options
| author | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-03-22 14:43:56 +0100 |
|---|---|---|
| committer | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-03-23 17:24:03 +0100 |
| commit | d622d38da69b56d2569a51bdf85ddddc5dacf2f8 (patch) | |
| tree | c78bd8d44033f434649edaab1ecf1371724d792d /ironic_python_agent/utils.py | |
| parent | e61336602f2f3054511dc9e381a7f0c1f18fda82 (diff) | |
| download | ironic-python-agent-d622d38da69b56d2569a51bdf85ddddc5dacf2f8.tar.gz | |
Refactor: use mounted from ironic-lib
Change-Id: I0b597ddbc71c133abe6c0acfd8f49e3af4e896bb
Diffstat (limited to 'ironic_python_agent/utils.py')
| -rw-r--r-- | ironic_python_agent/utils.py | 30 |
1 files changed, 2 insertions, 28 deletions
diff --git a/ironic_python_agent/utils.py b/ironic_python_agent/utils.py index 7ae827aa..036e72d9 100644 --- a/ironic_python_agent/utils.py +++ b/ironic_python_agent/utils.py @@ -24,7 +24,6 @@ import shutil import subprocess import sys import tarfile -import tempfile import time from ironic_lib import disk_utils @@ -126,31 +125,6 @@ def _get_vmedia_device(): pass -@contextlib.contextmanager -def _mounted(source): - """A context manager for a temporary mount.""" - dest = tempfile.mkdtemp() - try: - try: - execute("mount", source, dest) - except processutils.ProcessExecutionError as e: - msg = ("Unable to mount virtual media device %(device)s: " - "%(error)s" % {'device': source, 'error': e}) - raise errors.VirtualMediaBootError(msg) - - yield dest - finally: - try: - execute("umount", dest) - except processutils.ProcessExecutionError: - pass - - try: - shutil.rmtree(dest) - except Exception: - pass - - def _find_device_by_labels(labels): """Find device matching any of the provided labels.""" for label in labels + [lbl.upper() for lbl in labels]: @@ -181,7 +155,7 @@ def _get_vmedia_params(): vmedia_device_file = os.path.join("/dev", vmedia_device) - with _mounted(vmedia_device_file) as vmedia_mount_point: + with ironic_utils.mounted(vmedia_device_file) as vmedia_mount_point: parameters_file_path = os.path.join(vmedia_mount_point, parameters_file) params = _read_params_from_file(parameters_file_path) @@ -242,7 +216,7 @@ def copy_config_from_vmedia(): if mounted: _copy_config_from(mounted) else: - with _mounted(vmedia_device_file) as vmedia_mount_point: + with ironic_utils.mounted(vmedia_device_file) as vmedia_mount_point: _copy_config_from(vmedia_mount_point) |
