<div class="zcontentRow"> <p style="font-size:14px;font-family:arial;">Hi Idan,</p><p style="font-size:14px;font-family:arial;"><br></p><p style="font-size:14px;font-family:arial;">Sorry, maybe it's the issue of my OpenStack env. I'll check it later. Thanks~</p><p style="font-size:14px;font-family:arial;"><br></p><p style="font-size:14px;font-family:arial;">BR,</p><p style="font-size:14px;font-family:arial;">dwj<br></p><br><p style="font-size:14px;font-family:arial;"><br></p><p style="font-size:14px;font-family:arial;"><br></p><p style="font-size:14px;font-family:arial;"><br></p><p style="font-size:14px;font-family:arial;"><br></p><p style="font-size:14px;font-family:arial;"><br></p><div><div class="zhistoryRow" style="display:block"><div class="zhistoryDes" style="width: 100%; height: 28px; line-height: 28px; background-color: #E0E5E9; color: #1388FF; text-align: center;" language-data="HistoryOrgTxt">原始邮件</div><div id="zwriteHistoryContainer"><div class="zhistoryCurrentContent"><div class="control-group zhistoryPanel"><div class="zhistoryHeader" style="padding: 8px; background-color: #F5F6F8;"><div><strong language-data="HistorySenderTxt">发件人:</strong><span class="zreadUserName">董文娟00101742</span></div><div><strong language-data="HistoryTOTxt">收件人:</strong><span class="zreadUserName" style="display: inline;"> <idan.kinory@nokia.com>;</span></div><div><strong language-data="HistoryCCTxt">抄送人:</strong><span class="zreadUserName" style="display: inline;"> <ifat.afek@nokia.com>;</span></div><div><strong language-data="HistoryDateTxt">日 期 :</strong><span class="">2017年10月30日 08:59</span></div><div><strong language-data="HistorySubjectTxt">主 题 :</strong><span class="zreadTitle"><strong>答复: RE: [openstack-dev][vitrage] some error in Aodh datasource</strong></span></div></div><p class="zhistoryContent"><br></p></div><div><div class=""><p style="font-size:14px;font-family:arial;">Hi Idan,</p><p style="font-size:14px;font-family:arial;"><br></p><p style="font-size:14px;font-family:arial;">Yes, it happens when Vitrage receives the Aodh alarm(event alarm) state change notification.</p><p style="font-size:14px;font-family:arial;">But for the event alarm and threshold alarms, they don't combine type dict and type Unicode.</p><p style="font-size:14px;font-family:arial;">So only gnocchi threshold alarm needs to encode.</p><p style="font-size:14px;font-family:arial;">I think gnocchi threshold alarm need to handle the state change notification separately, <br></p><p style="font-size:14px;font-family:arial;">otherwise the event alarm and threshold alarm will raise exception as shown in the log below.<br></p><p>What do you think?</p><p><br></p><p style="font-size:14px;font-family:arial;">BR,</p><p style="font-size:14px;font-family:arial;">dwj<br></p><p style="font-size:14px;font-family:arial;"><br></p><p style="font-size:14px;font-family:arial;"><br></p><p style="font-size:14px;font-family:arial;"><br></p><p style="font-size:14px;font-family:arial;"><br></p><p><br></p><p><br></p></div></div></div><div class="zhistoryCurrentContent"><div class="control-group zhistoryPanel"><div class="zhistoryHeader" style="padding: 8px; background-color: #F5F6F8;"><div><strong language-data="HistorySenderTxt">发件人:</strong><span class="zreadUserName"> <idan.kinory@nokia.com>;</span></div><div><strong language-data="HistoryTOTxt">收件人:</strong><span class="zreadUserName" style="display: inline;">董文娟00101742;</span></div><div><strong language-data="HistoryCCTxt">抄送人:</strong><span class="zreadUserName" style="display: inline;"> <ifat.afek@nokia.com>;</span></div><div><strong language-data="HistoryDateTxt">日 期 :</strong><span class="">2017年10月29日 17:04</span></div><div><strong language-data="HistorySubjectTxt">主 题 :</strong><span class="zreadTitle"><strong>RE: [openstack-dev][vitrage] some error in Aodh datasource</strong></span></div></div><p class="zhistoryContent"><br></p></div><div><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="Generator" content="Microsoft Word 15 (filtered medium)"><!--[if gte mso 9]><xml><o:shapedefaults v:ext="edit" spidmax="1026" ></o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml><o:shapelayout v:ext="edit"><o:idmap v:ext="edit" data="1" ></o:idmap></o:shapelayout></xml><![endif]--><div class="WordSection1"><p class="MsoNormal">Hi dwj,<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal">In this patch I added support for gnocchi threshold alarm.<o:p></o:p></p><p class="MsoNormal">This kind of alarm combine type dict and type Unicode. This occurs when receiving notification about state transition from insufficient data to alarm.<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal">In order not to make a major change in the code structure this type of error should occur in event alarm (because it entirely type dict). It is caught in _convert_alarm_state_transition_event.<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal">In the upcoming changes in Aodh datasource (because of <span style="color:black;background:#E3FFFF"> Ceilometer’s API is being removed)  we might need to insert some changes so </span> _convert_alarm_state_transition_event will receive also the alarm type (event, gnocchi..).<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal">Let me know if I can be of any help.<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal">Thanks.<o:p></o:p></p><p class="MsoNormal">BR<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal">Idan kinory<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal"><o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal"><strong>From:</strong> dong.wenjuan@zte.com.cn [mailto:dong.wenjuan@zte.com.cn] <br> <strong>Sent:</strong> Friday, October 27, 2017 10:51 AM<br> <strong>To:</strong> Kinory, Idan (Nokia - IL/Kfar Sava) <idan.kinory@nokia.com><br> <strong>Cc:</strong> Afek, Ifat (Nokia - IL/Kfar Sava) <ifat.afek@nokia.com>; openstack-dev@lists.openstack.org<br> <strong>Subject:</strong> [openstack-dev][vitrage] some error in Aodh datasource<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><div><p><span style="font-size:10.5pt;font-family:"Arial",sans-serif">Hi Idan Kinory,<o:p></o:p></span></p><p><span style="font-size:10.5pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p><p><span style="font-size:10.5pt;font-family:"Arial",sans-serif">I deploy Vitrage with devstack using master branch.<o:p></o:p></span></p><p><span style="font-size:10.5pt;font-family:"Arial",sans-serif">Currently I found a error in Aodh datasource when I change the Aodh alarm state(alarm_state_transition notification).<o:p></o:p></span></p><p><span style="font-size:10.5pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p><p><span style="font-size:10.5pt;font-family:"Arial",sans-serif">The error log is as follows:<o:p></o:p></span></p><p style="margin-bottom:12.0pt"><span style="font-size:10.5pt;font-family:"Arial",sans-serif">Oct 27 07:30:50 dwj-vitrage vitrage-collector[9880]: 2017-10-27 07:30:50.429 9880 DEBUG vitrage.datasources.listener_service [-] EVENT ENQUEUED:<br> Oct 27 07:30:50 dwj-vitrage vitrage-collector[9880]: {'description': u'Alarm when * event occurred.', 'resource_id': None, 'vitrage_entity_type': 'aodh', 'timestamp': u'2017-10-26T06:37:41.353447', 'state_timestamp': u'2017-10-27T07:09:06.636137', 'name': u'dwj',  'vitrage_datasource_action': 'update', 'severity': u'low', 'vitrage_sample_date': '2017-10-27 07:30:50.382730+00:00', 'vitrage_event_type': u'alarm.deletion', 'enabled': True, 'alarm_id': u'9578d0eb-5d09-49a2-80e9-fb1a6c7ce7e9', 'state': u'alarm', 'repeat_actions':  False, 'event_type': (u'*',), 'project_id': u'378f268c64fc42c28226704dd71f37fe', 'type': u'event'} _enqueue_events /opt/stack/vitrage/vitrage/datasources/listener_service.py:106<br> Oct 27 07:31:02 dwj-vitrage vitrage-collector[9880]: 2017-10-27 07:31:02.327 10104 DEBUG vitrage.datasources.services [-] start get changes _get_changes /opt/stack/vitrage/vitrage/datasources/services.py:119<br> Oct 27 07:31:02 dwj-vitrage vitrage-collector[9880]: 2017-10-27 07:31:02.331 10104 DEBUG vitrage.datasources.services [-] end get changes _get_changes /opt/stack/vitrage/vitrage/datasources/services.py:126<br> Oct 27 07:31:12 dwj-vitrage vitrage-collector[9880]: 2017-10-27 07:31:12.087 9880 ERROR vitrage.datasources.aodh.driver [-] Failed to Convert alarm state transition event - 'dict' object has no attribute 'encode': AttributeError: 'dict' object has no attribute  'encode'<br> Oct 27 07:31:12 dwj-vitrage vitrage-collector[9880]: 2017-10-27 07:31:12.087 9880 ERROR vitrage.datasources.aodh.driver Traceback (most recent call last):<br> Oct 27 07:31:12 dwj-vitrage vitrage-collector[9880]: 2017-10-27 07:31:12.087 9880 ERROR vitrage.datasources.aodh.driver   File "/opt/stack/vitrage/vitrage/datasources/aodh/driver.py", line 352, in _convert_alarm_state_transition_event<br> Oct 27 07:31:12 dwj-vitrage vitrage-collector[9880]: 2017-10-27 07:31:12.087 9880 ERROR vitrage.datasources.aodh.driver     unicode_to_str = state.encode("ascii")<br> Oct 27 07:31:12 dwj-vitrage vitrage-collector[9880]: 2017-10-27 07:31:12.087 9880 ERROR vitrage.datasources.aodh.driver <span style="color:red">AttributeError: 'dict' object has no attribute 'encode'</span><o:p></o:p></span></p><p>I noticed that you fix the code in this patch(Line 352-368): <a href="https://review.openstack.org/#/c/501701/4/vitrage/datasources/aodh/driver.py" target="_blank"> https://review.openstack.org/#/c/501701/4/vitrage/datasources/aodh/driver.py</a><o:p></o:p></p><p>Can you please explain why? Thanks.<o:p></o:p></p><p><o:p> </o:p></p><p>BR,<o:p></o:p></p><p>dwj<o:p></o:p></p><p><span style="font-size:10.5pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p><p><span style="font-size:10.5pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p><p><span style="font-size:10.5pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p></div></div></div></div></div></div></div><p><br></p> </div>