summaryrefslogtreecommitdiff
path: root/cloudinit/tests/helpers.py
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2018-03-16 15:43:27 -0600
committerChad Smith <chad.smith@canonical.com>2018-03-16 15:43:27 -0600
commitde34dc7c467b318b2d04d065f8d752c7a530e155 (patch)
tree768e0401dcdb4d6c428b516abe853bfbd8a3086a /cloudinit/tests/helpers.py
parent7ce839f846de705980839f9c7851bd0fd7353aad (diff)
downloadvyos-cloud-init-de34dc7c467b318b2d04d065f8d752c7a530e155.tar.gz
vyos-cloud-init-de34dc7c467b318b2d04d065f8d752c7a530e155.zip
net: recognize iscsi root cases without ip= on kernel command line.
When 'ip=' or 'ip6=' is found on the kernel command line, cloud-init will consider read network config from /run/net-*.conf files. There are some iscsi-root scenarios where initramfs configures networking but the ip= parameter is not present. 2 such cases are:  a.) static config in /etc/iscsi/iscsi.initramfs (copied into the initramfs)  b.) iBft This changes cloud-init to consider initramfs provided networking information if:  * there are /run/net-* files and  * (ip= or ip6 is on the command line) or open-iscsi.interface file exists. LP: #1752391
Diffstat (limited to 'cloudinit/tests/helpers.py')
-rw-r--r--cloudinit/tests/helpers.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/cloudinit/tests/helpers.py b/cloudinit/tests/helpers.py
index a2e10536..999b1d7c 100644
--- a/cloudinit/tests/helpers.py
+++ b/cloudinit/tests/helpers.py
@@ -283,10 +283,15 @@ class FilesystemMockingTestCase(ResourceUsingTestCase):
def patchOS(self, new_root):
patch_funcs = {
os.path: [('isfile', 1), ('exists', 1),
- ('islink', 1), ('isdir', 1)],
+ ('islink', 1), ('isdir', 1), ('lexists', 1)],
os: [('listdir', 1), ('mkdir', 1),
- ('lstat', 1), ('symlink', 2)],
+ ('lstat', 1), ('symlink', 2)]
}
+
+ if hasattr(os, 'scandir'):
+ # py27 does not have scandir
+ patch_funcs[os].append(('scandir', 1))
+
for (mod, funcs) in patch_funcs.items():
for f, nargs in funcs:
func = getattr(mod, f)