diff options
Diffstat (limited to 'rrs/tools/rrs_distros.py')
-rwxr-xr-x | rrs/tools/rrs_distros.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/rrs/tools/rrs_distros.py b/rrs/tools/rrs_distros.py index d4400dec6b..d408b330c6 100755 --- a/rrs/tools/rrs_distros.py +++ b/rrs/tools/rrs_distros.py @@ -92,13 +92,23 @@ if __name__=="__main__": help = "Do not write any data back to the database", action="store_true", dest="dry_run", default=False) + parser.add_option("-p", "--plan", + help="Specify maintenance plan to operate on (default is all plans that have updates enabled)", + action="store", dest="plan", default=None) + options, args = parser.parse_args(sys.argv) logger.setLevel(options.loglevel) - maintplans = MaintenancePlan.objects.filter(updates_enabled=True) - if not maintplans.exists(): - logger.error('No enabled maintenance plans found') - sys.exit(1) + if options.plan: + maintplans = MaintenancePlan.objects.filter(id=int(options.plan)) + if not maintplans.exists(): + logger.error('No maintenance plan with ID %s found' % options.plan) + sys.exit(1) + else: + maintplans = MaintenancePlan.objects.filter(updates_enabled=True) + if not maintplans.exists(): + logger.error('No enabled maintenance plans found') + sys.exit(1) logger.debug("Starting recipe distros update ...") |