Commit 9d52c602b95848a37613895a1b25049aee85f95f

Authored by Charles Oliveira
1 parent b14edb1a

Added functions to install and update packages

Showing 1 changed file with 32 additions and 0 deletions   Show diff stats
puppet/bootstrap.py
... ... @@ -22,6 +22,38 @@ PUPPET_TARGET_VERSION = "3.6.2"
22 22 PUPPET_DIR = os.path.join(os.path.dirname(__file__))
23 23 MODULES_FILE_PATH = os.path.join(PUPPET_DIR, 'modules.txt')
24 24  
  25 +DIST_CMD = {
  26 + 'ubuntu': [
  27 + {'pkg_manager': 'apt-get'},
  28 + {'pkg_flags': '-y'},
  29 + {'rep_manager': 'dpkg'},
  30 + {'rep_flags': '-i'},
  31 + ],
  32 + 'centos': [
  33 + {'pkg_manager': 'yum'},
  34 + {'pkg_flags': '-y'},
  35 + {'pkg_manager': 'yum'},
  36 + {'rep_flags': '-ivh'},
  37 + ],
  38 +}
  39 +
  40 +def package_install(package):
  41 + distro, release = get_release_name()
  42 + cmd_dict = DIST_CMD[distro]
  43 + pkg_manager = cmd_dict['pkg_manager']
  44 + flags = cmd_dict['pkg_flags']
  45 + cmd = [pkg_manager, flags, 'install', package]
  46 + return subprocess.call(cmd)
  47 +
  48 +
  49 +def distro_update():
  50 + distro, release = get_release_name()
  51 + cmd_dict = DIST_CMD[distro]
  52 + pkg_manager = cmd_dict['pkg_manager']
  53 + flags = cmd_dict['flags']
  54 + cmd = [pkg_manager, 'update', flags]
  55 + return subprocess.call(cmd)
  56 +
25 57  
26 58 def get_release_name():
27 59 distro = platform.dist()[0].lower()
... ...