)]}'
{"sushy/main.py":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"68530cc95406383f390b890f8cc878e9241ba031","unresolved":true,"context_lines":[{"line_number":448,"context_line":"            redfish_version\u003dself.redfish_version,"},{"line_number":449,"context_line":"            registries\u003dself.lazy_registries)"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"    def get_event_service(self):"},{"line_number":452,"context_line":"        \"\"\"Get the EventService object"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"        :raises: MissingAttributeError, if the EventService is not found"}],"source_content_type":"text/x-python","patch_set":7,"id":"e35c820d_9b9025e9","line":451,"range":{"start_line":451,"start_character":8,"end_line":451,"end_character":32},"updated":"2021-05-27 07:49:48.000000000","message":"unit test coverage missing","commit_id":"356b60a2c330d72e33fcec9a80a70bc4c58eed4f"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"bd15d41ab06db53bc5d8843b89aef4fef6ef26fe","unresolved":false,"context_lines":[{"line_number":448,"context_line":"            redfish_version\u003dself.redfish_version,"},{"line_number":449,"context_line":"            registries\u003dself.lazy_registries)"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"    def get_event_service(self):"},{"line_number":452,"context_line":"        \"\"\"Get the EventService object"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"        :raises: MissingAttributeError, if the EventService is not found"}],"source_content_type":"text/x-python","patch_set":7,"id":"c9f163c4_d0ebcfc5","line":451,"range":{"start_line":451,"start_character":8,"end_line":451,"end_character":32},"in_reply_to":"e35c820d_9b9025e9","updated":"2021-05-27 08:18:06.000000000","message":"Done","commit_id":"356b60a2c330d72e33fcec9a80a70bc4c58eed4f"}],"sushy/resources/eventservice/constants.py":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"d9a857868245ceccf442bb3a329186271793151b","unresolved":true,"context_lines":[{"line_number":15,"context_line":"# http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType"},{"line_number":16,"context_line":"# https://redfish.dmtf.org/schemas/v1/EventService.v1_0_6.json"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"STATUS_CHANGE \u003d \"StatusChange\""},{"line_number":19,"context_line":"RESOURCE_ADDED \u003d \"ResourceAdded\""},{"line_number":20,"context_line":"RESOURCE_REMOVED \u003d \"ResourceRemoved\""},{"line_number":21,"context_line":"RESOURCE_UPDATED \u003d \"ResourceUpdated\""}],"source_content_type":"text/x-python","patch_set":3,"id":"50a2f446_6425b743","line":18,"updated":"2021-05-21 13:47:52.000000000","message":"prefix all values with EVENT_TYPE_ like other sushy constants","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d82eedf4c4a038fb2caa9dd78b3bbf6743037dbd","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType"},{"line_number":16,"context_line":"# https://redfish.dmtf.org/schemas/v1/EventService.v1_0_6.json"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"STATUS_CHANGE \u003d \"StatusChange\""},{"line_number":19,"context_line":"RESOURCE_ADDED \u003d \"ResourceAdded\""},{"line_number":20,"context_line":"RESOURCE_REMOVED \u003d \"ResourceRemoved\""},{"line_number":21,"context_line":"RESOURCE_UPDATED \u003d \"ResourceUpdated\""}],"source_content_type":"text/x-python","patch_set":3,"id":"f86137bf_51d4fa06","line":18,"in_reply_to":"50a2f446_6425b743","updated":"2021-05-21 14:10:13.000000000","message":"Sure, I will do that","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"d9a857868245ceccf442bb3a329186271793151b","unresolved":true,"context_lines":[{"line_number":22,"context_line":"ALERT \u003d \"Alert\""},{"line_number":23,"context_line":"METRIC_REPORT \u003d \"MetricReport\""},{"line_number":24,"context_line":"OTHER \u003d \"Other\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"EVENT_TYPES_FOR_SUBSCRIPTION \u003d ["},{"line_number":28,"context_line":"    STATUS_CHANGE,"}],"source_content_type":"text/x-python","patch_set":3,"id":"2c4dc96f_7c6927a0","line":25,"updated":"2021-05-21 13:47:52.000000000","message":"some docstring comments would be helpful, especially for \u0027Other\u0027","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d82eedf4c4a038fb2caa9dd78b3bbf6743037dbd","unresolved":false,"context_lines":[{"line_number":22,"context_line":"ALERT \u003d \"Alert\""},{"line_number":23,"context_line":"METRIC_REPORT \u003d \"MetricReport\""},{"line_number":24,"context_line":"OTHER \u003d \"Other\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"EVENT_TYPES_FOR_SUBSCRIPTION \u003d ["},{"line_number":28,"context_line":"    STATUS_CHANGE,"}],"source_content_type":"text/x-python","patch_set":3,"id":"4c4dc29a_ab5d566d","line":25,"in_reply_to":"2c4dc96f_7c6927a0","updated":"2021-05-21 14:10:13.000000000","message":"I will add the docstrings.","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"d9a857868245ceccf442bb3a329186271793151b","unresolved":true,"context_lines":[{"line_number":24,"context_line":"OTHER \u003d \"Other\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"EVENT_TYPES_FOR_SUBSCRIPTION \u003d ["},{"line_number":28,"context_line":"    STATUS_CHANGE,"},{"line_number":29,"context_line":"    RESOURCE_ADDED,"},{"line_number":30,"context_line":"    RESOURCE_REMOVED,"},{"line_number":31,"context_line":"    RESOURCE_UPDATED,"},{"line_number":32,"context_line":"    ALERT,"},{"line_number":33,"context_line":"    METRIC_REPORT,"},{"line_number":34,"context_line":"    OTHER"},{"line_number":35,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"25ace436_09ba09fc","line":35,"range":{"start_line":27,"start_character":0,"end_line":35,"end_character":1},"updated":"2021-05-21 13:47:52.000000000","message":"this is usually achieved by having mapping, e.g., https://opendev.org/openstack/sushy/src/branch/master/sushy/resources/manager/mappings.py","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d82eedf4c4a038fb2caa9dd78b3bbf6743037dbd","unresolved":true,"context_lines":[{"line_number":24,"context_line":"OTHER \u003d \"Other\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"EVENT_TYPES_FOR_SUBSCRIPTION \u003d ["},{"line_number":28,"context_line":"    STATUS_CHANGE,"},{"line_number":29,"context_line":"    RESOURCE_ADDED,"},{"line_number":30,"context_line":"    RESOURCE_REMOVED,"},{"line_number":31,"context_line":"    RESOURCE_UPDATED,"},{"line_number":32,"context_line":"    ALERT,"},{"line_number":33,"context_line":"    METRIC_REPORT,"},{"line_number":34,"context_line":"    OTHER"},{"line_number":35,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ca80357_d2b6fdeb","line":35,"range":{"start_line":27,"start_character":0,"end_line":35,"end_character":1},"in_reply_to":"25ace436_09ba09fc","updated":"2021-05-21 14:10:13.000000000","message":"not 100% sure if map would be necessary since we can filter things in the method that will expose the types that are supported .-.\nI will let this open so other reviewers can comment","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"defa5c2a944054c58decd250d5de539197a212b2","unresolved":true,"context_lines":[{"line_number":24,"context_line":"OTHER \u003d \"Other\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"EVENT_TYPES_FOR_SUBSCRIPTION \u003d ["},{"line_number":28,"context_line":"    STATUS_CHANGE,"},{"line_number":29,"context_line":"    RESOURCE_ADDED,"},{"line_number":30,"context_line":"    RESOURCE_REMOVED,"},{"line_number":31,"context_line":"    RESOURCE_UPDATED,"},{"line_number":32,"context_line":"    ALERT,"},{"line_number":33,"context_line":"    METRIC_REPORT,"},{"line_number":34,"context_line":"    OTHER"},{"line_number":35,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"dd215b55_e17b8071","line":35,"range":{"start_line":27,"start_character":0,"end_line":35,"end_character":1},"in_reply_to":"3ca80357_d2b6fdeb","updated":"2021-05-21 14:40:17.000000000","message":"AFAIK, one of the reasons why there is mapping is to have user friendly name (used in English log messages) and Redfish spec (usually don\u0027t contain white spaces), e.g., \"management controller\" vs \"ManagementController\"","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"4c5cffc84d34fefe7e3974dee7483f063b094f81","unresolved":false,"context_lines":[{"line_number":24,"context_line":"OTHER \u003d \"Other\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"EVENT_TYPES_FOR_SUBSCRIPTION \u003d ["},{"line_number":28,"context_line":"    STATUS_CHANGE,"},{"line_number":29,"context_line":"    RESOURCE_ADDED,"},{"line_number":30,"context_line":"    RESOURCE_REMOVED,"},{"line_number":31,"context_line":"    RESOURCE_UPDATED,"},{"line_number":32,"context_line":"    ALERT,"},{"line_number":33,"context_line":"    METRIC_REPORT,"},{"line_number":34,"context_line":"    OTHER"},{"line_number":35,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"e519e9b7_1e9fede0","line":35,"range":{"start_line":27,"start_character":0,"end_line":35,"end_character":1},"in_reply_to":"dd215b55_e17b8071","updated":"2021-05-21 15:03:29.000000000","message":"Oh I see \u003d)\nI will update, I wasn\u0027t aware of that, ty!","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"19da2b4a71312eebf634c3ad658f35a76a08fbce","unresolved":true,"context_lines":[{"line_number":15,"context_line":"# http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType"},{"line_number":16,"context_line":"# https://redfish.dmtf.org/schemas/v1/EventService.v1_0_6.json"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"EVENT_TYPE_STATUS_CHANGE \u003d \"StatusChange\""},{"line_number":19,"context_line":"\"\"\"The status of a resource has changed\"\"\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"EVENT_TYPE_RESOURCE_ADDED \u003d \"ResourceAdded\""}],"source_content_type":"text/x-python","patch_set":4,"id":"c690c8a4_4249be5b","line":18,"range":{"start_line":18,"start_character":28,"end_line":18,"end_character":40},"updated":"2021-05-24 08:17:58.000000000","message":"have here \u0027sushy\u0027 names for constants, user friendly, e.g. [1] while Redfish values are in [2]\n\n[1] https://opendev.org/openstack/sushy/src/branch/master/sushy/resources/system/constants.py#L142\n[2] https://opendev.org/openstack/sushy/src/branch/master/sushy/resources/system/mappings.py#L77","commit_id":"832ddac014cccdc0e138eba5c0dc7fc2a67873d2"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"e42801dedc5d99b79dd90bbc8946fa1bad99bc7b","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"# EventType constants"},{"line_number":15,"context_line":"# http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType"},{"line_number":16,"context_line":"# https://redfish.dmtf.org/schemas/v1/EventService.v1_0_6.json"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"EVENT_TYPE_STATUS_CHANGE \u003d \"Status Change\""},{"line_number":19,"context_line":"\"\"\"The status of a resource has changed\"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"788ea2f9_95c44f0d","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":57},"updated":"2021-05-27 14:08:01.000000000","message":"nit: v1_0_8 ?","commit_id":"b11e99a8619ea934c8d3399d7de5dfa60cbf5d03"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"169361d85cb24224b3dd1933b2f2a62f6c8e96fd","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"# EventType constants"},{"line_number":15,"context_line":"# http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType"},{"line_number":16,"context_line":"# https://redfish.dmtf.org/schemas/v1/EventService.v1_0_6.json"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"EVENT_TYPE_STATUS_CHANGE \u003d \"Status Change\""},{"line_number":19,"context_line":"\"\"\"The status of a resource has changed\"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"9ebcc4e3_493d994e","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":57},"in_reply_to":"788ea2f9_95c44f0d","updated":"2021-05-27 15:26:21.000000000","message":"Ops D: \nWell they are basically the same \u003dX","commit_id":"b11e99a8619ea934c8d3399d7de5dfa60cbf5d03"}],"sushy/resources/eventservice/eventdestination.py":[{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"9619678eb425c0c7d1c493ff585dbbc1c1a07cd8","unresolved":true,"context_lines":[{"line_number":107,"context_line":"        # NOTE(iurygregory):we can receive headers for the subscriptions in the"},{"line_number":108,"context_line":"        # payload, before creating we check if the payload has headers."},{"line_number":109,"context_line":"        subscription_headers \u003d payload.get(\"HttpHeaders\")"},{"line_number":110,"context_line":"        if subscription_headers:"},{"line_number":111,"context_line":"            del payload[\"HttpHeaders\"]"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        r \u003d self._conn.post(self._path, data\u003dpayload,"},{"line_number":114,"context_line":"                            headers\u003dsubscription_headers)"}],"source_content_type":"text/x-python","patch_set":2,"id":"29422979_4a62e643","line":111,"range":{"start_line":110,"start_character":8,"end_line":111,"end_character":38},"updated":"2021-05-20 18:06:44.000000000","message":"I guess the headers should be NULL on a GET?  Could you add a comment as to why they are deleted?","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"aafb13a77b4dd620eaf60dc3f0bde60c93b0d80f","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        # NOTE(iurygregory):we can receive headers for the subscriptions in the"},{"line_number":108,"context_line":"        # payload, before creating we check if the payload has headers."},{"line_number":109,"context_line":"        subscription_headers \u003d payload.get(\"HttpHeaders\")"},{"line_number":110,"context_line":"        if subscription_headers:"},{"line_number":111,"context_line":"            del payload[\"HttpHeaders\"]"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        r \u003d self._conn.post(self._path, data\u003dpayload,"},{"line_number":114,"context_line":"                            headers\u003dsubscription_headers)"}],"source_content_type":"text/x-python","patch_set":2,"id":"c218a6a5_88850fe2","line":111,"range":{"start_line":110,"start_character":8,"end_line":111,"end_character":38},"in_reply_to":"29422979_4a62e643","updated":"2021-05-20 18:17:20.000000000","message":"Yes the headers will be empty on GET, this method is only called via post.\nSure! I will add a note on why I\u0027m removing from the payload \u003d)","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"d9a857868245ceccf442bb3a329186271793151b","unresolved":true,"context_lines":[{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class Subscription(base.ResourceBase):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    identity \u003d base.Field(\u0027Id\u0027, required\u003dTrue)"},{"line_number":29,"context_line":"    \"\"\"The Subscription resource identity\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"e74c5143_e1b237c8","line":26,"range":{"start_line":26,"start_character":6,"end_line":26,"end_character":18},"updated":"2021-05-21 13:47:52.000000000","message":"should this be named EventDestination as it\u0027s in Redfish schema?","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"defa5c2a944054c58decd250d5de539197a212b2","unresolved":true,"context_lines":[{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class Subscription(base.ResourceBase):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    identity \u003d base.Field(\u0027Id\u0027, required\u003dTrue)"},{"line_number":29,"context_line":"    \"\"\"The Subscription resource identity\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"dc0c4703_dbeaeb92","line":26,"range":{"start_line":26,"start_character":6,"end_line":26,"end_character":18},"in_reply_to":"5a0ef63e_05d843f7","updated":"2021-05-21 14:40:17.000000000","message":"I\u0027ve noticed this too, as long as there is EventService.subscriptions and not EventService.event_destinations it should be fine. The question is are we overriding types named by Redfish? Ofc, not clear to me why it\u0027s named that way in Redfish spec, maybe there is some history.","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"4c5cffc84d34fefe7e3974dee7483f063b094f81","unresolved":false,"context_lines":[{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class Subscription(base.ResourceBase):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    identity \u003d base.Field(\u0027Id\u0027, required\u003dTrue)"},{"line_number":29,"context_line":"    \"\"\"The Subscription resource identity\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"491afddb_f7b3e412","line":26,"range":{"start_line":26,"start_character":6,"end_line":26,"end_character":18},"in_reply_to":"dc0c4703_dbeaeb92","updated":"2021-05-21 15:03:29.000000000","message":"Yeah, I will change to EventDestination","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d82eedf4c4a038fb2caa9dd78b3bbf6743037dbd","unresolved":true,"context_lines":[{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class Subscription(base.ResourceBase):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    identity \u003d base.Field(\u0027Id\u0027, required\u003dTrue)"},{"line_number":29,"context_line":"    \"\"\"The Subscription resource identity\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a0ef63e_05d843f7","line":26,"range":{"start_line":26,"start_character":6,"end_line":26,"end_character":18},"in_reply_to":"e74c5143_e1b237c8","updated":"2021-05-21 14:10:13.000000000","message":"tbh I\u0027m in doubt on how we should handle this, the schema is called EventDestination,\nbut the urls are /redfish/v1/EventService/Subscriptions/\u003cId\u003e, \nIn the EventService schema they have\n  \"Subscriptions\": {\n    \"@odata.id\": \"/redfish/v1/EventService/Subscriptions\"\n  }\nI\u0027m open to change EventDestination, let\u0027s see what other\u0027s will think","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"d9a857868245ceccf442bb3a329186271793151b","unresolved":true,"context_lines":[{"line_number":49,"context_line":"    the event to the destination.  A value of Redfish shall be used"},{"line_number":50,"context_line":"    to indicate that the event type shall adhere to that defined in"},{"line_number":51,"context_line":"    the Redfish specification\"\"\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def __init__(self, connector, identity, redfish_version\u003dNone,"},{"line_number":54,"context_line":"                 registries\u003dNone):"},{"line_number":55,"context_line":"        \"\"\"A class representing a Subscription"}],"source_content_type":"text/x-python","patch_set":3,"id":"0a005c36_5d381288","line":52,"updated":"2021-05-21 13:47:52.000000000","message":"no HttpHeaders field here?","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d82eedf4c4a038fb2caa9dd78b3bbf6743037dbd","unresolved":true,"context_lines":[{"line_number":49,"context_line":"    the event to the destination.  A value of Redfish shall be used"},{"line_number":50,"context_line":"    to indicate that the event type shall adhere to that defined in"},{"line_number":51,"context_line":"    the Redfish specification\"\"\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def __init__(self, connector, identity, redfish_version\u003dNone,"},{"line_number":54,"context_line":"                 registries\u003dNone):"},{"line_number":55,"context_line":"        \"\"\"A class representing a Subscription"}],"source_content_type":"text/x-python","patch_set":3,"id":"b4747772_138bd638","line":52,"in_reply_to":"0a005c36_5d381288","updated":"2021-05-21 14:10:13.000000000","message":"They will always be empty on GET, since they are always used for the POST they will be in the payload and we will filter to pass the headers in the request to create a subscription.","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"4c5cffc84d34fefe7e3974dee7483f063b094f81","unresolved":true,"context_lines":[{"line_number":49,"context_line":"    the event to the destination.  A value of Redfish shall be used"},{"line_number":50,"context_line":"    to indicate that the event type shall adhere to that defined in"},{"line_number":51,"context_line":"    the Redfish specification\"\"\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def __init__(self, connector, identity, redfish_version\u003dNone,"},{"line_number":54,"context_line":"                 registries\u003dNone):"},{"line_number":55,"context_line":"        \"\"\"A class representing a Subscription"}],"source_content_type":"text/x-python","patch_set":3,"id":"edbd22cc_ae02e18e","line":52,"in_reply_to":"5adeebe2_15c4c0aa","updated":"2021-05-21 15:03:29.000000000","message":"The create itself is handle in the collections part (I was looking at how we handle Volume for example, so I think it should be fine to not have here)","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"defa5c2a944054c58decd250d5de539197a212b2","unresolved":true,"context_lines":[{"line_number":49,"context_line":"    the event to the destination.  A value of Redfish shall be used"},{"line_number":50,"context_line":"    to indicate that the event type shall adhere to that defined in"},{"line_number":51,"context_line":"    the Redfish specification\"\"\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def __init__(self, connector, identity, redfish_version\u003dNone,"},{"line_number":54,"context_line":"                 registries\u003dNone):"},{"line_number":55,"context_line":"        \"\"\"A class representing a Subscription"}],"source_content_type":"text/x-python","patch_set":3,"id":"5adeebe2_15c4c0aa","line":52,"in_reply_to":"b4747772_138bd638","updated":"2021-05-21 14:40:17.000000000","message":"it still could be useful if this class were used in create method.","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"d9a857868245ceccf442bb3a329186271793151b","unresolved":true,"context_lines":[{"line_number":104,"context_line":"            connector, identity, redfish_version, registries)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _create(self, payload):"},{"line_number":107,"context_line":"        # NOTE(iurygregory):we can receive headers for the subscriptions in the"},{"line_number":108,"context_line":"        # payload, before creating we check if the payload has headers."},{"line_number":109,"context_line":"        # If we find `HttpHeaders` we need to remove from the payload before"},{"line_number":110,"context_line":"        # trying to create a subscription."},{"line_number":111,"context_line":"        subscription_headers \u003d payload.get(\"HttpHeaders\")"},{"line_number":112,"context_line":"        if subscription_headers:"},{"line_number":113,"context_line":"            del payload[\"HttpHeaders\"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"9b78f75e_5cf1d0e8","line":110,"range":{"start_line":107,"start_character":8,"end_line":110,"end_character":42},"updated":"2021-05-21 13:47:52.000000000","message":"is that\u0027s how it is specified in Redfish or implemented?\n\nThe spec has:\n\n\"This property shall contain an object consisting of the names and values of of HTTP header to be included with every event POST to the Event Destination.  This property shall be null on a GET.\"\n\nThe way I see this is that they are still part of payload, but once set can\u0027t get its value back (probably because of security as it can contain auth details).\n\nIs it somewhere specified that HttpHeaders need to be taken out from payload and passed separately like in ln116?","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"4c5cffc84d34fefe7e3974dee7483f063b094f81","unresolved":true,"context_lines":[{"line_number":104,"context_line":"            connector, identity, redfish_version, registries)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _create(self, payload):"},{"line_number":107,"context_line":"        # NOTE(iurygregory):we can receive headers for the subscriptions in the"},{"line_number":108,"context_line":"        # payload, before creating we check if the payload has headers."},{"line_number":109,"context_line":"        # If we find `HttpHeaders` we need to remove from the payload before"},{"line_number":110,"context_line":"        # trying to create a subscription."},{"line_number":111,"context_line":"        subscription_headers \u003d payload.get(\"HttpHeaders\")"},{"line_number":112,"context_line":"        if subscription_headers:"},{"line_number":113,"context_line":"            del payload[\"HttpHeaders\"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"bea22076_b8757bb5","line":110,"range":{"start_line":107,"start_character":8,"end_line":110,"end_character":42},"in_reply_to":"138d016e_ce3fed71","updated":"2021-05-21 15:03:29.000000000","message":"humm that\u0027s weird, before testing in iDRAC I had to enable the event service (it was disabled by default)","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"7c754a60c65aadb3e7a63dcb12b810d8a14ed3f7","unresolved":true,"context_lines":[{"line_number":104,"context_line":"            connector, identity, redfish_version, registries)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _create(self, payload):"},{"line_number":107,"context_line":"        # NOTE(iurygregory):we can receive headers for the subscriptions in the"},{"line_number":108,"context_line":"        # payload, before creating we check if the payload has headers."},{"line_number":109,"context_line":"        # If we find `HttpHeaders` we need to remove from the payload before"},{"line_number":110,"context_line":"        # trying to create a subscription."},{"line_number":111,"context_line":"        subscription_headers \u003d payload.get(\"HttpHeaders\")"},{"line_number":112,"context_line":"        if subscription_headers:"},{"line_number":113,"context_line":"            del payload[\"HttpHeaders\"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"b98f316b_298e5770","line":110,"range":{"start_line":107,"start_character":8,"end_line":110,"end_character":42},"in_reply_to":"994b7707_518f28d1","updated":"2021-05-24 14:54:17.000000000","message":"From IRC\n\n\u003e \u003cmraineri\u003e\tajya: The HttpHeaders property in the POST request will contain any headers the client would like to be provided when receiving event notifications\n\u003e \u003cmraineri\u003e\tThe reason it\u0027s an empty array in GET responses is one of the use cases is the client might be specifying authentication parameters for the event listenter\n\u003e \u003cmraineri\u003e\tSo, it\u0027s an attempt to avoid information leakage\n\nThis transformation is not necessary. Why HttpHeaders in Body do not work on tested BMCs, is another question. I will check on iDRAC.\nFor now or later I see that HttpHeaders could be added to property list like any other in EventDestination class given that there are BMCs that work with it.","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d82eedf4c4a038fb2caa9dd78b3bbf6743037dbd","unresolved":true,"context_lines":[{"line_number":104,"context_line":"            connector, identity, redfish_version, registries)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _create(self, payload):"},{"line_number":107,"context_line":"        # NOTE(iurygregory):we can receive headers for the subscriptions in the"},{"line_number":108,"context_line":"        # payload, before creating we check if the payload has headers."},{"line_number":109,"context_line":"        # If we find `HttpHeaders` we need to remove from the payload before"},{"line_number":110,"context_line":"        # trying to create a subscription."},{"line_number":111,"context_line":"        subscription_headers \u003d payload.get(\"HttpHeaders\")"},{"line_number":112,"context_line":"        if subscription_headers:"},{"line_number":113,"context_line":"            del payload[\"HttpHeaders\"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"bdc598b6_b79bb23e","line":110,"range":{"start_line":107,"start_character":8,"end_line":110,"end_character":42},"in_reply_to":"9b78f75e_5cf1d0e8","updated":"2021-05-21 14:10:13.000000000","message":"I did some tests in iDRAC and iLO, if we keep the headers in the payload the subscription is not created, to me it makes sense that the headers from the payload will turn in the headers for the request to create a subscription","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"defa5c2a944054c58decd250d5de539197a212b2","unresolved":true,"context_lines":[{"line_number":104,"context_line":"            connector, identity, redfish_version, registries)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _create(self, payload):"},{"line_number":107,"context_line":"        # NOTE(iurygregory):we can receive headers for the subscriptions in the"},{"line_number":108,"context_line":"        # payload, before creating we check if the payload has headers."},{"line_number":109,"context_line":"        # If we find `HttpHeaders` we need to remove from the payload before"},{"line_number":110,"context_line":"        # trying to create a subscription."},{"line_number":111,"context_line":"        subscription_headers \u003d payload.get(\"HttpHeaders\")"},{"line_number":112,"context_line":"        if subscription_headers:"},{"line_number":113,"context_line":"            del payload[\"HttpHeaders\"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"138d016e_ce3fed71","line":110,"range":{"start_line":107,"start_character":8,"end_line":110,"end_character":42},"in_reply_to":"bdc598b6_b79bb23e","updated":"2021-05-21 14:40:17.000000000","message":"iDRAC gives 400 Bad request when passing non-empty HttpHeader, that\u0027s strange, need to clarify this. The pattern is not something I have seen before in Redfish.","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"19da2b4a71312eebf634c3ad658f35a76a08fbce","unresolved":true,"context_lines":[{"line_number":104,"context_line":"            connector, identity, redfish_version, registries)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _create(self, payload):"},{"line_number":107,"context_line":"        # NOTE(iurygregory):we can receive headers for the subscriptions in the"},{"line_number":108,"context_line":"        # payload, before creating we check if the payload has headers."},{"line_number":109,"context_line":"        # If we find `HttpHeaders` we need to remove from the payload before"},{"line_number":110,"context_line":"        # trying to create a subscription."},{"line_number":111,"context_line":"        subscription_headers \u003d payload.get(\"HttpHeaders\")"},{"line_number":112,"context_line":"        if subscription_headers:"},{"line_number":113,"context_line":"            del payload[\"HttpHeaders\"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"994b7707_518f28d1","line":110,"range":{"start_line":107,"start_character":8,"end_line":110,"end_character":42},"in_reply_to":"bea22076_b8757bb5","updated":"2021-05-24 08:17:58.000000000","message":"it worked for me without HttpHeader in body or setting [], but this could be something to do with iDRAC.\n\nWill ping Mike in IRC about generic Redfish approach re this.","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"a2bba5e3922d68a641295c3d076133a3f0a01e79","unresolved":true,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        :raises: ConnectionError"},{"line_number":74,"context_line":"        :raises: HTTPError"},{"line_number":75,"context_line":"        :returns: None"},{"line_number":76,"context_line":"        \"\"\""},{"line_number":77,"context_line":"        self._conn.delete(self._path)"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"b500a2f4_6078dda8","line":75,"range":{"start_line":75,"start_character":7,"end_line":75,"end_character":22},"updated":"2021-05-26 08:12:07.000000000","message":"nit: if None, then could just leave out","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"8d6cb9506aec15ee74f2566d89ef9d8665a6fc68","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        :raises: ConnectionError"},{"line_number":74,"context_line":"        :raises: HTTPError"},{"line_number":75,"context_line":"        :returns: None"},{"line_number":76,"context_line":"        \"\"\""},{"line_number":77,"context_line":"        self._conn.delete(self._path)"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"0f06092e_b1c58fcf","line":75,"range":{"start_line":75,"start_character":7,"end_line":75,"end_character":22},"in_reply_to":"b500a2f4_6078dda8","updated":"2021-05-26 09:06:05.000000000","message":"Done","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"}],"sushy/resources/eventservice/eventservice.py":[{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"9619678eb425c0c7d1c493ff585dbbc1c1a07cd8","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                                              adapter\u003dlist)"},{"line_number":57,"context_line":"    \"\"\"Types of Events that can be subscribed to\"\"\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    service_enabled \u003d base.Field(\u0027ServiceEnabled\u0027)"},{"line_number":60,"context_line":"    \"\"\"Indicates whether the EventService is enabled\"\"\""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    status \u003d common.StatusField(\u0027Status\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"397e5315_ed43c679","line":59,"range":{"start_line":59,"start_character":33,"end_line":59,"end_character":49},"updated":"2021-05-20 18:06:44.000000000","message":"Can use \"adapter\u003dbool\" here as this is a boolean","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"9619678eb425c0c7d1c493ff585dbbc1c1a07cd8","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                                              adapter\u003dlist)"},{"line_number":57,"context_line":"    \"\"\"Types of Events that can be subscribed to\"\"\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    service_enabled \u003d base.Field(\u0027ServiceEnabled\u0027)"},{"line_number":60,"context_line":"    \"\"\"Indicates whether the EventService is enabled\"\"\""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    status \u003d common.StatusField(\u0027Status\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"66ce6ec7_bc6ad385","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":19},"updated":"2021-05-20 18:06:44.000000000","message":"Do you need a method to enable the service if disabled? Or to check if its enabled before adding subscriptions?  Or is that out of scope?","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"b03232a7c8a471f18a98f8452388d0310803fd4b","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                                              adapter\u003dlist)"},{"line_number":57,"context_line":"    \"\"\"Types of Events that can be subscribed to\"\"\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    service_enabled \u003d base.Field(\u0027ServiceEnabled\u0027)"},{"line_number":60,"context_line":"    \"\"\"Indicates whether the EventService is enabled\"\"\""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    status \u003d common.StatusField(\u0027Status\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"acb94ec9_9a109e2d","line":59,"range":{"start_line":59,"start_character":33,"end_line":59,"end_character":49},"in_reply_to":"397e5315_ed43c679","updated":"2021-05-20 18:15:09.000000000","message":"Done","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"b03232a7c8a471f18a98f8452388d0310803fd4b","unresolved":true,"context_lines":[{"line_number":56,"context_line":"                                              adapter\u003dlist)"},{"line_number":57,"context_line":"    \"\"\"Types of Events that can be subscribed to\"\"\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    service_enabled \u003d base.Field(\u0027ServiceEnabled\u0027)"},{"line_number":60,"context_line":"    \"\"\"Indicates whether the EventService is enabled\"\"\""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    status \u003d common.StatusField(\u0027Status\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfc87dfb_cc22c62f","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":19},"in_reply_to":"66ce6ec7_bc6ad385","updated":"2021-05-20 18:15:09.000000000","message":"I would say it\u0027s out of scope, the ironic api would handle in case we can\u0027t create the subscription. \nI think the operator would enable in iDRAC or iLO if they want the event service active (I had to enable in iDRAC since it was disable - not sure if is the default)","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"0b4eb34382d00f41f95af5c833d46b00a93417b7","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                                              adapter\u003dlist)"},{"line_number":57,"context_line":"    \"\"\"Types of Events that can be subscribed to\"\"\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    service_enabled \u003d base.Field(\u0027ServiceEnabled\u0027)"},{"line_number":60,"context_line":"    \"\"\"Indicates whether the EventService is enabled\"\"\""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    status \u003d common.StatusField(\u0027Status\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"585d3ddc_e2c87027","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":19},"in_reply_to":"dfc87dfb_cc22c62f","updated":"2021-05-20 18:31:59.000000000","message":"OK thanks. Yeah I saw on a iDrac that it was disabled and on a ilo it was enabled, so default will probably depend on vendor.","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"9619678eb425c0c7d1c493ff585dbbc1c1a07cd8","unresolved":true,"context_lines":[{"line_number":134,"context_line":"        if not self.event_types_for_subscription:"},{"line_number":135,"context_line":"            LOG.warning(\u0027Could not figure out the Event types supported by \u0027"},{"line_number":136,"context_line":"                        \u0027the EventService %s\u0027, self.identify)"},{"line_number":137,"context_line":"            return set(evs_cons.EVENT_TYPES_FOR_SUBSCRIPTION)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        return set(e for e in self.event_types_for_subscription"},{"line_number":140,"context_line":"                   if e in evs_cons.EVENT_TYPES_FOR_SUBSCRIPTION)"}],"source_content_type":"text/x-python","patch_set":2,"id":"d6541c29_2a8b16f8","line":137,"range":{"start_line":137,"start_character":12,"end_line":137,"end_character":61},"updated":"2021-05-20 18:06:44.000000000","message":"Should you return no event types in this case, instead of all of them?","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"b03232a7c8a471f18a98f8452388d0310803fd4b","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        if not self.event_types_for_subscription:"},{"line_number":135,"context_line":"            LOG.warning(\u0027Could not figure out the Event types supported by \u0027"},{"line_number":136,"context_line":"                        \u0027the EventService %s\u0027, self.identify)"},{"line_number":137,"context_line":"            return set(evs_cons.EVENT_TYPES_FOR_SUBSCRIPTION)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        return set(e for e in self.event_types_for_subscription"},{"line_number":140,"context_line":"                   if e in evs_cons.EVENT_TYPES_FOR_SUBSCRIPTION)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9124fa1e_bca6e1aa","line":137,"range":{"start_line":137,"start_character":12,"end_line":137,"end_character":61},"in_reply_to":"d6541c29_2a8b16f8","updated":"2021-05-20 18:15:09.000000000","message":"Yeah, you are right \u003d)","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"d9a857868245ceccf442bb3a329186271793151b","unresolved":true,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        :param connector: A Connector instance"},{"line_number":72,"context_line":"        :param identity: The identity of the EventService resource"},{"line_number":73,"context_line":"        :param redfish_version: The version of RedFish. Used to construct"},{"line_number":74,"context_line":"            the object according to schema of given version"},{"line_number":75,"context_line":"        :param registries: Dict of registries to be used in any resource"},{"line_number":76,"context_line":"            that needs registries to parse messages."}],"source_content_type":"text/x-python","patch_set":3,"id":"637eb147_e4761bfa","line":73,"range":{"start_line":73,"start_character":47,"end_line":73,"end_character":54},"updated":"2021-05-21 13:47:52.000000000","message":"nit: Redfish","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"608d588067cb41edfb0c81df0954d8b4b55576ae","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        :param connector: A Connector instance"},{"line_number":72,"context_line":"        :param identity: The identity of the EventService resource"},{"line_number":73,"context_line":"        :param redfish_version: The version of RedFish. Used to construct"},{"line_number":74,"context_line":"            the object according to schema of given version"},{"line_number":75,"context_line":"        :param registries: Dict of registries to be used in any resource"},{"line_number":76,"context_line":"            that needs registries to parse messages."}],"source_content_type":"text/x-python","patch_set":3,"id":"26c05ee2_69dde89a","line":73,"range":{"start_line":73,"start_character":47,"end_line":73,"end_character":54},"in_reply_to":"637eb147_e4761bfa","updated":"2021-05-23 16:29:10.000000000","message":"Done","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"d9a857868245ceccf442bb3a329186271793151b","unresolved":true,"context_lines":[{"line_number":123,"context_line":"        }"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        rsp \u003d self._conn.post(target, data\u003ddata)"},{"line_number":126,"context_line":"        return taskmonitor.TaskMonitor.from_response("},{"line_number":127,"context_line":"            self._conn, rsp, target, self.redfish_version, self.registries)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def get_event_types_for_subscription(self):"},{"line_number":130,"context_line":"        \"\"\"Get the Types of Events that can be subscribed to"}],"source_content_type":"text/x-python","patch_set":3,"id":"879e35be_75168b04","line":127,"range":{"start_line":126,"start_character":8,"end_line":127,"end_character":75},"updated":"2021-05-21 13:47:52.000000000","message":"is submit test event an async operation that returns task monitor?","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"608d588067cb41edfb0c81df0954d8b4b55576ae","unresolved":true,"context_lines":[{"line_number":123,"context_line":"        }"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        rsp \u003d self._conn.post(target, data\u003ddata)"},{"line_number":126,"context_line":"        return taskmonitor.TaskMonitor.from_response("},{"line_number":127,"context_line":"            self._conn, rsp, target, self.redfish_version, self.registries)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def get_event_types_for_subscription(self):"},{"line_number":130,"context_line":"        \"\"\"Get the Types of Events that can be subscribed to"}],"source_content_type":"text/x-python","patch_set":3,"id":"dd39fb8b_af89585d","line":127,"range":{"start_line":126,"start_character":8,"end_line":127,"end_character":75},"in_reply_to":"879e35be_75168b04","updated":"2021-05-23 16:29:10.000000000","message":"I haven\u0027t really test the submit test event, the redfish docs doesn\u0027t provide information if they will return a TaskMonitor. Do you know how I can check that?","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"19da2b4a71312eebf634c3ad658f35a76a08fbce","unresolved":true,"context_lines":[{"line_number":123,"context_line":"        }"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        rsp \u003d self._conn.post(target, data\u003ddata)"},{"line_number":126,"context_line":"        return taskmonitor.TaskMonitor.from_response("},{"line_number":127,"context_line":"            self._conn, rsp, target, self.redfish_version, self.registries)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def get_event_types_for_subscription(self):"},{"line_number":130,"context_line":"        \"\"\"Get the Types of Events that can be subscribed to"}],"source_content_type":"text/x-python","patch_set":3,"id":"87a99e0d_244d064a","line":127,"range":{"start_line":126,"start_character":8,"end_line":127,"end_character":75},"in_reply_to":"dd39fb8b_af89585d","updated":"2021-05-24 08:17:58.000000000","message":"If you haven\u0027t checked, then rather assume it\u0027s sync operation.\nSee here about async ops [1]. One indication can be if there is OperationApplyTime in schema.\n\nOn iDRAC this is sync op. Don\u0027t see this as long running op in other BMCs too.\n\n\n[1] http://redfish.dmtf.org/schemas/DSP0266_1.11.0.html#asynchronous-operations","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"d9a857868245ceccf442bb3a329186271793151b","unresolved":true,"context_lines":[{"line_number":134,"context_line":"        if not self.event_types_for_subscription:"},{"line_number":135,"context_line":"            LOG.warning(\u0027Could not figure out the Event types supported by \u0027"},{"line_number":136,"context_line":"                        \u0027the EventService %s\u0027, self.identify)"},{"line_number":137,"context_line":"            return set()"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        return set(e for e in self.event_types_for_subscription"},{"line_number":140,"context_line":"                   if e in evs_cons.EVENT_TYPES_FOR_SUBSCRIPTION)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5e05eda5_552f3da0","line":137,"range":{"start_line":137,"start_character":12,"end_line":137,"end_character":24},"updated":"2021-05-21 13:47:52.000000000","message":"in similar situations in sushy, full set of known items are returned, see, e.g., [1]. Could do it here too?\n\n[1] https://opendev.org/openstack/sushy/src/branch/master/sushy/resources/system/system.py#L172","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"608d588067cb41edfb0c81df0954d8b4b55576ae","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        if not self.event_types_for_subscription:"},{"line_number":135,"context_line":"            LOG.warning(\u0027Could not figure out the Event types supported by \u0027"},{"line_number":136,"context_line":"                        \u0027the EventService %s\u0027, self.identify)"},{"line_number":137,"context_line":"            return set()"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        return set(e for e in self.event_types_for_subscription"},{"line_number":140,"context_line":"                   if e in evs_cons.EVENT_TYPES_FOR_SUBSCRIPTION)"}],"source_content_type":"text/x-python","patch_set":3,"id":"6e40e2de_757afa1c","line":137,"range":{"start_line":137,"start_character":12,"end_line":137,"end_character":24},"in_reply_to":"5e05eda5_552f3da0","updated":"2021-05-23 16:29:10.000000000","message":"Sure","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"d9a857868245ceccf442bb3a329186271793151b","unresolved":true,"context_lines":[{"line_number":139,"context_line":"        return set(e for e in self.event_types_for_subscription"},{"line_number":140,"context_line":"                   if e in evs_cons.EVENT_TYPES_FOR_SUBSCRIPTION)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def _get_subscriptions_collection_path(self):"},{"line_number":143,"context_line":"        \"\"\"Helper function to find the EventDestinationCollections path\"\"\""},{"line_number":144,"context_line":"        subscriptions \u003d self.json.get(\u0027Subscriptions\u0027)"},{"line_number":145,"context_line":"        if not subscriptions:"},{"line_number":146,"context_line":"            raise exceptions.MissingAttributeError("},{"line_number":147,"context_line":"                attribute\u003d\u0027Subscriptions\u0027, resource\u003dself._path)"},{"line_number":148,"context_line":"        return subscriptions.get(\u0027@odata.id\u0027)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    @property"},{"line_number":151,"context_line":"    def subscriptions(self):"},{"line_number":152,"context_line":"        \"\"\"Reference to a collection of Event Destination resources\"\"\""},{"line_number":153,"context_line":"        return eventdestination.EventDestinationCollection("},{"line_number":154,"context_line":"            self._conn, self._get_subscriptions_collection_path(),"},{"line_number":155,"context_line":"            self.redfish_version, self.registries)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5cc89630_f1aea8ad","line":155,"range":{"start_line":142,"start_character":4,"end_line":155,"end_character":50},"updated":"2021-05-21 13:47:52.000000000","message":"perhaps can use the pattern as here [1][2] for consistency?\n\n[1] https://opendev.org/openstack/sushy/src/branch/master/sushy/main.py#L127\n[2] https://opendev.org/openstack/sushy/src/branch/master/sushy/main.py#L216","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"608d588067cb41edfb0c81df0954d8b4b55576ae","unresolved":true,"context_lines":[{"line_number":139,"context_line":"        return set(e for e in self.event_types_for_subscription"},{"line_number":140,"context_line":"                   if e in evs_cons.EVENT_TYPES_FOR_SUBSCRIPTION)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def _get_subscriptions_collection_path(self):"},{"line_number":143,"context_line":"        \"\"\"Helper function to find the EventDestinationCollections path\"\"\""},{"line_number":144,"context_line":"        subscriptions \u003d self.json.get(\u0027Subscriptions\u0027)"},{"line_number":145,"context_line":"        if not subscriptions:"},{"line_number":146,"context_line":"            raise exceptions.MissingAttributeError("},{"line_number":147,"context_line":"                attribute\u003d\u0027Subscriptions\u0027, resource\u003dself._path)"},{"line_number":148,"context_line":"        return subscriptions.get(\u0027@odata.id\u0027)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    @property"},{"line_number":151,"context_line":"    def subscriptions(self):"},{"line_number":152,"context_line":"        \"\"\"Reference to a collection of Event Destination resources\"\"\""},{"line_number":153,"context_line":"        return eventdestination.EventDestinationCollection("},{"line_number":154,"context_line":"            self._conn, self._get_subscriptions_collection_path(),"},{"line_number":155,"context_line":"            self.redfish_version, self.registries)"}],"source_content_type":"text/x-python","patch_set":3,"id":"05624ef4_0c928c17","line":155,"range":{"start_line":142,"start_character":4,"end_line":155,"end_character":50},"in_reply_to":"5cc89630_f1aea8ad","updated":"2021-05-23 16:29:10.000000000","message":"I\u0027m using the same approach we have in  [1][2][3][4], I think the pattern in main is for the resources under /redfish/v1.\n\n[1] https://opendev.org/openstack/sushy/src/branch/master/sushy/resources/compositionservice/compositionservice.py#L67\n[2] https://opendev.org/openstack/sushy/src/branch/master/sushy/resources/compositionservice/compositionservice.py#L75\n[3] https://opendev.org/openstack/sushy/src/branch/master/sushy/resources/sessionservice/sessionservice.py#L67\n[4] https://opendev.org/openstack/sushy/src/branch/master/sushy/resources/system/processor.py#L109","commit_id":"dc8bf357124a8117c3664a196e35c6e128c3ebdf"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"a2bba5e3922d68a641295c3d076133a3f0a01e79","unresolved":true,"context_lines":[{"line_number":123,"context_line":"        }"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        rsp \u003d self._conn.post(target, data\u003ddata)"},{"line_number":126,"context_line":"        return taskmonitor.TaskMonitor.from_response("},{"line_number":127,"context_line":"            self._conn, rsp, target, self.redfish_version, self.registries)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def get_event_types_for_subscription(self):"},{"line_number":130,"context_line":"        \"\"\"Get the Types of Events that can be subscribed to"}],"source_content_type":"text/x-python","patch_set":6,"id":"fd68b152_8be6ab5f","line":127,"range":{"start_line":126,"start_character":0,"end_line":127,"end_character":75},"updated":"2021-05-26 08:12:07.000000000","message":"not async operation; in iDRAC responds with 204 No Content","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"8d6cb9506aec15ee74f2566d89ef9d8665a6fc68","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        }"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        rsp \u003d self._conn.post(target, data\u003ddata)"},{"line_number":126,"context_line":"        return taskmonitor.TaskMonitor.from_response("},{"line_number":127,"context_line":"            self._conn, rsp, target, self.redfish_version, self.registries)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def get_event_types_for_subscription(self):"},{"line_number":130,"context_line":"        \"\"\"Get the Types of Events that can be subscribed to"}],"source_content_type":"text/x-python","patch_set":6,"id":"71f7568e_9f5294ae","line":127,"range":{"start_line":126,"start_character":0,"end_line":127,"end_character":75},"in_reply_to":"fd68b152_8be6ab5f","updated":"2021-05-26 09:06:05.000000000","message":"Ack, updated","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"77fe6618116e620ac296491f4adf1c90fb00b803","unresolved":true,"context_lines":[{"line_number":70,"context_line":"        :param identity: The identity of the EventService resource"},{"line_number":71,"context_line":"        :param redfish_version: The version of Redfish. Used to construct"},{"line_number":72,"context_line":"            the object according to schema of given version"},{"line_number":73,"context_line":"        :param registries: Dict of registries to be used in any resource"},{"line_number":74,"context_line":"            that needs registries to parse messages."},{"line_number":75,"context_line":"        \"\"\""},{"line_number":76,"context_line":"        super(EventService, self).__init__("},{"line_number":77,"context_line":"            connector, identity, redfish_version)"}],"source_content_type":"text/x-python","patch_set":8,"id":"26c3b854_b9532fce","line":74,"range":{"start_line":73,"start_character":8,"end_line":74,"end_character":52},"updated":"2021-05-27 08:31:11.000000000","message":"then need to remove this too, though it would be better to keep registries and initialize with lazy loaded registries like most other services have.","commit_id":"0157d523a236cf5494b1335e0a2ed8ccf7807dc1"}],"sushy/resources/eventservice/mappings.py":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"19da2b4a71312eebf634c3ad658f35a76a08fbce","unresolved":true,"context_lines":[{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from sushy.resources.eventservice import constants as evt_service"},{"line_number":14,"context_line":"from sushy import utils"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"221c1990_bf6f6a6c","line":13,"range":{"start_line":13,"start_character":54,"end_line":13,"end_character":65},"updated":"2021-05-24 08:17:58.000000000","message":"better name evt_cons as they are constants not service itself","commit_id":"832ddac014cccdc0e138eba5c0dc7fc2a67873d2"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"19da2b4a71312eebf634c3ad658f35a76a08fbce","unresolved":true,"context_lines":[{"line_number":14,"context_line":"from sushy import utils"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"EVENT_SERVICE_TYPES_VALUE_MAP \u003d {"},{"line_number":18,"context_line":"    \u0027StatusChange\u0027: evt_service.EVENT_TYPE_STATUS_CHANGE,"},{"line_number":19,"context_line":"    \u0027ResourceAdded\u0027: evt_service.EVENT_TYPE_RESOURCE_ADDED,"},{"line_number":20,"context_line":"    \u0027ResourceRemoved\u0027: evt_service.EVENT_TYPE_RESOURCE_REMOVED,"}],"source_content_type":"text/x-python","patch_set":4,"id":"d37ad1c8_e2e8bc10","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":29},"updated":"2021-05-24 08:17:58.000000000","message":"following other mappings - EVENT_TYPE_VALUE_MAP and EVENT_TYPE_VALUE_MAP_REV . Or is it somewhere different?","commit_id":"832ddac014cccdc0e138eba5c0dc7fc2a67873d2"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"a2bba5e3922d68a641295c3d076133a3f0a01e79","unresolved":true,"context_lines":[{"line_number":13,"context_line":"from sushy.resources.eventservice import constants as evt_cons"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"EVENT_SERVICE_TYPES_VALUE_MAP \u003d {"},{"line_number":17,"context_line":"    \u0027StatusChange\u0027: evt_cons.EVENT_TYPE_STATUS_CHANGE,"},{"line_number":18,"context_line":"    \u0027ResourceAdded\u0027: evt_cons.EVENT_TYPE_RESOURCE_ADDED,"},{"line_number":19,"context_line":"    \u0027ResourceRemoved\u0027: evt_cons.EVENT_TYPE_RESOURCE_REMOVED,"}],"source_content_type":"text/x-python","patch_set":6,"id":"bd4d1fe4_a2adbc99","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":29},"updated":"2021-05-26 08:12:07.000000000","message":"EVENT_TYPE_VALUE_MAP for consistency with other such MAPs","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"8d6cb9506aec15ee74f2566d89ef9d8665a6fc68","unresolved":false,"context_lines":[{"line_number":13,"context_line":"from sushy.resources.eventservice import constants as evt_cons"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"EVENT_SERVICE_TYPES_VALUE_MAP \u003d {"},{"line_number":17,"context_line":"    \u0027StatusChange\u0027: evt_cons.EVENT_TYPE_STATUS_CHANGE,"},{"line_number":18,"context_line":"    \u0027ResourceAdded\u0027: evt_cons.EVENT_TYPE_RESOURCE_ADDED,"},{"line_number":19,"context_line":"    \u0027ResourceRemoved\u0027: evt_cons.EVENT_TYPE_RESOURCE_REMOVED,"}],"source_content_type":"text/x-python","patch_set":6,"id":"27df91f1_270a6c49","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":29},"in_reply_to":"bd4d1fe4_a2adbc99","updated":"2021-05-26 09:06:05.000000000","message":"Done","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"}],"sushy/tests/unit/json_samples/eventdestination2.json":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"19da2b4a71312eebf634c3ad658f35a76a08fbce","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"69d0da97_8d4b7969","line":17,"updated":"2021-05-24 08:17:58.000000000","message":"nit: new line","commit_id":"832ddac014cccdc0e138eba5c0dc7fc2a67873d2"}],"sushy/tests/unit/json_samples/subscription1.json":[{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"9619678eb425c0c7d1c493ff585dbbc1c1a07cd8","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"  \"@odata.context\": \"/redfish/v1/$metadata#EventDestination.EventDestination\","},{"line_number":3,"context_line":"  \"@odata.id\": \"/redfish/v1/EventService/Subscriptions/4\","},{"line_number":4,"context_line":"  \"@odata.type\": \"#EventDestination.v1_0_0.EventDestination\","},{"line_number":5,"context_line":"  \"Id\": \"1\","},{"line_number":6,"context_line":"  \"Context\": \"SomeContext\","}],"source_content_type":"application/json","patch_set":2,"id":"8513a3ae_9958f367","line":3,"range":{"start_line":3,"start_character":55,"end_line":3,"end_character":56},"updated":"2021-05-20 18:06:44.000000000","message":"Nit - should be 1 to match the collection example","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"b03232a7c8a471f18a98f8452388d0310803fd4b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"  \"@odata.context\": \"/redfish/v1/$metadata#EventDestination.EventDestination\","},{"line_number":3,"context_line":"  \"@odata.id\": \"/redfish/v1/EventService/Subscriptions/4\","},{"line_number":4,"context_line":"  \"@odata.type\": \"#EventDestination.v1_0_0.EventDestination\","},{"line_number":5,"context_line":"  \"Id\": \"1\","},{"line_number":6,"context_line":"  \"Context\": \"SomeContext\","}],"source_content_type":"application/json","patch_set":2,"id":"cc2327b1_c42d4f1f","line":3,"range":{"start_line":3,"start_character":55,"end_line":3,"end_character":56},"in_reply_to":"8513a3ae_9958f367","updated":"2021-05-20 18:15:09.000000000","message":"You are right, thanks Bob!","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"}],"sushy/tests/unit/resources/eventservice/test_evendestination.py":[{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"9619678eb425c0c7d1c493ff585dbbc1c1a07cd8","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bf0544fc_3e3ec8de","line":137,"updated":"2021-05-20 18:06:44.000000000","message":"Do you need a test case for delete?","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"0b4eb34382d00f41f95af5c833d46b00a93417b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"cd9ba00f_8278d3e6","line":137,"in_reply_to":"461fa149_0118e1d7","updated":"2021-05-20 18:31:59.000000000","message":"I missed that, thanks!","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"b03232a7c8a471f18a98f8452388d0310803fd4b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"461fa149_0118e1d7","line":137,"in_reply_to":"bf0544fc_3e3ec8de","updated":"2021-05-20 18:15:09.000000000","message":"The delete is related to the subscription itself, Line47 contains a test case for delete \u003d)","commit_id":"17551d2399c8a8ab7cfca3a9e1b0889c5875229c"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"19da2b4a71312eebf634c3ad658f35a76a08fbce","unresolved":true,"context_lines":[{"line_number":17,"context_line":"from sushy.tests.unit import base"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class Subscription(base.TestCase):"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def setUp(self):"},{"line_number":23,"context_line":"        super(Subscription, self).setUp()"}],"source_content_type":"text/x-python","patch_set":4,"id":"df5644ac_1c90cae2","line":20,"range":{"start_line":20,"start_character":6,"end_line":20,"end_character":18},"updated":"2021-05-24 08:17:58.000000000","message":"EventDestinationTestCase","commit_id":"832ddac014cccdc0e138eba5c0dc7fc2a67873d2"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"a2bba5e3922d68a641295c3d076133a3f0a01e79","unresolved":true,"context_lines":[{"line_number":84,"context_line":"        self.assertIsInstance(members, list)"},{"line_number":85,"context_line":"        self.assertEqual(2, len(members))"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def test__create_subscription_without_headers(self):"},{"line_number":88,"context_line":"        payload \u003d {"},{"line_number":89,"context_line":"            \u0027Destination\u0027: \u0027https://localhost/RedfishEvents/EventReceiver.php\u0027,"},{"line_number":90,"context_line":"            \u0027Context\u0027: \u0027IronicContext\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5528f534_8862eaf2","line":87,"range":{"start_line":87,"start_character":8,"end_line":87,"end_character":49},"updated":"2021-05-26 08:12:07.000000000","message":"no need for 2 test cases anymore","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"8d6cb9506aec15ee74f2566d89ef9d8665a6fc68","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        self.assertIsInstance(members, list)"},{"line_number":85,"context_line":"        self.assertEqual(2, len(members))"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def test__create_subscription_without_headers(self):"},{"line_number":88,"context_line":"        payload \u003d {"},{"line_number":89,"context_line":"            \u0027Destination\u0027: \u0027https://localhost/RedfishEvents/EventReceiver.php\u0027,"},{"line_number":90,"context_line":"            \u0027Context\u0027: \u0027IronicContext\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"f14695d3_70382063","line":87,"range":{"start_line":87,"start_character":8,"end_line":87,"end_character":49},"in_reply_to":"5528f534_8862eaf2","updated":"2021-05-26 09:06:05.000000000","message":"I think it makes sense to test with and without the headers, just to show that is optional. I will change the name of the tests.","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"73bbf050d1970af792ed77feb21b5dc9a33ef1af","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        self.assertIsInstance(members, list)"},{"line_number":85,"context_line":"        self.assertEqual(2, len(members))"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def test__create_subscription_without_headers(self):"},{"line_number":88,"context_line":"        payload \u003d {"},{"line_number":89,"context_line":"            \u0027Destination\u0027: \u0027https://localhost/RedfishEvents/EventReceiver.php\u0027,"},{"line_number":90,"context_line":"            \u0027Context\u0027: \u0027IronicContext\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"c1c051e9_3964451c","line":87,"range":{"start_line":87,"start_character":8,"end_line":87,"end_character":49},"in_reply_to":"f14695d3_70382063","updated":"2021-05-26 09:28:01.000000000","message":"it does not add any additional coverage, it does not change what code gets executed in sushy, so it\u0027s duplicating the same thing. Otherwise we will have to write tests for all optional attributes and at least I don\u0027t want to do that :). HttpHeaders is just regular property as any other, only exception that it\u0027s always empty on return, but code-wise at unit test level don\u0027t see reason to test the same code twice.","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"}],"sushy/tests/unit/resources/eventservice/test_eventservice.py":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"a2bba5e3922d68a641295c3d076133a3f0a01e79","unresolved":true,"context_lines":[{"line_number":43,"context_line":"        self.assertEqual(self.eventservice.service_enabled, True)"},{"line_number":44,"context_line":"        self.assertEqual(self.eventservice.status.health, \u0027ok\u0027)"},{"line_number":45,"context_line":"        self.assertEqual(self.eventservice.status.health_rollup, \u0027ok\u0027)"},{"line_number":46,"context_line":"        self.assertEqual(self.eventservice.status.state, \u0027enabled\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def test__get_event_types_for_subscription(self):"},{"line_number":49,"context_line":"        expected \u003d set([sushy.EVENT_TYPE_STATUS_CHANGE,"}],"source_content_type":"text/x-python","patch_set":6,"id":"793b6059_851ee46f","line":46,"updated":"2021-05-26 08:12:07.000000000","message":"assert self.eventservice.subscriptions here or separately","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"8d6cb9506aec15ee74f2566d89ef9d8665a6fc68","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.assertEqual(self.eventservice.service_enabled, True)"},{"line_number":44,"context_line":"        self.assertEqual(self.eventservice.status.health, \u0027ok\u0027)"},{"line_number":45,"context_line":"        self.assertEqual(self.eventservice.status.health_rollup, \u0027ok\u0027)"},{"line_number":46,"context_line":"        self.assertEqual(self.eventservice.status.state, \u0027enabled\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def test__get_event_types_for_subscription(self):"},{"line_number":49,"context_line":"        expected \u003d set([sushy.EVENT_TYPE_STATUS_CHANGE,"}],"source_content_type":"text/x-python","patch_set":6,"id":"86b721b9_6127280b","line":46,"in_reply_to":"793b6059_851ee46f","updated":"2021-05-26 09:06:05.000000000","message":"Done","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"a2bba5e3922d68a641295c3d076133a3f0a01e79","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        self.assertEqual(self.eventservice.status.health_rollup, \u0027ok\u0027)"},{"line_number":46,"context_line":"        self.assertEqual(self.eventservice.status.state, \u0027enabled\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def test__get_event_types_for_subscription(self):"},{"line_number":49,"context_line":"        expected \u003d set([sushy.EVENT_TYPE_STATUS_CHANGE,"},{"line_number":50,"context_line":"                        sushy.EVENT_TYPE_RESOURCE_ADDED,"},{"line_number":51,"context_line":"                        sushy.EVENT_TYPE_RESOURCE_REMOVED,"}],"source_content_type":"text/x-python","patch_set":6,"id":"db66e7c6_5600d823","line":48,"range":{"start_line":48,"start_character":8,"end_line":48,"end_character":46},"updated":"2021-05-26 08:12:07.000000000","message":"nice to have a test case when there are no event types defined, otherwise there is no coverage for that code","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"8d6cb9506aec15ee74f2566d89ef9d8665a6fc68","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        self.assertEqual(self.eventservice.status.health_rollup, \u0027ok\u0027)"},{"line_number":46,"context_line":"        self.assertEqual(self.eventservice.status.state, \u0027enabled\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def test__get_event_types_for_subscription(self):"},{"line_number":49,"context_line":"        expected \u003d set([sushy.EVENT_TYPE_STATUS_CHANGE,"},{"line_number":50,"context_line":"                        sushy.EVENT_TYPE_RESOURCE_ADDED,"},{"line_number":51,"context_line":"                        sushy.EVENT_TYPE_RESOURCE_REMOVED,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7d253ee4_d4c8389c","line":48,"range":{"start_line":48,"start_character":8,"end_line":48,"end_character":46},"in_reply_to":"db66e7c6_5600d823","updated":"2021-05-26 09:06:05.000000000","message":"I will add a test case where the EventType is not supported in eventdestination.","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"a2bba5e3922d68a641295c3d076133a3f0a01e79","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d91ca638_2a518cfa","line":67,"updated":"2021-05-26 08:12:07.000000000","message":"test case for submit_test_event","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"95d7a6216d8450b4383ad961c32d4617e7222d69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"df2a93d6_0b4fa63b","line":67,"in_reply_to":"1abb12b2_a9d7a693","updated":"2021-05-26 12:56:17.000000000","message":"Done","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"8d6cb9506aec15ee74f2566d89ef9d8665a6fc68","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1abb12b2_a9d7a693","line":67,"in_reply_to":"d91ca638_2a518cfa","updated":"2021-05-26 09:06:05.000000000","message":"Ack","commit_id":"f63b94f3fabe3df0ed5bacbfd0c0b8ecf573b8d1"}]}
