)]}'
{"watcher/api/manager.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"041c8b4826a61b31b663ffc25b6e9992b337032d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        return [NotificationEndpoint(), ]"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"class NotificationEndpoint(object):"},{"line_number":78,"context_line":"    filter_rule \u003d oslo_messaging.NotificationFilter("},{"line_number":79,"context_line":"        event_type\u003d\u0027action_info.response\u0027)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def info(self, ctxt, publisher_id, event_type, payload, metadata):"},{"line_number":82,"context_line":"        LOG.debug(\"publisher_id: %s\", publisher_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5ff73747_11291337","line":79,"range":{"start_line":77,"start_character":0,"end_line":79,"end_character":42},"updated":"2017-04-28 07:22:10.000000000","message":"Instead of redefining a NotificationEndpoint object, can you instead do the following:\n\n- Move the watcher/decision_engine/model/notification/base.py and watcher/decision_engine/model/notification/filtering.py into a new watcher/notification/endpoint/ package\n- Make your notification inherit from the NotificationEndpoint class that is in base.py\n- add the filter_rule @property to return what you have here in your filter_rule attribute\n- Change the name of this class to something more meaningful like ActionInfoEndpoint","commit_id":"c14e0651f8b16168aa900c054ad2a8f5dc958403"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"ca5bf19a19f3467cb589beb316454a4e9af7076b","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        return [NotificationEndpoint(), ]"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"class NotificationEndpoint(object):"},{"line_number":78,"context_line":"    filter_rule \u003d oslo_messaging.NotificationFilter("},{"line_number":79,"context_line":"        event_type\u003d\u0027action_info.response\u0027)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def info(self, ctxt, publisher_id, event_type, payload, metadata):"},{"line_number":82,"context_line":"        LOG.debug(\"publisher_id: %s\", publisher_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f044301_61ff9e01","line":79,"range":{"start_line":77,"start_character":0,"end_line":79,"end_character":42},"in_reply_to":"5ff73747_11291337","updated":"2017-05-05 07:24:39.000000000","message":"good idea!","commit_id":"c14e0651f8b16168aa900c054ad2a8f5dc958403"}],"watcher/applier/manager.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"041c8b4826a61b31b663ffc25b6e9992b337032d","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"class NotificationEndpoint(object):"},{"line_number":68,"context_line":"    filter_rule \u003d oslo_messaging.NotificationFilter("},{"line_number":69,"context_line":"        event_type\u003d\u0027action_info.request\u0027)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def info(self, ctxt, publisher_id, event_type, payload, metadata):"},{"line_number":72,"context_line":"        LOG.debug(\"event_type: %s\", event_type)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5ff73747_f1b587ce","line":69,"range":{"start_line":69,"start_character":20,"end_line":69,"end_character":39},"updated":"2017-04-28 07:22:10.000000000","message":"Why do you need both action_info.request and action_info.response? They seem to be identical to me.\n\nAlso why does the watcher-applier need to know about the description of the action?","commit_id":"c14e0651f8b16168aa900c054ad2a8f5dc958403"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"ca5bf19a19f3467cb589beb316454a4e9af7076b","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"class NotificationEndpoint(object):"},{"line_number":68,"context_line":"    filter_rule \u003d oslo_messaging.NotificationFilter("},{"line_number":69,"context_line":"        event_type\u003d\u0027action_info.request\u0027)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def info(self, ctxt, publisher_id, event_type, payload, metadata):"},{"line_number":72,"context_line":"        LOG.debug(\"event_type: %s\", event_type)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f044301_a10246b3","line":69,"range":{"start_line":69,"start_character":20,"end_line":69,"end_character":39},"in_reply_to":"5ff73747_f1b587ce","updated":"2017-05-05 07:24:39.000000000","message":"In addition to event_type, request and respone are same. maybe we can have the same event_type.","commit_id":"c14e0651f8b16168aa900c054ad2a8f5dc958403"}],"watcher/notifications/action.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"041c8b4826a61b31b663ffc25b6e9992b337032d","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    }"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"@notificationbase.notification_sample(\u0027action-info-request.json\u0027)"},{"line_number":193,"context_line":"@notificationbase.notification_sample(\u0027action-info-response.json\u0027)"},{"line_number":194,"context_line":"@base.WatcherObjectRegistry.register_notification"},{"line_number":195,"context_line":"class ActionInfoNotification(notificationbase.NotificationBase):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5ff73747_91ac0335","line":192,"range":{"start_line":192,"start_character":39,"end_line":192,"end_character":58},"updated":"2017-04-28 07:22:10.000000000","message":"IMHO, request/response is not explicit enough. IMHO, it should be called \"action.loaded\".\nAs for the \"action.request\", it should be called \"action.get\" or \"action.getinfo\"","commit_id":"c14e0651f8b16168aa900c054ad2a8f5dc958403"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"ca5bf19a19f3467cb589beb316454a4e9af7076b","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    }"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"@notificationbase.notification_sample(\u0027action-info-request.json\u0027)"},{"line_number":193,"context_line":"@notificationbase.notification_sample(\u0027action-info-response.json\u0027)"},{"line_number":194,"context_line":"@base.WatcherObjectRegistry.register_notification"},{"line_number":195,"context_line":"class ActionInfoNotification(notificationbase.NotificationBase):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f044301_614d5e71","line":192,"range":{"start_line":192,"start_character":39,"end_line":192,"end_character":58},"in_reply_to":"5ff73747_91ac0335","updated":"2017-05-05 07:24:39.000000000","message":"OK","commit_id":"c14e0651f8b16168aa900c054ad2a8f5dc958403"}]}
