)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"76ea47ba2561934cb8ea5ca4ca099db5538cb30b","unresolved":true,"context_lines":[{"line_number":9,"context_line":"This commit adds support to check if request to create"},{"line_number":10,"context_line":"a subscription contains HttpHeaders so we can send in the"},{"line_number":11,"context_line":"payload."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I548ae06e22f217bf10ce6a7af57addfa7f9be555"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"49f71650_7bf1a251","line":12,"updated":"2021-09-08 17:15:57.000000000","message":"Any references to this? I guess I need to be a redfish subscription expert.","commit_id":"b3d65e5a1ec6dcc19fdb23949e16614c0f63e87c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d98226a3a0e1fe0a5d2b8e79f7ea48f2caa878c5","unresolved":true,"context_lines":[{"line_number":9,"context_line":"This commit adds support to check if request to create"},{"line_number":10,"context_line":"a subscription contains HttpHeaders so we can send in the"},{"line_number":11,"context_line":"payload."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I548ae06e22f217bf10ce6a7af57addfa7f9be555"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"56d4eebd_6de7bf38","line":12,"in_reply_to":"49f71650_7bf1a251","updated":"2021-09-08 18:51:11.000000000","message":"Sure! I will add the schema about event destination in the commit message","commit_id":"b3d65e5a1ec6dcc19fdb23949e16614c0f63e87c"}],"ironic/drivers/modules/redfish/vendor.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0797281e8828abb8c820b8b3fd32a6ca2f1a306a","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            raise exception.InvalidParameterValue("},{"line_number":137,"context_line":"                _(\"Protocol %s is not a string\") % protocol)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        if not isinstance(http_headers, list):"},{"line_number":140,"context_line":"            raise exception.InvalidParameterValue("},{"line_number":141,"context_line":"                _(\"HttpHeaders %s is not a list of headers\") % http_headers)"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"47237b73_2c6f6105","line":139,"updated":"2021-09-02 10:04:20.000000000","message":"I wonder if you want to support None","commit_id":"1df92f0bc8cbd074d13fadb6d25c70eb9f0a8bb4"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"3b909d7fa9896a30736080ebd59146a1bb5915b9","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            raise exception.InvalidParameterValue("},{"line_number":137,"context_line":"                _(\"Protocol %s is not a string\") % protocol)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        if not isinstance(http_headers, list):"},{"line_number":140,"context_line":"            raise exception.InvalidParameterValue("},{"line_number":141,"context_line":"                _(\"HttpHeaders %s is not a list of headers\") % http_headers)"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"f1106517_9fe07b81","line":139,"in_reply_to":"47237b73_2c6f6105","updated":"2021-09-02 10:21:43.000000000","message":"we can ofc, the bmc won\u0027t complain (at least on the tests I did on Dell/HP) but I don\u0027t think it will make sense to send HttpHeaders if they are None.","commit_id":"1df92f0bc8cbd074d13fadb6d25c70eb9f0a8bb4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0797281e8828abb8c820b8b3fd32a6ca2f1a306a","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        }"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        http_headers \u003d kwargs.get(\u0027HttpHeaders\u0027, [])"},{"line_number":186,"context_line":"        if isinstance(http_headers, list) and http_headers !\u003d []:"},{"line_number":187,"context_line":"            payload[\u0027HttpHeaders\u0027] \u003d http_headers"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"50b89a92_dab98b06","line":186,"updated":"2021-09-02 10:04:20.000000000","message":"the isinstance check is a bit weird here, I think you should use validation to ensure it\u0027s either a list or None, so that here you can simply do:\n\n if http_headers:","commit_id":"1df92f0bc8cbd074d13fadb6d25c70eb9f0a8bb4"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"3b909d7fa9896a30736080ebd59146a1bb5915b9","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        }"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        http_headers \u003d kwargs.get(\u0027HttpHeaders\u0027, [])"},{"line_number":186,"context_line":"        if isinstance(http_headers, list) and http_headers !\u003d []:"},{"line_number":187,"context_line":"            payload[\u0027HttpHeaders\u0027] \u003d http_headers"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"e697c595_4047b3ff","line":186,"in_reply_to":"50b89a92_dab98b06","updated":"2021-09-02 10:21:43.000000000","message":"ack","commit_id":"1df92f0bc8cbd074d13fadb6d25c70eb9f0a8bb4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"76ea47ba2561934cb8ea5ca4ca099db5538cb30b","unresolved":true,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        http_headers \u003d kwargs.get(\u0027HttpHeaders\u0027, [])"},{"line_number":188,"context_line":"        if http_headers:"},{"line_number":189,"context_line":"            payload[\u0027HttpHeaders\u0027] \u003d http_headers"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        try:"},{"line_number":192,"context_line":"            event_service \u003d redfish_utils.get_event_service(task.node)"}],"source_content_type":"text/x-python","patch_set":2,"id":"c82daf36_8de424dc","line":189,"updated":"2021-09-08 17:15:57.000000000","message":"I guess a list of header strings makes sense... I guess.","commit_id":"b3d65e5a1ec6dcc19fdb23949e16614c0f63e87c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d98226a3a0e1fe0a5d2b8e79f7ea48f2caa878c5","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        http_headers \u003d kwargs.get(\u0027HttpHeaders\u0027, [])"},{"line_number":188,"context_line":"        if http_headers:"},{"line_number":189,"context_line":"            payload[\u0027HttpHeaders\u0027] \u003d http_headers"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        try:"},{"line_number":192,"context_line":"            event_service \u003d redfish_utils.get_event_service(task.node)"}],"source_content_type":"text/x-python","patch_set":2,"id":"90cfdd1b_a7599ebe","line":189,"in_reply_to":"c82daf36_8de424dc","updated":"2021-09-08 18:51:11.000000000","message":"I haven\u0027t tested using list of strings..\nA list of dict worked well [{\"Key1\":\"Value1\"}, {{\"Key2\":\"Value2\"}] or [{\"Key1\":\"Value1\"},{\"Key2\":\"Value2\"}] \u003d)","commit_id":"b3d65e5a1ec6dcc19fdb23949e16614c0f63e87c"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"a082d30f63a10fc2f762199ec2359ca275f9eda8","unresolved":true,"context_lines":[{"line_number":168,"context_line":"    @base.passthru([\u0027POST\u0027], async_call\u003dFalse,"},{"line_number":169,"context_line":"                   description\u003d_(\"Creates a subscription on a node. \""},{"line_number":170,"context_line":"                                 \"Required argument: a dictionary of \""},{"line_number":171,"context_line":"                                 \"{\u0027destination\u0027: \u0027destination_url\u0027}\"))"},{"line_number":172,"context_line":"    def create_subscription(self, task, **kwargs):"},{"line_number":173,"context_line":"        \"\"\"Creates a subscription."},{"line_number":174,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"eb0f0bf8_6623c4df","line":171,"range":{"start_line":171,"start_character":36,"end_line":171,"end_character":37},"updated":"2021-09-13 10:26:53.000000000","message":"why this change here and not also at ln 181? Is this related to this HttpHeaders patch? Maybe mention this in commit message as there seem to be more additions in tests related to Destination? Maybe a separate patch?","commit_id":"b7956ca1f9f105fdec5477013bbb21f9c0b26935"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"9426a03e73434daef5e08ef0d40a0d8e70977ec5","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    @base.passthru([\u0027POST\u0027], async_call\u003dFalse,"},{"line_number":169,"context_line":"                   description\u003d_(\"Creates a subscription on a node. \""},{"line_number":170,"context_line":"                                 \"Required argument: a dictionary of \""},{"line_number":171,"context_line":"                                 \"{\u0027destination\u0027: \u0027destination_url\u0027}\"))"},{"line_number":172,"context_line":"    def create_subscription(self, task, **kwargs):"},{"line_number":173,"context_line":"        \"\"\"Creates a subscription."},{"line_number":174,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da78746b_e5e81425","line":171,"range":{"start_line":171,"start_character":36,"end_line":171,"end_character":37},"in_reply_to":"24863fc4_a76ac935","updated":"2021-09-14 13:47:58.000000000","message":"Done","commit_id":"b7956ca1f9f105fdec5477013bbb21f9c0b26935"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"33bb85e176f4d094e3b558f7909d1369815d9436","unresolved":true,"context_lines":[{"line_number":168,"context_line":"    @base.passthru([\u0027POST\u0027], async_call\u003dFalse,"},{"line_number":169,"context_line":"                   description\u003d_(\"Creates a subscription on a node. \""},{"line_number":170,"context_line":"                                 \"Required argument: a dictionary of \""},{"line_number":171,"context_line":"                                 \"{\u0027destination\u0027: \u0027destination_url\u0027}\"))"},{"line_number":172,"context_line":"    def create_subscription(self, task, **kwargs):"},{"line_number":173,"context_line":"        \"\"\"Creates a subscription."},{"line_number":174,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"24863fc4_a76ac935","line":171,"range":{"start_line":171,"start_character":36,"end_line":171,"end_character":37},"in_reply_to":"eb0f0bf8_6623c4df","updated":"2021-09-13 11:03:24.000000000","message":"Ops, It should be *Destination* not sure why this change got here (I will remove the change in this line)","commit_id":"b7956ca1f9f105fdec5477013bbb21f9c0b26935"}],"ironic/tests/unit/drivers/modules/redfish/test_vendor.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0797281e8828abb8c820b8b3fd32a6ca2f1a306a","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                **kwargs)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"            kwargs \u003d {\u0027Destination\u0027: \u0027https://someulr\u0027,"},{"line_number":122,"context_line":"                      \u0027HttpHeaders\u0027: {\u0027Content-Type\u0027: \u0027application/json\u0027}}"},{"line_number":123,"context_line":"            self.assertRaises("},{"line_number":124,"context_line":"                exception.InvalidParameterValue,"},{"line_number":125,"context_line":"                task.driver.vendor.validate, task, \u0027create_subscription\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"572a25a0_a65e6a00","line":122,"updated":"2021-09-02 10:04:20.000000000","message":"Could you also add a positive test?","commit_id":"1df92f0bc8cbd074d13fadb6d25c70eb9f0a8bb4"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"3b909d7fa9896a30736080ebd59146a1bb5915b9","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                **kwargs)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"            kwargs \u003d {\u0027Destination\u0027: \u0027https://someulr\u0027,"},{"line_number":122,"context_line":"                      \u0027HttpHeaders\u0027: {\u0027Content-Type\u0027: \u0027application/json\u0027}}"},{"line_number":123,"context_line":"            self.assertRaises("},{"line_number":124,"context_line":"                exception.InvalidParameterValue,"},{"line_number":125,"context_line":"                task.driver.vendor.validate, task, \u0027create_subscription\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"e66ae2eb_49cb7d22","line":122,"in_reply_to":"572a25a0_a65e6a00","updated":"2021-09-02 10:21:43.000000000","message":"I can, when we receive the info about the subscription we created redfish doesn\u0027t return the headers (they are only used when redfish sends a notification related to the given subscription)","commit_id":"1df92f0bc8cbd074d13fadb6d25c70eb9f0a8bb4"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"07ff73e378e8b2452bdf56a270f8af8f9fcb9432","unresolved":true,"context_lines":[{"line_number":96,"context_line":"                task.driver.vendor.validate, task, \u0027create_subscription\u0027,"},{"line_number":97,"context_line":"                **kwargs)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"            kwargs \u003d {\u0027Destination\u0027: \u0027https://someulr\u0027, \u0027Context\u0027: 10}"},{"line_number":100,"context_line":"            self.assertRaises("},{"line_number":101,"context_line":"                exception.InvalidParameterValue,"},{"line_number":102,"context_line":"                task.driver.vendor.validate, task, \u0027create_subscription\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dca476ce_a802439d","line":99,"range":{"start_line":99,"start_character":10,"end_line":99,"end_character":70},"updated":"2021-09-14 15:06:36.000000000","message":"could add to commit message short hint about fixing existing tests, as this seems to be out of place. Now I only guess that that\u0027s the reason why there is this change and nothing else.\n\nAlso could use assertRaisesRegex with property name to check if the exception is raised for intended property.","commit_id":"72eac4e74846a43384f28e868fd90edc83e27cee"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"07ff73e378e8b2452bdf56a270f8af8f9fcb9432","unresolved":true,"context_lines":[{"line_number":96,"context_line":"                task.driver.vendor.validate, task, \u0027create_subscription\u0027,"},{"line_number":97,"context_line":"                **kwargs)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"            kwargs \u003d {\u0027Destination\u0027: \u0027https://someulr\u0027, \u0027Context\u0027: 10}"},{"line_number":100,"context_line":"            self.assertRaises("},{"line_number":101,"context_line":"                exception.InvalidParameterValue,"},{"line_number":102,"context_line":"                task.driver.vendor.validate, task, \u0027create_subscription\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7e2d625d_0d6f2364","line":99,"range":{"start_line":99,"start_character":50,"end_line":99,"end_character":53},"updated":"2021-09-14 15:06:36.000000000","message":"noticed only now - spelling, ulr-\u003eurl, same below","commit_id":"72eac4e74846a43384f28e868fd90edc83e27cee"}]}
