)]}'
{"ironic/drivers/modules/ilo/boot.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"8afa6917d4f6684b8f50011a6f54c178087747d9","unresolved":true,"context_lines":[{"line_number":1073,"context_line":"        # NOTE(TheJulia): Since we\u0027re deploying, cleaning, or rescuing,"},{"line_number":1074,"context_line":"        # with virtual media boot, we should generate a token!"},{"line_number":1075,"context_line":"        manager_utils.add_secret_token(node, pregenerated\u003dTrue)"},{"line_number":1076,"context_line":"        task.node.save()"},{"line_number":1077,"context_line":"        ramdisk_params[\u0027ipa-agent-token\u0027] \u003d \\"},{"line_number":1078,"context_line":"            task.node.driver_internal_info[\u0027agent_secret_token\u0027]"},{"line_number":1079,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3d12fdcf_f5c45157","line":1076,"range":{"start_line":1076,"start_character":8,"end_line":1076,"end_character":24},"updated":"2021-01-07 09:06:43.000000000","message":"Why is this moved?","commit_id":"442f21b405160a18955a75642e1f063a172695a2"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"6d18a8cc4cfbef8246118ecb87c630a6cfb375a7","unresolved":true,"context_lines":[{"line_number":1073,"context_line":"        # NOTE(TheJulia): Since we\u0027re deploying, cleaning, or rescuing,"},{"line_number":1074,"context_line":"        # with virtual media boot, we should generate a token!"},{"line_number":1075,"context_line":"        manager_utils.add_secret_token(node, pregenerated\u003dTrue)"},{"line_number":1076,"context_line":"        task.node.save()"},{"line_number":1077,"context_line":"        ramdisk_params[\u0027ipa-agent-token\u0027] \u003d \\"},{"line_number":1078,"context_line":"            task.node.driver_internal_info[\u0027agent_secret_token\u0027]"},{"line_number":1079,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"0debfa4e_dd666564","line":1076,"range":{"start_line":1076,"start_character":8,"end_line":1076,"end_character":24},"in_reply_to":"3d12fdcf_f5c45157","updated":"2021-02-11 11:46:22.000000000","message":"Because the token needs to be saved before retrieving it @1077","commit_id":"442f21b405160a18955a75642e1f063a172695a2"}],"ironic/drivers/modules/ilo/management.py":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"d72086c23929c6ad1b03e43a96dc18f205de1615","unresolved":true,"context_lines":[{"line_number":1002,"context_line":"        \"\"\""},{"line_number":1003,"context_line":"        node \u003d task.node"},{"line_number":1004,"context_line":"        try:"},{"line_number":1005,"context_line":"            ilo_common.export_certificates(certificate_files)"},{"line_number":1006,"context_line":"        except (exception.IloOperationNotSupported,"},{"line_number":1007,"context_line":"                exception.IloOperationError) as ir_exception:"},{"line_number":1008,"context_line":"            msg \u003d (_(\"Step \u0027export_certificates\u0027 failed on node %(node)s \""}],"source_content_type":"text/x-python","patch_set":1,"id":"b6b8a243_11429ab7","line":1005,"updated":"2020-11-25 20:22:46.000000000","message":"This function is missing from common.py, is an uncommitted change","commit_id":"ad6cbb92b1aa654c38e3f2316c4495bbec697e95"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"85d1cd444d8699ffca6f3cb15f6bd52f4d75d39b","unresolved":true,"context_lines":[{"line_number":1002,"context_line":"        \"\"\""},{"line_number":1003,"context_line":"        node \u003d task.node"},{"line_number":1004,"context_line":"        try:"},{"line_number":1005,"context_line":"            ilo_common.export_certificates(certificate_files)"},{"line_number":1006,"context_line":"        except (exception.IloOperationNotSupported,"},{"line_number":1007,"context_line":"                exception.IloOperationError) as ir_exception:"},{"line_number":1008,"context_line":"            msg \u003d (_(\"Step \u0027export_certificates\u0027 failed on node %(node)s \""}],"source_content_type":"text/x-python","patch_set":1,"id":"b8cbe4ed_046cfab5","line":1005,"in_reply_to":"b6b8a243_11429ab7","updated":"2020-11-26 13:53:02.000000000","message":"Yes. This has dependency on the other patch. I am sorry for the confusion. i should have marked it as WIP.","commit_id":"ad6cbb92b1aa654c38e3f2316c4495bbec697e95"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"8afa6917d4f6684b8f50011a6f54c178087747d9","unresolved":true,"context_lines":[{"line_number":133,"context_line":"            \"The list of files containing the certificates to be exported.\""},{"line_number":134,"context_line":"            \"If empty list is specified, value set for \""},{"line_number":135,"context_line":"            \"CONF.webserver_verify_ca is considered as a file if it is\""},{"line_number":136,"context_line":"            \" other than a boolean. Else no certificate would be exported.\""},{"line_number":137,"context_line":"        ),"},{"line_number":138,"context_line":"        \u0027required\u0027: True"},{"line_number":139,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":3,"id":"e9f613c1_d5d99785","line":136,"range":{"start_line":136,"start_character":36,"end_line":136,"end_character":74},"updated":"2021-01-07 09:06:43.000000000","message":"Would it be better to error out here, instead of no-op?","commit_id":"442f21b405160a18955a75642e1f063a172695a2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"8afa6917d4f6684b8f50011a6f54c178087747d9","unresolved":true,"context_lines":[{"line_number":131,"context_line":"    \u0027certificate_files\u0027: {"},{"line_number":132,"context_line":"        \u0027description\u0027: ("},{"line_number":133,"context_line":"            \"The list of files containing the certificates to be exported.\""},{"line_number":134,"context_line":"            \"If empty list is specified, value set for \""},{"line_number":135,"context_line":"            \"CONF.webserver_verify_ca is considered as a file if it is\""},{"line_number":136,"context_line":"            \" other than a boolean. Else no certificate would be exported.\""},{"line_number":137,"context_line":"        ),"},{"line_number":138,"context_line":"        \u0027required\u0027: True"},{"line_number":139,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":3,"id":"9cf0f2ed_f8c87945","line":136,"range":{"start_line":134,"start_character":13,"end_line":136,"end_character":35},"updated":"2021-01-07 09:06:43.000000000","message":"Would it be better to take explicit input instead of reading from CONF as user may not know  the value of CONF.","commit_id":"442f21b405160a18955a75642e1f063a172695a2"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"6d18a8cc4cfbef8246118ecb87c630a6cfb375a7","unresolved":true,"context_lines":[{"line_number":131,"context_line":"    \u0027certificate_files\u0027: {"},{"line_number":132,"context_line":"        \u0027description\u0027: ("},{"line_number":133,"context_line":"            \"The list of files containing the certificates to be exported.\""},{"line_number":134,"context_line":"            \"If empty list is specified, value set for \""},{"line_number":135,"context_line":"            \"CONF.webserver_verify_ca is considered as a file if it is\""},{"line_number":136,"context_line":"            \" other than a boolean. Else no certificate would be exported.\""},{"line_number":137,"context_line":"        ),"},{"line_number":138,"context_line":"        \u0027required\u0027: True"},{"line_number":139,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":3,"id":"3b48435e_2cf27910","line":136,"range":{"start_line":134,"start_character":13,"end_line":136,"end_character":35},"in_reply_to":"9cf0f2ed_f8c87945","updated":"2021-02-11 11:46:22.000000000","message":"Now by making the above change(error out if explicit input is not provided), reading from CONF is no more required.","commit_id":"442f21b405160a18955a75642e1f063a172695a2"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"6d18a8cc4cfbef8246118ecb87c630a6cfb375a7","unresolved":true,"context_lines":[{"line_number":133,"context_line":"            \"The list of files containing the certificates to be exported.\""},{"line_number":134,"context_line":"            \"If empty list is specified, value set for \""},{"line_number":135,"context_line":"            \"CONF.webserver_verify_ca is considered as a file if it is\""},{"line_number":136,"context_line":"            \" other than a boolean. Else no certificate would be exported.\""},{"line_number":137,"context_line":"        ),"},{"line_number":138,"context_line":"        \u0027required\u0027: True"},{"line_number":139,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":3,"id":"69cb2f0b_145f84d5","line":136,"range":{"start_line":136,"start_character":36,"end_line":136,"end_character":74},"in_reply_to":"e9f613c1_d5d99785","updated":"2021-02-11 11:46:22.000000000","message":"Agree. It\u0027s better to error out if empty list is provided. Will make the change in the next patch.","commit_id":"442f21b405160a18955a75642e1f063a172695a2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"8afa6917d4f6684b8f50011a6f54c178087747d9","unresolved":true,"context_lines":[{"line_number":1003,"context_line":"        node \u003d task.node"},{"line_number":1004,"context_line":"        driver_internal_info \u003d node.driver_internal_info"},{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"        if driver_internal_info.get(\u0027export_certs_flag\u0027):"},{"line_number":1007,"context_line":"            driver_internal_info.pop(\u0027export_certs_flag\u0027, None)"},{"line_number":1008,"context_line":"            node.driver_internal_info \u003d driver_internal_info"},{"line_number":1009,"context_line":"            node.save()"}],"source_content_type":"text/x-python","patch_set":3,"id":"0c5dc22b_a9564e7a","line":1006,"range":{"start_line":1006,"start_character":8,"end_line":1006,"end_character":57},"updated":"2021-01-07 09:06:43.000000000","message":"Add a comment here about the logic.","commit_id":"442f21b405160a18955a75642e1f063a172695a2"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"6d18a8cc4cfbef8246118ecb87c630a6cfb375a7","unresolved":true,"context_lines":[{"line_number":1003,"context_line":"        node \u003d task.node"},{"line_number":1004,"context_line":"        driver_internal_info \u003d node.driver_internal_info"},{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"        if driver_internal_info.get(\u0027export_certs_flag\u0027):"},{"line_number":1007,"context_line":"            driver_internal_info.pop(\u0027export_certs_flag\u0027, None)"},{"line_number":1008,"context_line":"            node.driver_internal_info \u003d driver_internal_info"},{"line_number":1009,"context_line":"            node.save()"}],"source_content_type":"text/x-python","patch_set":3,"id":"50da45f0_eb1819a7","line":1006,"range":{"start_line":1006,"start_character":8,"end_line":1006,"end_character":57},"in_reply_to":"0c5dc22b_a9564e7a","updated":"2021-02-11 11:46:22.000000000","message":"Will add a note here.","commit_id":"442f21b405160a18955a75642e1f063a172695a2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"8afa6917d4f6684b8f50011a6f54c178087747d9","unresolved":true,"context_lines":[{"line_number":1004,"context_line":"        driver_internal_info \u003d node.driver_internal_info"},{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"        if driver_internal_info.get(\u0027export_certs_flag\u0027):"},{"line_number":1007,"context_line":"            driver_internal_info.pop(\u0027export_certs_flag\u0027, None)"},{"line_number":1008,"context_line":"            node.driver_internal_info \u003d driver_internal_info"},{"line_number":1009,"context_line":"            node.save()"},{"line_number":1010,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":3,"id":"71b1de6a_f3d01f67","line":1007,"range":{"start_line":1007,"start_character":58,"end_line":1007,"end_character":62},"updated":"2021-01-07 09:06:43.000000000","message":"Not required.","commit_id":"442f21b405160a18955a75642e1f063a172695a2"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"6d18a8cc4cfbef8246118ecb87c630a6cfb375a7","unresolved":true,"context_lines":[{"line_number":1004,"context_line":"        driver_internal_info \u003d node.driver_internal_info"},{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"        if driver_internal_info.get(\u0027export_certs_flag\u0027):"},{"line_number":1007,"context_line":"            driver_internal_info.pop(\u0027export_certs_flag\u0027, None)"},{"line_number":1008,"context_line":"            node.driver_internal_info \u003d driver_internal_info"},{"line_number":1009,"context_line":"            node.save()"},{"line_number":1010,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":3,"id":"ade9409a_e31f2853","line":1007,"range":{"start_line":1007,"start_character":58,"end_line":1007,"end_character":62},"in_reply_to":"71b1de6a_f3d01f67","updated":"2021-02-11 11:46:22.000000000","message":"to be on the safer side and avoid KeyError accidentally.","commit_id":"442f21b405160a18955a75642e1f063a172695a2"}]}
