diff options
Diffstat (limited to 'ironic_python_agent/extensions/standby.py')
-rw-r--r-- | ironic_python_agent/extensions/standby.py | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/ironic_python_agent/extensions/standby.py b/ironic_python_agent/extensions/standby.py index ce754f82..970cf7de 100644 --- a/ironic_python_agent/extensions/standby.py +++ b/ironic_python_agent/extensions/standby.py @@ -23,7 +23,6 @@ from ironic_lib import exception from oslo_concurrency import processutils from oslo_config import cfg from oslo_log import log -from oslo_utils import units import requests from ironic_python_agent import errors @@ -205,20 +204,8 @@ def _write_whole_disk_image(image, image_info, device): image, device] LOG.info('Writing image with command: {}'.format(' '.join(command))) try: - # TODO(dtantsur): switch to disk_utils.convert_image when it supports - # -t and -W flags and defaults to 2 GiB memory limit. - limits = processutils.ProcessLimits(address_space=2048 * units.Mi) - # TODO(TheJulia): qemu-img uses a default of 8 * nCPU to determine - # how many chunks of memory to allocate based upon the discussion in - # https://bugzilla.redhat.com/show_bug.cgi?id=1892773. - # Setting MALLOC_AREA_MAX=1 results in a process memory footprint of - # ~250mb. Setting it to 3 will allow for multiple areas, but won't - # greatly exceed the footprint. - env_vars = {'MALLOC_ARENA_MAX': '3'} - # Entirely disabling threading results in the same memory footprint - # as 1 areana, but multiple threads are useful for performance - # as the file could be fragmented/compressed. - utils.execute(*command, prlimit=limits, env_variables=env_vars) + disk_utils.convert_image(image, device, out_format='host_device', + cache='directsync', out_of_order=True) except processutils.ProcessExecutionError as e: raise errors.ImageWriteError(device, e.exit_code, e.stdout, e.stderr) |