Hi,

we needed a function in spacecmd to start a hardware and software refresh
and i extended "spacecmd/src/lib/system.py" with 2 new options:

1. system_schedulehardwarerefresh  => Schedules a hardware refresh on a
given system, ssm, group
2. system_schedulepackagerefresh  => Schedules a software packagee refresh
on a given system, ssm, group

This is the working patch for spacecmd-1.8.4-1.el5.noarch (sorry, i didn't
checkout the Git repository):

182a183,246
> def help_system_schedulehardwarerefresh(self):
>     print 'system_schedulehardwarerefresh: Schedule a hardware refresh
for a system'
>     print 'usage: system_schedulehardwarerefresh <SYSTEMS>'
>     print
>     print self.HELP_SYSTEM_OPTS
>
> def complete_system_schedulehardwarerefresh(self, text, line, beg, end):
>     return self.tab_complete_systems(text)
>
> def do_system_schedulehardwarerefresh(self, args):
>     (args, options) = parse_arguments(args)
>
>     if not len(args):
>         self.help_system_schedulehardwarerefresh()
>         return
>
>     # use the systems listed in the SSM
>     if re.match('ssm', args[0], re.I):
>         systems = self.ssm.keys()
>     else:
>         systems = self.expand_systems(args)
>
>     action_time = parse_time_input('now')
>
>     for system in systems:
>         system_id = self.get_system_id(system)
>         if not system_id: continue
>
>         self.client.system.scheduleHardwareRefresh(self.session,
system_id, action_time)
>
> ####################
>
> def help_system_schedulepackagerefresh(self):
>     print 'system_schedulepackagerefresh: Schedule a software package
refresh for a system'
>     print 'usage: system_schedulepackagerefresh <SYSTEMS>'
>     print
>     print self.HELP_SYSTEM_OPTS
>
> def complete_system_schedulepackagerefresh(self, text, line, beg, end):
>     return self.tab_complete_systems(text)
>
> def do_system_schedulepackagerefresh(self, args):
>     (args, options) = parse_arguments(args)
>
>     if not len(args):
>         self.help_system_schedulepackagerefresh()
>         return
>
>     # use the systems listed in the SSM
>     if re.match('ssm', args[0], re.I):
>         systems = self.ssm.keys()
>     else:
>         systems = self.expand_systems(args)
>
>     action_time = parse_time_input('now')
>
>     for system in systems:
>         system_id = self.get_system_id(system)
>         if not system_id: continue
>
>         self.client.system.schedulePackageRefresh(self.session,
system_id, action_time)
>
> ####################

Kind regards

Stefan

___________________________________________________________________________

Stefan Meyer
Generali Deutschland Informatik Services GmbH
Infrastructure Engineering (IE-c)


_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to