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