)]}'
{"ceilometer/network/notifications.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"a32b8d36ddb1befb526ab851fc2429f226606f5a","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    resource_name \u003d \u0027member\u0027"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"class HealthMonitors(NetworkNotificationBase):"},{"line_number":203,"context_line":"    \"\"\"Listen for Neutron notifications."},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    Listen in order to mediate with the metering framework."}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8c0949_4649a1cf","line":202,"updated":"2014-10-30 17:46:43.000000000","message":"why use plural?","commit_id":"d1a7835ee8a12a8794485da7ed78adfcb9adf5ca"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"e7cec9405be4bac6aae4a5f2ba557f8f30b6d32c","unresolved":false,"context_lines":[{"line_number":178,"context_line":"class Pool(NetworkNotificationBase):"},{"line_number":179,"context_line":"    \"\"\"Listen for Neutron notifications."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    Listen in order to mediate with the metering framework."},{"line_number":182,"context_line":"    \"\"\""},{"line_number":183,"context_line":"    resource_name \u003d \u0027pool\u0027"},{"line_number":184,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_3e8de37c","line":181,"updated":"2014-11-24 19:07:16.000000000","message":"I know this is just a copy\u0027n\u0027paste from the pre-existing docstrings, but it seems to add almost no information.\n\nHow about changing all these docstrings to simply:\n\n  \"\"\"Handle pool.{create.end|update.*|exists} notifications from neutron.\n  \"\"\"\"\n\nreplacing pool with vip, member, ... etc as appropriate.","commit_id":"625d947d2d298e05145b52a13db44fa15130a184"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"cd257ad7bfdb7e9b4b89f46cdbf7fe104aea5e04","unresolved":false,"context_lines":[{"line_number":237,"context_line":"class VPNService(NetworkNotificationBase):"},{"line_number":238,"context_line":"    \"\"\"Listen for Neutron notifications."},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    Handle vpnservice.{create.end|update.*|exists} notifications from neutron."},{"line_number":241,"context_line":"    \"\"\""},{"line_number":242,"context_line":"    resource_name \u003d \u0027vpnservice\u0027"},{"line_number":243,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_c70ecb8b","line":240,"updated":"2014-11-25 01:36:47.000000000","message":"Does neutron have related create.start ? or delete notifications  ?  I just not know about it. so ask :)","commit_id":"8a4d65d42ce9d58977f0b3cc007c7fcd62878cfa"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"fe78327665ef36912910798a3904a37680336653","unresolved":false,"context_lines":[{"line_number":237,"context_line":"class VPNService(NetworkNotificationBase):"},{"line_number":238,"context_line":"    \"\"\"Listen for Neutron notifications."},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    Handle vpnservice.{create.end|update.*|exists} notifications from neutron."},{"line_number":241,"context_line":"    \"\"\""},{"line_number":242,"context_line":"    resource_name \u003d \u0027vpnservice\u0027"},{"line_number":243,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_72ff8002","line":240,"in_reply_to":"5a890539_c70ecb8b","updated":"2014-11-25 15:39:24.000000000","message":"They do, but we currently dont track the delete notifications due to missing data in payload. The create.start is not very useful to track as the resource is not done creating yet. Its more useful to track the end.","commit_id":"8a4d65d42ce9d58977f0b3cc007c7fcd62878cfa"},{"author":{"_account_id":7049,"name":"Kai Qiang Wu(Kennan)","email":"wkq5325@gmail.com","username":"Kennan"},"change_message_id":"cd257ad7bfdb7e9b4b89f46cdbf7fe104aea5e04","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    Handle ikepolicy.{create.end|update.*|exists} notifications from neutron."},{"line_number":257,"context_line":"    \"\"\""},{"line_number":258,"context_line":"    resource_name \u003d \u0027ikepolicy\u0027"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"class IPSecSiteConnection(NetworkNotificationBase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_2746afc0","line":258,"updated":"2014-11-25 01:36:47.000000000","message":"NitPick, I am not sure if used above for \n\nvpnservice, ipsecpolicy, ikepolicy it seems not consistent with like firewall_policy, firewall_rule.\n\nvpn_service, ipsec_policy, is it better?","commit_id":"8a4d65d42ce9d58977f0b3cc007c7fcd62878cfa"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"fe78327665ef36912910798a3904a37680336653","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    Handle ikepolicy.{create.end|update.*|exists} notifications from neutron."},{"line_number":257,"context_line":"    \"\"\""},{"line_number":258,"context_line":"    resource_name \u003d \u0027ikepolicy\u0027"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"class IPSecSiteConnection(NetworkNotificationBase):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_dd6cc5d2","line":258,"in_reply_to":"5a890539_2746afc0","updated":"2014-11-25 15:39:24.000000000","message":"As I mentioned in previous patchsets. This not in our control. We use the same resource name as what we get as part of the event_type in the notification metadata so the process_notification call handles it automatically.","commit_id":"8a4d65d42ce9d58977f0b3cc007c7fcd62878cfa"}],"ceilometer/tests/network/test_notifications.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"63b774de243d611ccd4adbfc7aef8e824890710e","unresolved":false,"context_lines":[{"line_number":486,"context_line":"    \"message_id\": \"3895ad11-98a3-4031-92af-f76e96736661\"}"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"NOTIFICATION_HEATH_MONITORS_CREATE \u003d {"},{"line_number":490,"context_line":"    \"_context_roles\": [\"heat_stack_owner\", \"admin\"],"},{"line_number":491,"context_line":"    \"_context_request_id\": \"req-e56a8a5e-5d42-43e8-9677-2d36e6e17d5e\","},{"line_number":492,"context_line":"    \"event_type\": \"health_monitor.create.end\","}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_227e816a","line":489,"updated":"2014-11-25 16:59:44.000000000","message":"s/HEATH/HEALTH/","commit_id":"b18f68dfec7c945a7a63567e3c035c6067c594be"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"63b774de243d611ccd4adbfc7aef8e824890710e","unresolved":false,"context_lines":[{"line_number":881,"context_line":"    \"message_id\": \"3895ad11-98a3-4031-92af-f76e96736661\"}"},{"line_number":882,"context_line":""},{"line_number":883,"context_line":""},{"line_number":884,"context_line":"NOTIFICATION_HEATH_MONITORS_UPDATE \u003d {"},{"line_number":885,"context_line":"    \"_context_roles\": [\"admin\"],"},{"line_number":886,"context_line":"    \"_context_request_id\": \"req-e56a8a5e-5d42-43e8-9677-2d36e6e17d5e\","},{"line_number":887,"context_line":"    \"event_type\": \"health_monitor.update.end\","}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_826015d0","line":884,"updated":"2014-11-25 16:59:44.000000000","message":"s/HEATH/HEALTH/","commit_id":"b18f68dfec7c945a7a63567e3c035c6067c594be"}],"setup.cfg":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"9be25172b9e240dad0b8f22da992277d9200e9c1","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    firewall_policy \u003d ceilometer.network.notifications:FirewallPolicy"},{"line_number":86,"context_line":"    firewall_rule \u003d ceilometer.network.notifications:FirewallRule"},{"line_number":87,"context_line":"    vpnservice \u003d ceilometer.network.notifications:VPNService"},{"line_number":88,"context_line":"    ipsecpolicy \u003d ceilometer.network.notifications:IPSecPolicy"},{"line_number":89,"context_line":"    ikepolicy \u003d ceilometer.network.notifications:IKEPolicy"},{"line_number":90,"context_line":"    ipsec_site_connection \u003d ceilometer.network.notifications:IPSecSiteConnection"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":3,"id":"5a890539_17fc6eb7","line":88,"updated":"2014-11-17 16:07:29.000000000","message":"why L88 and L89 is different with L85 and L86 for name style?","commit_id":"625d947d2d298e05145b52a13db44fa15130a184"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"0019dfda4ae10ccb68e88d37523ab1d32e03d909","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    firewall_policy \u003d ceilometer.network.notifications:FirewallPolicy"},{"line_number":86,"context_line":"    firewall_rule \u003d ceilometer.network.notifications:FirewallRule"},{"line_number":87,"context_line":"    vpnservice \u003d ceilometer.network.notifications:VPNService"},{"line_number":88,"context_line":"    ipsecpolicy \u003d ceilometer.network.notifications:IPSecPolicy"},{"line_number":89,"context_line":"    ikepolicy \u003d ceilometer.network.notifications:IKEPolicy"},{"line_number":90,"context_line":"    ipsec_site_connection \u003d ceilometer.network.notifications:IPSecSiteConnection"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":3,"id":"5a890539_3030669e","line":88,"in_reply_to":"5a890539_17fc6eb7","updated":"2014-11-18 17:26:32.000000000","message":"the name essentially is matching the event_type in the payload. For example for vpnservice the event_type is vpnservice.create.end:\n\n{\"_context_roles\": [\"heat_stack_owner\", \"admin\"], \"_context_request_id\": \"req-359bd5fe-933e-4375-99c0-00e1463ddbb0\", \"event_type\": \"vpnservice.create.end\", \"timestamp\": \"2014-09-15 19:03:43.884806\", ...}","commit_id":"625d947d2d298e05145b52a13db44fa15130a184"}]}
