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 | 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() | ... | ... |