Revision bccbca0a
[RM-12480] Allow kwargs and extra_install_flags for install()
Refs: #12480
Signed-off-by: Travis Rhoden <trhoden@redhat.com>
ceph_deploy/util/pkg_managers.py | ||
---|---|---|
199 | 199 |
**kw |
200 | 200 |
) |
201 | 201 |
|
202 |
def install(self, packages): |
|
202 |
def install(self, packages, **kw):
|
|
203 | 203 |
"""Install packages on remote node""" |
204 | 204 |
raise NotImplementedError() |
205 | 205 |
|
... | ... | |
232 | 232 |
executable = None |
233 | 233 |
name = None |
234 | 234 |
|
235 |
def install(self, packages): |
|
235 |
def install(self, packages, **kw):
|
|
236 | 236 |
if isinstance(packages, str): |
237 | 237 |
packages = [packages] |
238 | 238 |
|
239 |
extra_flags = kw.pop('extra_install_flags', None) |
|
239 | 240 |
cmd = [ |
240 | 241 |
self.executable, |
241 | 242 |
'-y', |
242 | 243 |
'install', |
243 | 244 |
] |
245 |
if extra_flags: |
|
246 |
if isinstance(extra_flags, str): |
|
247 |
extra_flags = [extra_flags] |
|
248 |
cmd.extend(extra_flags) |
|
249 |
|
|
244 | 250 |
cmd.extend(packages) |
245 | 251 |
return self._run(cmd) |
246 | 252 |
|
... | ... | |
344 | 350 |
] |
345 | 351 |
name = 'apt' |
346 | 352 |
|
347 |
def install(self, packages, force_confnew=False): |
|
353 |
def install(self, packages, force_confnew=False, **kw):
|
|
348 | 354 |
if isinstance(packages, str): |
349 | 355 |
packages = [packages] |
350 | 356 |
|
357 |
extra_flags = kw.pop('extra_install_flags', None) |
|
351 | 358 |
cmd = self.executable + [ |
352 | 359 |
'--no-install-recommends', |
353 | 360 |
'install' |
354 | 361 |
] |
355 | 362 |
|
363 |
if extra_flags: |
|
364 |
if isinstance(extra_flags, str): |
|
365 |
extra_flags = [extra_flags] |
|
366 |
cmd.extend(extra_flags) |
|
356 | 367 |
if force_confnew: |
357 | 368 |
cmd.extend(['-o', 'Dpkg::Options::=--force-confnew']) |
358 | 369 |
cmd.extend(packages) |
... | ... | |
430 | 441 |
] |
431 | 442 |
name = 'zypper' |
432 | 443 |
|
433 |
def install(self, packages): |
|
444 |
def install(self, packages, **kw):
|
|
434 | 445 |
if isinstance(packages, str): |
435 | 446 |
packages = [packages] |
436 | 447 |
|
448 |
extra_flags = kw.pop('extra_install_flags', None) |
|
437 | 449 |
cmd = self.executable + ['install'] |
450 |
if extra_flags: |
|
451 |
if isinstance(extra_flags, str): |
|
452 |
extra_flags = [extra_flags] |
|
453 |
cmd.extend(extra_flags) |
|
438 | 454 |
cmd.extend(packages) |
439 | 455 |
return self._run(cmd) |
440 | 456 |
|
Also available in: Unified diff