summaryrefslogtreecommitdiff
path: root/cloudinit
diff options
context:
space:
mode:
authorDaniel Watkins <oddbloke@ubuntu.com>2020-01-16 13:30:12 -0500
committerRyan Harper <ryan.harper@canonical.com>2020-01-16 12:30:12 -0600
commit651e24066ba4b9464c7843553f60d17a459cf06e (patch)
treeb4bae771e62bf725b7d568efb9741f2be88a915c /cloudinit
parent259d9c501472315e539701f00095743390eb89e5 (diff)
downloadvyos-cloud-init-651e24066ba4b9464c7843553f60d17a459cf06e.tar.gz
vyos-cloud-init-651e24066ba4b9464c7843553f60d17a459cf06e.zip
util: rename get_architecture to get_dpkg_architecture (#173)
This makes it clearer that we should only use this in code paths that will definitely have dpkg available to them. - Rename get_architecture -> get_dpkg_architecture - Add docstring to get_dpkg_architecture
Diffstat (limited to 'cloudinit')
-rw-r--r--cloudinit/config/cc_apt_configure.py6
-rw-r--r--cloudinit/distros/debian.py2
-rw-r--r--cloudinit/util.py7
3 files changed, 10 insertions, 5 deletions
diff --git a/cloudinit/config/cc_apt_configure.py b/cloudinit/config/cc_apt_configure.py
index 4a3aed36..c44dec45 100644
--- a/cloudinit/config/cc_apt_configure.py
+++ b/cloudinit/config/cc_apt_configure.py
@@ -253,7 +253,7 @@ def get_default_mirrors(arch=None, target=None):
architecture, for more see:
https://wiki.ubuntu.com/UbuntuDevelopment/PackageArchive#Ports"""
if arch is None:
- arch = util.get_architecture(target)
+ arch = util.get_dpkg_architecture(target)
if arch in PRIMARY_ARCHES:
return PRIMARY_ARCH_MIRRORS.copy()
if arch in PORTS_ARCHES:
@@ -303,7 +303,7 @@ def apply_apt(cfg, cloud, target):
LOG.debug("handling apt config: %s", cfg)
release = util.lsb_release(target=target)['codename']
- arch = util.get_architecture(target)
+ arch = util.get_dpkg_architecture(target)
mirrors = find_apt_mirror_info(cfg, cloud, arch=arch)
LOG.debug("Apt Mirror info: %s", mirrors)
@@ -896,7 +896,7 @@ def find_apt_mirror_info(cfg, cloud, arch=None):
"""
if arch is None:
- arch = util.get_architecture()
+ arch = util.get_dpkg_architecture()
LOG.debug("got arch for mirror selection: %s", arch)
pmirror = get_mirror(cfg, "primary", arch, cloud)
LOG.debug("got primary mirror: %s", pmirror)
diff --git a/cloudinit/distros/debian.py b/cloudinit/distros/debian.py
index 79268371..128bb523 100644
--- a/cloudinit/distros/debian.py
+++ b/cloudinit/distros/debian.py
@@ -205,7 +205,7 @@ class Distro(distros.Distro):
["update"], freq=PER_INSTANCE)
def get_primary_arch(self):
- return util.get_architecture()
+ return util.get_dpkg_architecture()
def _get_wrapper_prefix(cmd, mode):
diff --git a/cloudinit/util.py b/cloudinit/util.py
index 87480767..d99e82fa 100644
--- a/cloudinit/util.py
+++ b/cloudinit/util.py
@@ -79,7 +79,12 @@ CONTAINER_TESTS = (['systemd-detect-virt', '--quiet', '--container'],
@lru_cache()
-def get_architecture(target=None):
+def get_dpkg_architecture(target=None):
+ """Return the sanitized string output by `dpkg --print-architecture`.
+
+ N.B. This function is wrapped in functools.lru_cache, so repeated calls
+ won't shell out every time.
+ """
out, _ = subp(['dpkg', '--print-architecture'], capture=True,
target=target)
return out.strip()