Commit 9d52c602b95848a37613895a1b25049aee85f95f
1 parent
b14edb1a
Exists in
master
and in
39 other branches
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,6 +22,38 @@ PUPPET_TARGET_VERSION = "3.6.2" | ||
| 22 | PUPPET_DIR = os.path.join(os.path.dirname(__file__)) | 22 | PUPPET_DIR = os.path.join(os.path.dirname(__file__)) |
| 23 | MODULES_FILE_PATH = os.path.join(PUPPET_DIR, 'modules.txt') | 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 | def get_release_name(): | 58 | def get_release_name(): |
| 27 | distro = platform.dist()[0].lower() | 59 | distro = platform.dist()[0].lower() |