1
2
3
4
5
6
7
8
9
10
11
12
13
14 import Globals
15 from Products.ZenUtils.ZenScriptBase import ZenScriptBase
16 from Products.Zuul.facades import getFacade
17 import logging
18 import sys
19
20 log = logging.getLogger(name='zen.ackevents')
21
23
25 """basic options setup sub classes can add more options here"""
26 ZenScriptBase.buildOptions(self)
27 self.parser.add_option('--userid',
28 dest="userid",default="",
29 help="name of user who is acking the event")
30
31 self.parser.add_option('--evid',
32 dest="evids", action="append",
33 help="event id that is acked")
34
35 self.parser.add_option('--state', type='int',
36 dest="state", default=1,
37 help="event id that is acked [default: ack]")
38
40 if not self.options.evids:
41 self.parser.error("Require one or more event ids to be acknowledged.")
42 if not self.options.userid:
43 self.parser.error("Require username who is acknowledging the event.")
44 if not self.options.state in (0,1):
45 self.parser.error("Invalid state: %d" % self.options.state)
46
47 zep = getFacade('zep', self.dmd)
48 event_filter = zep.createEventFilter(uuid=self.options.evids)
49 try:
50
51 if self.options.state == 0:
52 zep.reopenEventSummaries(eventFilter=event_filter, userName=self.options.userid)
53 elif self.options.state == 1:
54 zep.acknowledgeEventSummaries(eventFilter=event_filter, userName=self.options.userid)
55 except Exception as e:
56 if log.isEnabledFor(logging.DEBUG):
57 log.exception("Failed to acknowledge events")
58 print >>sys.stderr, e.message
59 sys.exit(1)
60
61 if __name__ == '__main__':
62 zae = zenackevents(connect=True)
63 zae.ack()
64