Bind mount /run into chroot when installing grub
grub-mkconfig runs a lvs command that attempts to access /run/lvm once for each block device, currently it times out after 10 seconds for each device and moves on. Multiple 10 second delays become a problem (causing IPA API timeouts) when multiple block devices are present. Bind mounting in /run avoids the delay and the timeouts. Task: 30616 Story: 2005507 Change-Id: Iae8b7808a35bff121f64971aadd4bd36b5f5bb71
This commit is contained in:
parent
a88e61959b
commit
9c35f02792
@ -30,7 +30,7 @@ from ironic_python_agent import utils
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
|
||||
BIND_MOUNTS = ('/dev', '/proc')
|
||||
BIND_MOUNTS = ('/dev', '/proc', '/run')
|
||||
|
||||
|
||||
def _get_partition(device, uuid):
|
||||
|
@ -104,6 +104,8 @@ class TestImageExtension(base.IronicAgentTest):
|
||||
self.fake_dir + '/dev'),
|
||||
mock.call('mount', '-o', 'bind', '/proc',
|
||||
self.fake_dir + '/proc'),
|
||||
mock.call('mount', '-o', 'bind', '/run',
|
||||
self.fake_dir + '/run'),
|
||||
mock.call('mount', '-t', 'sysfs', 'none',
|
||||
self.fake_dir + '/sys'),
|
||||
mock.call(('chroot %s /bin/sh -c '
|
||||
@ -119,6 +121,8 @@ class TestImageExtension(base.IronicAgentTest):
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/proc',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/run',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/sys',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir, attempts=3,
|
||||
@ -143,6 +147,8 @@ class TestImageExtension(base.IronicAgentTest):
|
||||
self.fake_dir + '/dev'),
|
||||
mock.call('mount', '-o', 'bind', '/proc',
|
||||
self.fake_dir + '/proc'),
|
||||
mock.call('mount', '-o', 'bind', '/run',
|
||||
self.fake_dir + '/run'),
|
||||
mock.call('mount', '-t', 'sysfs', 'none',
|
||||
self.fake_dir + '/sys'),
|
||||
mock.call(('chroot %s /bin/sh -c '
|
||||
@ -159,6 +165,8 @@ class TestImageExtension(base.IronicAgentTest):
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/proc',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/run',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/sys',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir, attempts=3,
|
||||
@ -189,6 +197,8 @@ class TestImageExtension(base.IronicAgentTest):
|
||||
self.fake_dir + '/dev'),
|
||||
mock.call('mount', '-o', 'bind', '/proc',
|
||||
self.fake_dir + '/proc'),
|
||||
mock.call('mount', '-o', 'bind', '/run',
|
||||
self.fake_dir + '/run'),
|
||||
mock.call('mount', '-t', 'sysfs', 'none',
|
||||
self.fake_dir + '/sys'),
|
||||
mock.call('mount', self.fake_efi_system_part,
|
||||
@ -212,6 +222,8 @@ class TestImageExtension(base.IronicAgentTest):
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/proc',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/run',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/sys',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir, attempts=3,
|
||||
@ -249,6 +261,8 @@ class TestImageExtension(base.IronicAgentTest):
|
||||
self.fake_dir + '/dev'),
|
||||
mock.call('mount', '-o', 'bind', '/proc',
|
||||
self.fake_dir + '/proc'),
|
||||
mock.call('mount', '-o', 'bind', '/run',
|
||||
self.fake_dir + '/run'),
|
||||
mock.call('mount', '-t', 'sysfs', 'none',
|
||||
self.fake_dir + '/sys'),
|
||||
mock.call('mount', self.fake_efi_system_part,
|
||||
@ -294,6 +308,8 @@ class TestImageExtension(base.IronicAgentTest):
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/proc',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/run',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir + '/sys',
|
||||
attempts=3, delay_on_retry=True),
|
||||
mock.call('umount', self.fake_dir, attempts=3,
|
||||
|
4
releasenotes/notes/bindmount-run-4c6a31d3ee4e0ed6.yaml
Normal file
4
releasenotes/notes/bindmount-run-4c6a31d3ee4e0ed6.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
Mounts /run into chroot when installing grub to prevent timeouts.
|
Loading…
Reference in New Issue
Block a user