)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a5d07a79c800ae5efb4e8bc45fe9e5a31865b61b","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     vinay50muddu \u003cvinay50muddu@yahoo.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-03-26 01:54:32 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support clean step to add certificates to iLO"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Iac191fb453f8b0844ea1e46937211f8222e7bc63"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"08fba6f8_44fdb38b","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":18},"updated":"2021-03-26 11:02:31.000000000","message":"It also adds it as a deploy step.","commit_id":"d0b5f8d08d953eff3c70e8c04b1f70e6ad3da5b3"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"392f5589cd6eb4e5904a4e40ca0388d957572df6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     vinay50muddu \u003cvinay50muddu@yahoo.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-03-26 01:54:32 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support clean step to add certificates to iLO"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Iac191fb453f8b0844ea1e46937211f8222e7bc63"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"057c5b4c_37512a68","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":18},"in_reply_to":"08fba6f8_44fdb38b","updated":"2021-03-29 11:10:35.000000000","message":"Done","commit_id":"d0b5f8d08d953eff3c70e8c04b1f70e6ad3da5b3"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a5d07a79c800ae5efb4e8bc45fe9e5a31865b61b","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support clean step to add certificates to iLO"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Iac191fb453f8b0844ea1e46937211f8222e7bc63"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"8025681c_b0ff75e6","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":6},"updated":"2021-03-26 11:02:31.000000000","message":"Update Story/Task in the commit message.","commit_id":"d0b5f8d08d953eff3c70e8c04b1f70e6ad3da5b3"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"392f5589cd6eb4e5904a4e40ca0388d957572df6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support clean step to add certificates to iLO"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Iac191fb453f8b0844ea1e46937211f8222e7bc63"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"287770de_9dbe56c2","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":6},"in_reply_to":"8025681c_b0ff75e6","updated":"2021-03-29 11:10:35.000000000","message":"Done","commit_id":"d0b5f8d08d953eff3c70e8c04b1f70e6ad3da5b3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8d8008cad2388e8f8a601135f8cc8c64fa9906bc","unresolved":true,"context_lines":[{"line_number":10,"context_line":"configured with config option \"ilo_ca_certs_dir\" to the iLO."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Iac191fb453f8b0844ea1e46937211f8222e7bc63"},{"line_number":13,"context_line":"Story: #2008784"},{"line_number":14,"context_line":"Task: #42175"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"eaa76c6c_54e2b9bc","line":13,"updated":"2021-06-07 13:40:30.000000000","message":"This proposed work has had no community feedback or design interaction as far as I can tell. The story was created 7 days ago, and has not been triaged much less even discussed. This really *should* at least be raised.","commit_id":"a1cb3f009810c8eeaed9869c9af82cfc4e6511c5"}],"ironic/conf/ilo.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"06a94af70f59cf984c1ed3ea38d474cf7b77b802","unresolved":true,"context_lines":[{"line_number":120,"context_line":"                      \u0027/proc/cmdline. Mind severe cmdline size limit! Can be \u0027"},{"line_number":121,"context_line":"                      \u0027overridden by `instance_info/kernel_append_params` \u0027"},{"line_number":122,"context_line":"                      \u0027property.\u0027)),"},{"line_number":123,"context_line":"    cfg.StrOpt(\u0027ilo_ca_certs_dir\u0027,"},{"line_number":124,"context_line":"               default\u003d\u0027/etc/pki/ilo/\u0027,"},{"line_number":125,"context_line":"               help\u003d_(\u0027Directory containing CA certificates to be exported to \u0027"},{"line_number":126,"context_line":"                      \u0027iLO which iLO uses to validate the server certificates \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"2b3b531e_53f99685","line":123,"range":{"start_line":123,"start_character":16,"end_line":123,"end_character":20},"updated":"2021-06-28 15:48:17.000000000","message":"The group is already [ilo], please avoid the duplicate prefix","commit_id":"9346f4309fe89501982137533c8a488943cac11a"}],"ironic/drivers/modules/ilo/boot.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"ed52b4703d52574ba029ecc3cbe64cceebd453f7","unresolved":true,"context_lines":[{"line_number":1091,"context_line":"        # NOTE(TheJulia): Since we\u0027re deploying, cleaning, or rescuing,"},{"line_number":1092,"context_line":"        # with virtual media boot, we should generate a token!"},{"line_number":1093,"context_line":"        manager_utils.add_secret_token(node, pregenerated\u003dTrue)"},{"line_number":1094,"context_line":"        task.node.save()"},{"line_number":1095,"context_line":"        ramdisk_params[\u0027ipa-agent-token\u0027] \u003d \\"},{"line_number":1096,"context_line":"            task.node.driver_internal_info[\u0027agent_secret_token\u0027]"},{"line_number":1097,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"c7452270_66094f30","line":1094,"range":{"start_line":1094,"start_character":8,"end_line":1094,"end_character":24},"updated":"2021-05-11 07:23:14.000000000","message":"Why is this statement moved up?","commit_id":"367c46618cf073d86318dcfd82eefcd5693dd5f5"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"5cdd53c78cafb9df488671128111571f8baf5616","unresolved":true,"context_lines":[{"line_number":1091,"context_line":"        # NOTE(TheJulia): Since we\u0027re deploying, cleaning, or rescuing,"},{"line_number":1092,"context_line":"        # with virtual media boot, we should generate a token!"},{"line_number":1093,"context_line":"        manager_utils.add_secret_token(node, pregenerated\u003dTrue)"},{"line_number":1094,"context_line":"        task.node.save()"},{"line_number":1095,"context_line":"        ramdisk_params[\u0027ipa-agent-token\u0027] \u003d \\"},{"line_number":1096,"context_line":"            task.node.driver_internal_info[\u0027agent_secret_token\u0027]"},{"line_number":1097,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"e42b505c_fbbf719a","line":1094,"range":{"start_line":1094,"start_character":8,"end_line":1094,"end_character":24},"in_reply_to":"c7452270_66094f30","updated":"2021-05-26 15:34:57.000000000","message":"Actually add_secret_token creates and adds the token to the node\u0027s driver_internal_info. It makes sense to save the value in DB before assigning to ramdisk_parameters.","commit_id":"367c46618cf073d86318dcfd82eefcd5693dd5f5"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b3c77495343c2ac0b6782a1d9bacf5862ab0575e","unresolved":true,"context_lines":[{"line_number":1115,"context_line":"                  \"%(node)s to boot from URL %(iso_ref)s.\","},{"line_number":1116,"context_line":"                  {\u0027node\u0027: node.uuid, \u0027iso_ref\u0027: iso_ref})"},{"line_number":1117,"context_line":""},{"line_number":1118,"context_line":"        ilo_common.add_certificates(task)"},{"line_number":1119,"context_line":"        ilo_common.setup_uefi_https(task, iso_ref)"},{"line_number":1120,"context_line":""},{"line_number":1121,"context_line":"    @METRICS.timer(\u0027IloUefiHttpsBoot.clean_up_ramdisk\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"eccffa3e_558d73a8","side":"PARENT","line":1118,"updated":"2021-06-28 16:04:29.000000000","message":"It seems like calling this here will already solve a problem of booting with custom certificates.. Why a separate deploy/clean step?","commit_id":"1a5536b3734b14d3b8b56a963a68d11ae60de093"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"06a94af70f59cf984c1ed3ea38d474cf7b77b802","unresolved":true,"context_lines":[{"line_number":1114,"context_line":"        # NOTE(vmud213): Do not call if it is in the middle of"},{"line_number":1115,"context_line":"        # add_certificates clean step as the TLS pending settings will"},{"line_number":1116,"context_line":"        # be overridden"},{"line_number":1117,"context_line":"        if not node.driver_internal_info.get(\u0027add_ca_certs_flag\u0027):"},{"line_number":1118,"context_line":"            ilo_common.add_certificates(task)"},{"line_number":1119,"context_line":""},{"line_number":1120,"context_line":"        LOG.debug(\"Set \u0027UEFIHTTP\u0027 as one time boot option on the node \""}],"source_content_type":"text/x-python","patch_set":9,"id":"ce41f7f1_fa754736","line":1117,"updated":"2021-06-28 15:48:17.000000000","message":"node.deploy_step and node.clean_step should give you the current step, no need for another flag","commit_id":"9346f4309fe89501982137533c8a488943cac11a"}],"ironic/drivers/modules/ilo/management.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a5d07a79c800ae5efb4e8bc45fe9e5a31865b61b","unresolved":true,"context_lines":[{"line_number":1033,"context_line":"            node.save()"},{"line_number":1034,"context_line":"            return"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"        if not certificate_files:"},{"line_number":1037,"context_line":"            msg \u003d (_(\"Step \u0027export_certificates\u0027 failed on node %(node)s \""},{"line_number":1038,"context_line":"                     \"as empty certificate file list is provided.\") %"},{"line_number":1039,"context_line":"                   {\u0027node\u0027: node.uuid})"},{"line_number":1040,"context_line":"            if node.clean_step:"},{"line_number":1041,"context_line":"                raise exception.NodeCleaningFailure(msg)"},{"line_number":1042,"context_line":"            raise exception.InstanceDeployFailure(msg)"},{"line_number":1043,"context_line":""},{"line_number":1044,"context_line":"        try:"},{"line_number":1045,"context_line":"            ilo_common.add_certificates(task, certificate_files)"}],"source_content_type":"text/x-python","patch_set":1,"id":"8dffb6e8_f94284fd","line":1042,"range":{"start_line":1036,"start_character":8,"end_line":1042,"end_character":54},"updated":"2021-03-26 11:02:31.000000000","message":"Shouldn\u0027t it add certificate from CONF.webserver_verify_ca for this path?","commit_id":"d0b5f8d08d953eff3c70e8c04b1f70e6ad3da5b3"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"3fb1f209d04d277f2f135e8497a48d4a9154188a","unresolved":false,"context_lines":[{"line_number":1033,"context_line":"            node.save()"},{"line_number":1034,"context_line":"            return"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"        if not certificate_files:"},{"line_number":1037,"context_line":"            msg \u003d (_(\"Step \u0027export_certificates\u0027 failed on node %(node)s \""},{"line_number":1038,"context_line":"                     \"as empty certificate file list is provided.\") %"},{"line_number":1039,"context_line":"                   {\u0027node\u0027: node.uuid})"},{"line_number":1040,"context_line":"            if node.clean_step:"},{"line_number":1041,"context_line":"                raise exception.NodeCleaningFailure(msg)"},{"line_number":1042,"context_line":"            raise exception.InstanceDeployFailure(msg)"},{"line_number":1043,"context_line":""},{"line_number":1044,"context_line":"        try:"},{"line_number":1045,"context_line":"            ilo_common.add_certificates(task, certificate_files)"}],"source_content_type":"text/x-python","patch_set":1,"id":"e583b84f_ee330191","line":1042,"range":{"start_line":1036,"start_character":8,"end_line":1042,"end_character":54},"in_reply_to":"28309177_30fd6ff7","updated":"2021-03-30 11:48:43.000000000","message":"Done","commit_id":"d0b5f8d08d953eff3c70e8c04b1f70e6ad3da5b3"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"392f5589cd6eb4e5904a4e40ca0388d957572df6","unresolved":true,"context_lines":[{"line_number":1033,"context_line":"            node.save()"},{"line_number":1034,"context_line":"            return"},{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"        if not certificate_files:"},{"line_number":1037,"context_line":"            msg \u003d (_(\"Step \u0027export_certificates\u0027 failed on node %(node)s \""},{"line_number":1038,"context_line":"                     \"as empty certificate file list is provided.\") %"},{"line_number":1039,"context_line":"                   {\u0027node\u0027: node.uuid})"},{"line_number":1040,"context_line":"            if node.clean_step:"},{"line_number":1041,"context_line":"                raise exception.NodeCleaningFailure(msg)"},{"line_number":1042,"context_line":"            raise exception.InstanceDeployFailure(msg)"},{"line_number":1043,"context_line":""},{"line_number":1044,"context_line":"        try:"},{"line_number":1045,"context_line":"            ilo_common.add_certificates(task, certificate_files)"}],"source_content_type":"text/x-python","patch_set":1,"id":"28309177_30fd6ff7","line":1042,"range":{"start_line":1036,"start_character":8,"end_line":1042,"end_character":54},"in_reply_to":"8dffb6e8_f94284fd","updated":"2021-03-29 11:10:35.000000000","message":"Better we don\u0027t add it unless the user explicitly includes the list of the certificates so that he is clearly aware of what certificates are going to be exported.","commit_id":"d0b5f8d08d953eff3c70e8c04b1f70e6ad3da5b3"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"ed52b4703d52574ba029ecc3cbe64cceebd453f7","unresolved":true,"context_lines":[{"line_number":1033,"context_line":""},{"line_number":1034,"context_line":"        if not certificate_files:"},{"line_number":1035,"context_line":"            msg \u003d (_(\"Step \u0027export_certificates\u0027 failed on node %(node)s \""},{"line_number":1036,"context_line":"                     \"as empty certificate file list is provided.\") %"},{"line_number":1037,"context_line":"                   {\u0027node\u0027: node.uuid})"},{"line_number":1038,"context_line":"            if node.clean_step:"},{"line_number":1039,"context_line":"                raise exception.NodeCleaningFailure(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"bb87bb98_ed8a8654","line":1036,"range":{"start_line":1036,"start_character":56,"end_line":1036,"end_character":65},"updated":"2021-05-11 07:23:14.000000000","message":"Also mention that the certificate file extension needs to be \u0027pem\u0027 or \u0027crt\u0027.","commit_id":"367c46618cf073d86318dcfd82eefcd5693dd5f5"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"5cdd53c78cafb9df488671128111571f8baf5616","unresolved":false,"context_lines":[{"line_number":1033,"context_line":""},{"line_number":1034,"context_line":"        if not certificate_files:"},{"line_number":1035,"context_line":"            msg \u003d (_(\"Step \u0027export_certificates\u0027 failed on node %(node)s \""},{"line_number":1036,"context_line":"                     \"as empty certificate file list is provided.\") %"},{"line_number":1037,"context_line":"                   {\u0027node\u0027: node.uuid})"},{"line_number":1038,"context_line":"            if node.clean_step:"},{"line_number":1039,"context_line":"                raise exception.NodeCleaningFailure(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"480996ea_5b887823","line":1036,"range":{"start_line":1036,"start_character":56,"end_line":1036,"end_character":65},"in_reply_to":"bb87bb98_ed8a8654","updated":"2021-05-26 15:34:57.000000000","message":"Done","commit_id":"367c46618cf073d86318dcfd82eefcd5693dd5f5"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8d8008cad2388e8f8a601135f8cc8c64fa9906bc","unresolved":true,"context_lines":[{"line_number":1134,"context_line":"    @base.deploy_step(priority\u003d0)"},{"line_number":1135,"context_line":"    @base.clean_step(priority\u003d0)"},{"line_number":1136,"context_line":"    def export_certificates(self, task):"},{"line_number":1137,"context_line":"        \"\"\"Exports the certificates provided in the configured directory."},{"line_number":1138,"context_line":""},{"line_number":1139,"context_line":"        :param task: a task from TaskManager."},{"line_number":1140,"context_line":"        :raises: NodeCleaningFailure, on failure to execute of clean step."}],"source_content_type":"text/x-python","patch_set":8,"id":"d29f12d9_3b6d1870","line":1137,"updated":"2021-06-07 13:40:30.000000000","message":"so the reno said this was CA certificates only? I guess this should be noted.","commit_id":"a1cb3f009810c8eeaed9869c9af82cfc4e6511c5"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"a12ec75ae11e612269ab0f3e9c0edfe6a4303933","unresolved":true,"context_lines":[{"line_number":1134,"context_line":"    @base.deploy_step(priority\u003d0)"},{"line_number":1135,"context_line":"    @base.clean_step(priority\u003d0)"},{"line_number":1136,"context_line":"    def export_certificates(self, task):"},{"line_number":1137,"context_line":"        \"\"\"Exports the certificates provided in the configured directory."},{"line_number":1138,"context_line":""},{"line_number":1139,"context_line":"        :param task: a task from TaskManager."},{"line_number":1140,"context_line":"        :raises: NodeCleaningFailure, on failure to execute of clean step."}],"source_content_type":"text/x-python","patch_set":8,"id":"e4f9398e_cd363649","line":1137,"in_reply_to":"d29f12d9_3b6d1870","updated":"2021-06-11 12:18:02.000000000","message":"I will rename the method to add_ca_certificates as it makes more sense.","commit_id":"a1cb3f009810c8eeaed9869c9af82cfc4e6511c5"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8d8008cad2388e8f8a601135f8cc8c64fa9906bc","unresolved":true,"context_lines":[{"line_number":1135,"context_line":"    @base.clean_step(priority\u003d0)"},{"line_number":1136,"context_line":"    def export_certificates(self, task):"},{"line_number":1137,"context_line":"        \"\"\"Exports the certificates provided in the configured directory."},{"line_number":1138,"context_line":""},{"line_number":1139,"context_line":"        :param task: a task from TaskManager."},{"line_number":1140,"context_line":"        :raises: NodeCleaningFailure, on failure to execute of clean step."},{"line_number":1141,"context_line":"        :raises: InstanceDeployFailure, on failure to execute of deploy step."}],"source_content_type":"text/x-python","patch_set":8,"id":"eb1de514_5c93b4d5","line":1138,"updated":"2021-06-07 13:40:30.000000000","message":"A bit more description would be good here. Exports where? Export itself seems weird, because this seems like your importing certificates to the BMC, not exporting.","commit_id":"a1cb3f009810c8eeaed9869c9af82cfc4e6511c5"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"a12ec75ae11e612269ab0f3e9c0edfe6a4303933","unresolved":true,"context_lines":[{"line_number":1135,"context_line":"    @base.clean_step(priority\u003d0)"},{"line_number":1136,"context_line":"    def export_certificates(self, task):"},{"line_number":1137,"context_line":"        \"\"\"Exports the certificates provided in the configured directory."},{"line_number":1138,"context_line":""},{"line_number":1139,"context_line":"        :param task: a task from TaskManager."},{"line_number":1140,"context_line":"        :raises: NodeCleaningFailure, on failure to execute of clean step."},{"line_number":1141,"context_line":"        :raises: InstanceDeployFailure, on failure to execute of deploy step."}],"source_content_type":"text/x-python","patch_set":8,"id":"0d119fb5_4a1e38a2","line":1138,"in_reply_to":"eb1de514_5c93b4d5","updated":"2021-06-11 12:18:02.000000000","message":"Sure. I guess if i rename it to add_ca_certificates and with some description it will be more clear.","commit_id":"a1cb3f009810c8eeaed9869c9af82cfc4e6511c5"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8d8008cad2388e8f8a601135f8cc8c64fa9906bc","unresolved":true,"context_lines":[{"line_number":1154,"context_line":""},{"line_number":1155,"context_line":"        certificate_files \u003d []"},{"line_number":1156,"context_line":""},{"line_number":1157,"context_line":"        for ext in (\"*.pem\", \"*.crt\"):"},{"line_number":1158,"context_line":"            fl \u003d [CONF.ilo.ilo_ca_certs_dir.rstrip(\"/\") + \"/\" + x for x in ("},{"line_number":1159,"context_line":"                fnmatch.filter(os.listdir(CONF.ilo.ilo_ca_certs_dir), ext))]"},{"line_number":1160,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"abda3e15_63f48c53","line":1157,"updated":"2021-06-07 13:40:30.000000000","message":"Documentation likely needs to land with this patch indicating that only *lower* case pem and crt files may be used, unless fnmatch is case insensitive. In such a case, even then the strict file naming shoudl be noted.","commit_id":"a1cb3f009810c8eeaed9869c9af82cfc4e6511c5"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"a12ec75ae11e612269ab0f3e9c0edfe6a4303933","unresolved":true,"context_lines":[{"line_number":1154,"context_line":""},{"line_number":1155,"context_line":"        certificate_files \u003d []"},{"line_number":1156,"context_line":""},{"line_number":1157,"context_line":"        for ext in (\"*.pem\", \"*.crt\"):"},{"line_number":1158,"context_line":"            fl \u003d [CONF.ilo.ilo_ca_certs_dir.rstrip(\"/\") + \"/\" + x for x in ("},{"line_number":1159,"context_line":"                fnmatch.filter(os.listdir(CONF.ilo.ilo_ca_certs_dir), ext))]"},{"line_number":1160,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"11a6fcdb_afdab099","line":1157,"in_reply_to":"abda3e15_63f48c53","updated":"2021-06-11 12:18:02.000000000","message":"I am adding documentation as pointed out.","commit_id":"a1cb3f009810c8eeaed9869c9af82cfc4e6511c5"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8d8008cad2388e8f8a601135f8cc8c64fa9906bc","unresolved":true,"context_lines":[{"line_number":1172,"context_line":"                  {\u0027certificate_files\u0027: certificate_files})"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"        try:"},{"line_number":1175,"context_line":"            ilo_common.add_certificates(task, certificate_files)"},{"line_number":1176,"context_line":"        except (exception.IloOperationNotSupported,"},{"line_number":1177,"context_line":"                exception.IloOperationError) as ir_exception:"},{"line_number":1178,"context_line":"            msg \u003d (_(\"Step \u0027export_certificates\u0027 failed on node %(node)s \""}],"source_content_type":"text/x-python","patch_set":8,"id":"38ab8f3b_73c32c7a","line":1175,"updated":"2021-06-07 13:40:30.000000000","message":"Yeah, here is my confusion  export !\u003d add.","commit_id":"a1cb3f009810c8eeaed9869c9af82cfc4e6511c5"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"a12ec75ae11e612269ab0f3e9c0edfe6a4303933","unresolved":false,"context_lines":[{"line_number":1172,"context_line":"                  {\u0027certificate_files\u0027: certificate_files})"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"        try:"},{"line_number":1175,"context_line":"            ilo_common.add_certificates(task, certificate_files)"},{"line_number":1176,"context_line":"        except (exception.IloOperationNotSupported,"},{"line_number":1177,"context_line":"                exception.IloOperationError) as ir_exception:"},{"line_number":1178,"context_line":"            msg \u003d (_(\"Step \u0027export_certificates\u0027 failed on node %(node)s \""}],"source_content_type":"text/x-python","patch_set":8,"id":"5ea44ddd_177385df","line":1175,"in_reply_to":"38ab8f3b_73c32c7a","updated":"2021-06-11 12:18:02.000000000","message":"Done","commit_id":"a1cb3f009810c8eeaed9869c9af82cfc4e6511c5"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8d8008cad2388e8f8a601135f8cc8c64fa9906bc","unresolved":true,"context_lines":[{"line_number":1185,"context_line":"        driver_internal_info[\u0027export_certs_flag\u0027] \u003d True"},{"line_number":1186,"context_line":"        node.driver_internal_info \u003d driver_internal_info"},{"line_number":1187,"context_line":"        node.save()"},{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":"        deploy_opts \u003d deploy_utils.build_agent_options(task.node)"},{"line_number":1190,"context_line":"        task.driver.boot.prepare_ramdisk(task, deploy_opts)"},{"line_number":1191,"context_line":"        manager_utils.node_power_action(task, states.REBOOT)"},{"line_number":1192,"context_line":""},{"line_number":1193,"context_line":"        # set_async_step_flags calls node.save()"},{"line_number":1194,"context_line":"        deploy_utils.set_async_step_flags("}],"source_content_type":"text/x-python","patch_set":8,"id":"9c7467b5_33fe019f","line":1191,"range":{"start_line":1188,"start_character":0,"end_line":1191,"end_character":60},"updated":"2021-06-07 13:40:30.000000000","message":"So, why does this need to be done as part of this step? Preparation can be io intensive, and this could be a \"one time operation\"","commit_id":"a1cb3f009810c8eeaed9869c9af82cfc4e6511c5"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"a12ec75ae11e612269ab0f3e9c0edfe6a4303933","unresolved":true,"context_lines":[{"line_number":1185,"context_line":"        driver_internal_info[\u0027export_certs_flag\u0027] \u003d True"},{"line_number":1186,"context_line":"        node.driver_internal_info \u003d driver_internal_info"},{"line_number":1187,"context_line":"        node.save()"},{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":"        deploy_opts \u003d deploy_utils.build_agent_options(task.node)"},{"line_number":1190,"context_line":"        task.driver.boot.prepare_ramdisk(task, deploy_opts)"},{"line_number":1191,"context_line":"        manager_utils.node_power_action(task, states.REBOOT)"},{"line_number":1192,"context_line":""},{"line_number":1193,"context_line":"        # set_async_step_flags calls node.save()"},{"line_number":1194,"context_line":"        deploy_utils.set_async_step_flags("}],"source_content_type":"text/x-python","patch_set":8,"id":"00ce6122_43e305e8","line":1191,"range":{"start_line":1188,"start_character":0,"end_line":1191,"end_character":60},"in_reply_to":"9c7467b5_33fe019f","updated":"2021-06-11 12:18:02.000000000","message":"Actually once the certificates are added, iLO needs to be rebooted for the certificates to be configured. If we don\u0027t reboot, the deploy ISO in HTTPS webserver can not be reached out.","commit_id":"a1cb3f009810c8eeaed9869c9af82cfc4e6511c5"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ad56c7c45404ffbf2c373bee080015381c16fede","unresolved":true,"context_lines":[{"line_number":1191,"context_line":"        manager_utils.node_power_action(task, states.REBOOT)"},{"line_number":1192,"context_line":""},{"line_number":1193,"context_line":"        # set_async_step_flags calls node.save()"},{"line_number":1194,"context_line":"        deploy_utils.set_async_step_flags("},{"line_number":1195,"context_line":"            node,"},{"line_number":1196,"context_line":"            reboot\u003dTrue,"},{"line_number":1197,"context_line":"            skip_current_step\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5e9d0cbd_f9e0b066","line":1194,"updated":"2021-06-28 15:54:59.000000000","message":"Reboot detection this way relies on IPA to heartbeat. Which limits usefulness of this work. I\u0027d suggest changing this clean step to not use IPA and not require it (see requires_ramdisk).","commit_id":"9346f4309fe89501982137533c8a488943cac11a"}],"releasenotes/notes/add-cleanstep-client-certificates-to-ilo-66043ab3af4f46df.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ea658668cb73c9547f0cd30f3088bc8ad352c2ac","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implements a clean/deploy step to add certificates to iLO."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ed3609eb_d2f69d6b","line":4,"updated":"2021-03-31 14:26:03.000000000","message":"\\o/ for minimalism.","commit_id":"6d4a41c325cadfb971294958577300bb0966b78f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ea658668cb73c9547f0cd30f3088bc8ad352c2ac","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implements a clean/deploy step to add certificates to iLO."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"f4183736_d1609e45","line":4,"range":{"start_line":4,"start_character":58,"end_line":4,"end_character":62},"updated":"2021-03-31 14:26:03.000000000","message":"it is likely good to note the hardware types where this is visible/usable and if a specific management interface is required. I\u0027m guessing one is.","commit_id":"6d4a41c325cadfb971294958577300bb0966b78f"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"ed52b4703d52574ba029ecc3cbe64cceebd453f7","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implements a clean/deploy step to add CA certificates to iLO."},{"line_number":5,"context_line":"    When ironic is configured to use a secured webserver with 3rd"},{"line_number":6,"context_line":"    party certificate to host images, the iLO while booting the deploy/boot ISO"},{"line_number":7,"context_line":"    needs to validate the certificate for which it requires CAs to be configured."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"a06f5c24_8816e53e","line":4,"range":{"start_line":4,"start_character":35,"end_line":4,"end_character":37},"updated":"2021-05-11 07:23:14.000000000","message":"s/ to / to ``ilo`` hardware type to /","commit_id":"367c46618cf073d86318dcfd82eefcd5693dd5f5"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"5cdd53c78cafb9df488671128111571f8baf5616","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Implements a clean/deploy step to add CA certificates to iLO."},{"line_number":5,"context_line":"    When ironic is configured to use a secured webserver with 3rd"},{"line_number":6,"context_line":"    party certificate to host images, the iLO while booting the deploy/boot ISO"},{"line_number":7,"context_line":"    needs to validate the certificate for which it requires CAs to be configured."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"8547e589_baba0b44","line":4,"range":{"start_line":4,"start_character":35,"end_line":4,"end_character":37},"in_reply_to":"a06f5c24_8816e53e","updated":"2021-05-26 15:34:57.000000000","message":"Done","commit_id":"367c46618cf073d86318dcfd82eefcd5693dd5f5"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"ed52b4703d52574ba029ecc3cbe64cceebd453f7","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    When ironic is configured to use a secured webserver with 3rd"},{"line_number":6,"context_line":"    party certificate to host images, the iLO while booting the deploy/boot ISO"},{"line_number":7,"context_line":"    needs to validate the certificate for which it requires CAs to be configured."},{"line_number":8,"context_line":"    This is particularly required when using `ilo-uefi-https` boot as it only"},{"line_number":9,"context_line":"    supports booting from secured webservers."},{"line_number":10,"context_line":"    Ironic uses `[ilo] ilo_ca_certs_dir` configuration option to find the"},{"line_number":11,"context_line":"    certificates (with extension .crt and .pem) required to be configured on"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9af3f114_5706b97b","line":8,"range":{"start_line":8,"start_character":45,"end_line":8,"end_character":61},"updated":"2021-05-11 07:23:14.000000000","message":"s/ `ilo-uefi-https` / ``ilo-uefi-https`` /","commit_id":"367c46618cf073d86318dcfd82eefcd5693dd5f5"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"5cdd53c78cafb9df488671128111571f8baf5616","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    When ironic is configured to use a secured webserver with 3rd"},{"line_number":6,"context_line":"    party certificate to host images, the iLO while booting the deploy/boot ISO"},{"line_number":7,"context_line":"    needs to validate the certificate for which it requires CAs to be configured."},{"line_number":8,"context_line":"    This is particularly required when using `ilo-uefi-https` boot as it only"},{"line_number":9,"context_line":"    supports booting from secured webservers."},{"line_number":10,"context_line":"    Ironic uses `[ilo] ilo_ca_certs_dir` configuration option to find the"},{"line_number":11,"context_line":"    certificates (with extension .crt and .pem) required to be configured on"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"23b58ea6_09105c01","line":8,"range":{"start_line":8,"start_character":45,"end_line":8,"end_character":61},"in_reply_to":"9af3f114_5706b97b","updated":"2021-05-26 15:34:57.000000000","message":"Done","commit_id":"367c46618cf073d86318dcfd82eefcd5693dd5f5"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"ed52b4703d52574ba029ecc3cbe64cceebd453f7","unresolved":true,"context_lines":[{"line_number":7,"context_line":"    needs to validate the certificate for which it requires CAs to be configured."},{"line_number":8,"context_line":"    This is particularly required when using `ilo-uefi-https` boot as it only"},{"line_number":9,"context_line":"    supports booting from secured webservers."},{"line_number":10,"context_line":"    Ironic uses `[ilo] ilo_ca_certs_dir` configuration option to find the"},{"line_number":11,"context_line":"    certificates (with extension .crt and .pem) required to be configured on"},{"line_number":12,"context_line":"    the iLO."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"715f873b_aedfb7b7","line":10,"range":{"start_line":10,"start_character":16,"end_line":10,"end_character":40},"updated":"2021-05-11 07:23:14.000000000","message":"s/ `[ilo] ilo_ca_certs_dir` /``[ilo] ilo_ca_certs_dir`` /","commit_id":"367c46618cf073d86318dcfd82eefcd5693dd5f5"},{"author":{"_account_id":18781,"name":"vinay50muddu","email":"vinay50muddu@yahoo.com","username":"vmud213"},"change_message_id":"5cdd53c78cafb9df488671128111571f8baf5616","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    needs to validate the certificate for which it requires CAs to be configured."},{"line_number":8,"context_line":"    This is particularly required when using `ilo-uefi-https` boot as it only"},{"line_number":9,"context_line":"    supports booting from secured webservers."},{"line_number":10,"context_line":"    Ironic uses `[ilo] ilo_ca_certs_dir` configuration option to find the"},{"line_number":11,"context_line":"    certificates (with extension .crt and .pem) required to be configured on"},{"line_number":12,"context_line":"    the iLO."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"94ad6796_cce4f2e4","line":10,"range":{"start_line":10,"start_character":16,"end_line":10,"end_character":40},"in_reply_to":"715f873b_aedfb7b7","updated":"2021-05-26 15:34:57.000000000","message":"Done","commit_id":"367c46618cf073d86318dcfd82eefcd5693dd5f5"}]}
