diff options
Diffstat (limited to 'cloudinit/CloudConfig/__init__.py')
-rw-r--r-- | cloudinit/CloudConfig/__init__.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/cloudinit/CloudConfig/__init__.py b/cloudinit/CloudConfig/__init__.py index c8743ac3..0962c238 100644 --- a/cloudinit/CloudConfig/__init__.py +++ b/cloudinit/CloudConfig/__init__.py @@ -231,3 +231,20 @@ def run_per_instance(name, func, args, clear_on_fail=False): except: if clear_on_fail: os.unlink(semfile) raise + +# apt_get top level command (install, update...), and args to pass it +def apt_get(tlc,args=[]): + e=os.environ.copy() + e['DEBIAN_FRONTEND']='noninteractive' + cmd=[ 'apt-get', + '--option', 'Dpkg::Options::=--force-confold', '--assume-yes', + tlc ] + cmd.extend(args) + subprocess.check_call(cmd,env=e) + +def update_package_sources(): + run_per_instance("update-sources", apt_get, ("update",)) + +def install_packages(pkglist): + update_package_sources() + apt_get("install",pkglist) |