Project

General

Profile

Revision bccbca0a

IDbccbca0a35ce722288dceee066401e2bc7ca0eb7
Parent 38c32f55
Child 55547662

Added by Travis Rhoden over 8 years ago

[RM-12480] Allow kwargs and extra_install_flags for install()

Refs: #12480

Signed-off-by: Travis Rhoden <>

View differences:

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