)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"cc9b2446a6bb2af1e2de02b1b2d5f1b4fdf25271","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"00951960_3542183a","updated":"2022-06-17 11:40:09.000000000","message":"Greetings!\n\nOverall the change makes sense, but there are a few things that need to be fixed.\n1) A release note is needed.\n2) Documentation updates likely need to pair with this change.\n3) This patch introduces new configuration parameters, which will need to be appropriately noted in both docs and the release note.\n5) There are some concerns regarding parameter options and handling, specifically relating to overall use *and* upgrades.\n6) The code logs warnings which may be excessive, but doesn\u0027t log enough information to actually enable the ironic administrator to remedy the issue. Please evaluate the use of logging. I commented on where this stood out to me in the review.\n\nIf you have any questions, please feel free to reach out!\n\n-Julia","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"a4e6e83ef0e923c3d609f5bed7f970090e8f4d0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5db14970_626a91bd","updated":"2022-06-17 10:39:27.000000000","message":"Thank you for the patch. Looks good to me in general. Please check why ironic-tox-unit-with-driver-libs is failing (grenade had a known issue), otherwise LGTM, but we need feedback from Core Reviewers.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":33081,"name":"Jin Hase","email":"hase.jin@fujitsu.com","username":"hase1128"},"change_message_id":"e2b20a7ed419340bd64ff7ebc73998f544d67c1b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0f905512_4694f672","updated":"2022-06-13 08:40:48.000000000","message":"recheck","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":33081,"name":"Jin Hase","email":"hase.jin@fujitsu.com","username":"hase1128"},"change_message_id":"5fbfb945b603c3e2015bd0dae7a29288200afe45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"660c299c_e03b1491","updated":"2022-06-14 08:23:18.000000000","message":"recheck","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":33081,"name":"Jin Hase","email":"hase.jin@fujitsu.com","username":"hase1128"},"change_message_id":"dc8b0b0604d4739e60064576a897bff300d9362b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c583421d_0988a3bc","updated":"2022-06-13 06:33:53.000000000","message":"recheck","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"5062683b4b0b5c791141b9f7da8386eb940e0c83","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cdbe5d67_50962a2d","updated":"2022-06-14 03:47:48.000000000","message":"recheck","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":33081,"name":"Jin Hase","email":"hase.jin@fujitsu.com","username":"hase1128"},"change_message_id":"80ab6285889eca3cfa71dd74bc5e040ba3a000ce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e879a2a9_c9320fe1","updated":"2022-06-14 00:22:23.000000000","message":"recheck","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"163813ba254dbb6bb706d408f32da956b56da6cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"baebbfec_b818e63c","in_reply_to":"00951960_3542183a","updated":"2022-06-21 08:19:48.000000000","message":"Thanks for the review, I have fixed the code, updated the iRMC documentation and created the release note, please review them once again.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"6002ceb3d6c016b1337f428dc99e0b49cf4c0235","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"24fb0693_3081bd03","updated":"2022-06-21 08:11:12.000000000","message":"Updated the code, please take a look, thanks.","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"b8c7ef348b1c45dd7e7a363097a23b90255f9ffc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0993d399_1085d937","updated":"2022-06-24 08:50:32.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"3ce947a32456a88936415d1cf7056db85f0b29be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0cba21a0_210d9279","updated":"2022-06-27 01:57:06.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"9320ee308e901acf65540460d28b3707b45901f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"16fcbf71_3293f386","updated":"2022-06-27 04:52:30.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"4c3d8d1c78720ec9bd6e4e76d9d35a5be5b9df59","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"445428d3_d765bd87","updated":"2022-06-23 11:15:58.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"e38f2a5cba646f020305b15150c18b9ef5f838d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4cf19d9a_3e991217","updated":"2022-06-23 10:43:31.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"2e4d7c066e0f51c14ea5bd5b940add080312cb7a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"54c0a606_7172a906","updated":"2022-06-23 07:05:31.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"544f115910cf7acbc52a196c88276c911ce6f589","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a3c7cd79_2d7a64c5","updated":"2022-06-22 07:57:08.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"c6e7f2cf9386eb9670bc1b4fa292ffbf42e53fff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b4453f88_6f1311c7","updated":"2022-06-23 06:13:25.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":33081,"name":"Jin Hase","email":"hase.jin@fujitsu.com","username":"hase1128"},"change_message_id":"e6470ff9a91c233da419727002580ba54b6058b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ba797f61_d4979bd6","updated":"2022-06-22 11:34:52.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"44fdf33d3728899e17eaaf6ec3149ec7178f25f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c9ae1888_12b8aa15","updated":"2022-06-21 22:08:28.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"ed17992ad0290c9da2e181f051aef108164b3c86","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d0023046_5f530431","updated":"2022-06-27 03:35:51.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"3289d8dd91317a3f7fb1f772cb2f7e84dd015b4c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ecdf1323_4683d47b","updated":"2022-06-24 08:11:22.000000000","message":"fujitsu-irmc-recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":33081,"name":"Jin Hase","email":"hase.jin@fujitsu.com","username":"hase1128"},"change_message_id":"01e2ea7dc1f8b30eef91dabedb4f1eb408207e41","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"35298967_a7644ed8","updated":"2022-06-22 04:01:08.000000000","message":"recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"96a25fc147c2b94e43ef9487d9ef76b3fb1abcac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3a47e4ac_434cc9ad","updated":"2022-06-22 08:16:40.000000000","message":"recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"bda440db60bb75464f97f8ae6087512d4017f86c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3e75cc2c_c0dc7f3d","updated":"2022-06-21 14:12:18.000000000","message":"recheck","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"dd6e778b09b08dcd248d7b0b7322d11cbe4690b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"36e781a8_6275161e","updated":"2022-06-28 05:25:20.000000000","message":"Thank you for the review, I have updated the code, please take a look.","commit_id":"17822daf01c7966ffa1a129e90121919cb0ae138"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"4b339fcfed7eb6ba469df88c3b01d5c40fc365d5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"11d16e15_40ebcffd","updated":"2022-06-28 07:31:43.000000000","message":"recheck","commit_id":"17822daf01c7966ffa1a129e90121919cb0ae138"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"4a6b8349ca27f8344bb84ae7ce4d265ae3a5d1de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"45ee388d_e158e21b","updated":"2022-06-29 05:16:21.000000000","message":"recheck","commit_id":"685d90b8d63a41d13489f3c87aff3e6427f0c43d"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"5bcea73cdbf1cc3f465d1264f0028e32ce30c200","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d1592aad_d2bb9056","updated":"2022-07-01 11:15:12.000000000","message":"We may have found another issue in python-scciclient, and need more investigation. If python-scciclient needs fix, then we also need to update the driver-requirements.txt, so mark this patch as WIP to prevent merge.","commit_id":"15ba8d2719491bee68d74b3333a68a120099e517"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"d57849edd8c7e2ad69e4b213b893cce516353319","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d15c034b_c4aaf559","updated":"2022-07-01 01:22:56.000000000","message":"fujitsu-irmc-recheck","commit_id":"15ba8d2719491bee68d74b3333a68a120099e517"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"91eb9ca7ddf363449a03d4d4337b995c18ba4107","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7dc2e6e0_9ca0d459","updated":"2022-06-30 04:19:05.000000000","message":"recheck","commit_id":"15ba8d2719491bee68d74b3333a68a120099e517"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"9d8b09571ee3e333dfde33e4f108e03f07a4282c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"da577028_f34ce7dc","updated":"2022-06-30 08:21:29.000000000","message":"recheck","commit_id":"15ba8d2719491bee68d74b3333a68a120099e517"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"6c0dd082bb8b4640de1837e74e7f20f9776c5b0f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a7ba3593_727cc804","updated":"2022-07-15 08:16:07.000000000","message":"Hi, Julia\n\nWe have fixed the issue in python-scciclient and updated the version in driver-requirements. \n\nAlso to mask the snmpv3 related passwords, I have changed the names of parameter irmc_snmp_auth_key and irmc_snmp_priv_key to irmc_snmp_auth_password and irmc_snmp_priv_password.\n\nCould you please review this commit again?","commit_id":"79f82c0262c84f1e317991052d065259b3a4683d"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"6c6a8c7f38f7296dc7024b1f941610b70285c112","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"0901f2d0_d9032bac","updated":"2022-07-15 10:57:49.000000000","message":"fujitsu-irmc-recheck","commit_id":"79f82c0262c84f1e317991052d065259b3a4683d"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"09c9eea53b64dd2f80dff2f8aff03dbca7561ffe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"392ceb07_643654d4","updated":"2022-07-15 14:14:45.000000000","message":"fujitsu-irmc-recheck","commit_id":"79f82c0262c84f1e317991052d065259b3a4683d"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"73ba0d7bd5dcc994346ba5673a8c8c849c17111d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"657b36c5_22a71e68","updated":"2022-07-15 11:59:48.000000000","message":"fujitsu-irmc-recheck","commit_id":"79f82c0262c84f1e317991052d065259b3a4683d"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"6b2c9f7999a76f835ac84b86824797934c0adabe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"69250d8a_1c1ff4c6","updated":"2022-07-15 12:26:04.000000000","message":"fujitsu-irmc-recheck","commit_id":"79f82c0262c84f1e317991052d065259b3a4683d"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"50f3bb243a9a029b2371839662b14eb2db3e5d19","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"b7f554b8_aeba96cf","updated":"2022-07-15 13:11:42.000000000","message":"fujitsu-irmc-recheck","commit_id":"79f82c0262c84f1e317991052d065259b3a4683d"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"f322a5036fe2fd4a7e780969da01ca9b3b1bcf86","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c19d4b5a_feeaa447","updated":"2022-07-15 11:23:30.000000000","message":"fujitsu-irmc-recheck","commit_id":"79f82c0262c84f1e317991052d065259b3a4683d"},{"author":{"_account_id":30566,"name":"Vanou Ishii","email":"ishii.vanou@fujitsu.com","username":"vanou"},"change_message_id":"6d2dfae8601e0ceff0ff4c542c59d1e666860126","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"d19bef4b_55aeb388","updated":"2022-07-15 14:51:11.000000000","message":"fujitsu-irmc-recheck","commit_id":"79f82c0262c84f1e317991052d065259b3a4683d"}],"driver-requirements.txt":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c6b5864eb1d659625cb4ff901f8b5579bbfada00","unresolved":true,"context_lines":[{"line_number":6,"context_line":"# These are available on pypi"},{"line_number":7,"context_line":"proliantutils\u003e\u003d2.13.0"},{"line_number":8,"context_line":"pysnmp\u003e\u003d4.3.0,\u003c5.0.0"},{"line_number":9,"context_line":"python-scciclient\u003e\u003d0.12.1"},{"line_number":10,"context_line":"python-dracclient\u003e\u003d5.1.0,\u003c9.0.0"},{"line_number":11,"context_line":"python-xclarityclient\u003e\u003d0.1.6"},{"line_number":12,"context_line":""}],"source_content_type":"text/plain","patch_set":1,"id":"fe94e8ec_cb8eab75","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":25},"updated":"2022-06-17 11:41:03.000000000","message":"This will need to be noted in the release notes.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"6002ceb3d6c016b1337f428dc99e0b49cf4c0235","unresolved":false,"context_lines":[{"line_number":6,"context_line":"# These are available on pypi"},{"line_number":7,"context_line":"proliantutils\u003e\u003d2.13.0"},{"line_number":8,"context_line":"pysnmp\u003e\u003d4.3.0,\u003c5.0.0"},{"line_number":9,"context_line":"python-scciclient\u003e\u003d0.12.1"},{"line_number":10,"context_line":"python-dracclient\u003e\u003d5.1.0,\u003c9.0.0"},{"line_number":11,"context_line":"python-xclarityclient\u003e\u003d0.1.6"},{"line_number":12,"context_line":""}],"source_content_type":"text/plain","patch_set":1,"id":"226ff136_79dd9d11","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":25},"in_reply_to":"fe94e8ec_cb8eab75","updated":"2022-06-21 08:11:12.000000000","message":"Created the release note and mentioned this update, please review it.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"}],"ironic/common/utils.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6c73227292ac913472bb156dc45270c55f6d9ea7","unresolved":true,"context_lines":[{"line_number":672,"context_line":""},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"def is_fips_enabled():"},{"line_number":675,"context_line":"    \"\"\"Check if FIPS mode is enabled in the system.\"\"\""},{"line_number":676,"context_line":"    try:"},{"line_number":677,"context_line":"        with open(\u0027/proc/sys/crypto/fips_enabled\u0027, \u0027r\u0027) as f:"},{"line_number":678,"context_line":"            content \u003d f.read()"}],"source_content_type":"text/x-python","patch_set":8,"id":"8e76297e_fdcd5d9d","line":675,"range":{"start_line":675,"start_character":4,"end_line":675,"end_character":54},"updated":"2022-07-18 19:26:00.000000000","message":"I noticed this because the characters were slightly different, but it seems we have unicode and nonunicode chars here\n\njkreger@icarus:~$ echo \u0027\"\"\"C\u0027|hexdump\n0000000 2222 4322 000a                         \n0000005\njkreger@icarus:~$\n\nI don\u0027t know if this is going to be a problem, it just seems.. weird.","commit_id":"79f82c0262c84f1e317991052d065259b3a4683d"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"afc661b8babcc89a6cafd8a2ed8e16faeff2bb2d","unresolved":true,"context_lines":[{"line_number":672,"context_line":""},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"def is_fips_enabled():"},{"line_number":675,"context_line":"    \"\"\"Check if FIPS mode is enabled in the system.\"\"\""},{"line_number":676,"context_line":"    try:"},{"line_number":677,"context_line":"        with open(\u0027/proc/sys/crypto/fips_enabled\u0027, \u0027r\u0027) as f:"},{"line_number":678,"context_line":"            content \u003d f.read()"}],"source_content_type":"text/x-python","patch_set":8,"id":"a86fea41_a6382877","line":675,"range":{"start_line":675,"start_character":4,"end_line":675,"end_character":54},"in_reply_to":"8e76297e_fdcd5d9d","updated":"2022-07-19 09:17:52.000000000","message":"Sorry but I could not find out the non unicode characters in this line, could you share the steps you used to identify them?","commit_id":"79f82c0262c84f1e317991052d065259b3a4683d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"da6b2c31d96db8f5be8b8e3f3ef6ee3b0777d307","unresolved":true,"context_lines":[{"line_number":672,"context_line":""},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"def is_fips_enabled():"},{"line_number":675,"context_line":"    \"\"\"Check if FIPS mode is enabled in the system.\"\"\""},{"line_number":676,"context_line":"    try:"},{"line_number":677,"context_line":"        with open(\u0027/proc/sys/crypto/fips_enabled\u0027, \u0027r\u0027) as f:"},{"line_number":678,"context_line":"            content \u003d f.read()"}],"source_content_type":"text/x-python","patch_set":8,"id":"45542616_444f32a5","line":675,"range":{"start_line":675,"start_character":4,"end_line":675,"end_character":54},"in_reply_to":"a86fea41_a6382877","updated":"2022-07-20 13:41:15.000000000","message":"So I was more indicating there are non unicode characters and a unicode character in the middle. It is not an issue, I just noticed it.","commit_id":"79f82c0262c84f1e317991052d065259b3a4683d"}],"ironic/conf/irmc.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"cc9b2446a6bb2af1e2de02b1b2d5f1b4fdf25271","unresolved":true,"context_lines":[{"line_number":74,"context_line":"               help\u003d_(\u0027SNMP community. Required for versions \"v1\" and \"v2c\"\u0027)),"},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027snmp_security\u0027,"},{"line_number":76,"context_line":"               help\u003d_(\"SNMP security name. Required for version \u0027v3\u0027. \""},{"line_number":77,"context_line":"                      \"This property is deprecated, please use \""},{"line_number":78,"context_line":"                      \"\u0027irmc_snmp_user\u0027 instead.\")),"},{"line_number":79,"context_line":"    cfg.IntOpt(\u0027snmp_polling_interval\u0027,"},{"line_number":80,"context_line":"               default\u003d10,"},{"line_number":81,"context_line":"               help\u003d\u0027SNMP polling interval in seconds\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"d903ac23_68bdd2d9","line":78,"range":{"start_line":77,"start_character":0,"end_line":78,"end_character":52},"updated":"2022-06-17 11:40:09.000000000","message":"Just updating the text doesn\u0027t mark the option as deprecated completely when the example configurations are rendered, ideally we should include the deprecated_for_removal and a separate deprecated_reason. Example: https://opendev.org/openstack/ironic/src/branch/master/ironic/conf/default.py#L256-L257","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"6002ceb3d6c016b1337f428dc99e0b49cf4c0235","unresolved":false,"context_lines":[{"line_number":74,"context_line":"               help\u003d_(\u0027SNMP community. Required for versions \"v1\" and \"v2c\"\u0027)),"},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027snmp_security\u0027,"},{"line_number":76,"context_line":"               help\u003d_(\"SNMP security name. Required for version \u0027v3\u0027. \""},{"line_number":77,"context_line":"                      \"This property is deprecated, please use \""},{"line_number":78,"context_line":"                      \"\u0027irmc_snmp_user\u0027 instead.\")),"},{"line_number":79,"context_line":"    cfg.IntOpt(\u0027snmp_polling_interval\u0027,"},{"line_number":80,"context_line":"               default\u003d10,"},{"line_number":81,"context_line":"               help\u003d\u0027SNMP polling interval in seconds\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"f9a6b412_79709620","line":78,"range":{"start_line":77,"start_character":0,"end_line":78,"end_character":52},"in_reply_to":"d903ac23_68bdd2d9","updated":"2022-06-21 08:11:12.000000000","message":"Done","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"cc9b2446a6bb2af1e2de02b1b2d5f1b4fdf25271","unresolved":true,"context_lines":[{"line_number":79,"context_line":"    cfg.IntOpt(\u0027snmp_polling_interval\u0027,"},{"line_number":80,"context_line":"               default\u003d10,"},{"line_number":81,"context_line":"               help\u003d\u0027SNMP polling interval in seconds\u0027),"},{"line_number":82,"context_line":"    cfg.StrOpt(\u0027snmp_auth_proto\u0027,"},{"line_number":83,"context_line":"               default\u003d\u0027sha\u0027,"},{"line_number":84,"context_line":"               choices\u003d[(\u0027sha\u0027, _(\u0027Secure Hash Algorithm 1\u0027))],"},{"line_number":85,"context_line":"               help\u003d_(\"SNMPv3 message authentication protocol ID. \""},{"line_number":86,"context_line":"                      \"Required for version \u0027v3\u0027. \u0027sha\u0027 is supported.\")),"},{"line_number":87,"context_line":"    cfg.StrOpt(\u0027snmp_priv_proto\u0027,"},{"line_number":88,"context_line":"               default\u003d\u0027aes\u0027,"},{"line_number":89,"context_line":"               choices\u003d[(\u0027aes\u0027, _(\u0027Advanced Encryption Standard\u0027))],"},{"line_number":90,"context_line":"               help\u003d_(\"SNMPv3 message privacy (encryption) protocol ID. \""},{"line_number":91,"context_line":"                      \"Required for version \u0027v3\u0027. \u0027aes\u0027 is supported.\")),"},{"line_number":92,"context_line":"    cfg.IntOpt(\u0027clean_priority_restore_irmc_bios_config\u0027,"},{"line_number":93,"context_line":"               default\u003d0,"},{"line_number":94,"context_line":"               help\u003d_(\u0027Priority for restore_irmc_bios_config clean step.\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"8923f98a_2a26d4fc","line":91,"range":{"start_line":82,"start_character":0,"end_line":91,"end_character":73},"updated":"2022-06-17 11:40:09.000000000","message":"Why have configuration options when there is no actual option to configure? There are no other choices, there is a default. Is there no intent to add more?\n\nAdditionally, explicitly noting SHA is going to raise some eyebrows, and I\u0027m not entirely sure its use for authentication purposes is valid with FIPS.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"02ca41455740a9cd55a186a8ce23a7f114daced3","unresolved":true,"context_lines":[{"line_number":79,"context_line":"    cfg.IntOpt(\u0027snmp_polling_interval\u0027,"},{"line_number":80,"context_line":"               default\u003d10,"},{"line_number":81,"context_line":"               help\u003d\u0027SNMP polling interval in seconds\u0027),"},{"line_number":82,"context_line":"    cfg.StrOpt(\u0027snmp_auth_proto\u0027,"},{"line_number":83,"context_line":"               default\u003d\u0027sha\u0027,"},{"line_number":84,"context_line":"               choices\u003d[(\u0027sha\u0027, _(\u0027Secure Hash Algorithm 1\u0027))],"},{"line_number":85,"context_line":"               help\u003d_(\"SNMPv3 message authentication protocol ID. \""},{"line_number":86,"context_line":"                      \"Required for version \u0027v3\u0027. \u0027sha\u0027 is supported.\")),"},{"line_number":87,"context_line":"    cfg.StrOpt(\u0027snmp_priv_proto\u0027,"},{"line_number":88,"context_line":"               default\u003d\u0027aes\u0027,"},{"line_number":89,"context_line":"               choices\u003d[(\u0027aes\u0027, _(\u0027Advanced Encryption Standard\u0027))],"},{"line_number":90,"context_line":"               help\u003d_(\"SNMPv3 message privacy (encryption) protocol ID. \""},{"line_number":91,"context_line":"                      \"Required for version \u0027v3\u0027. \u0027aes\u0027 is supported.\")),"},{"line_number":92,"context_line":"    cfg.IntOpt(\u0027clean_priority_restore_irmc_bios_config\u0027,"},{"line_number":93,"context_line":"               default\u003d0,"},{"line_number":94,"context_line":"               help\u003d_(\u0027Priority for restore_irmc_bios_config clean step.\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"db904955_0da4040c","line":91,"range":{"start_line":82,"start_character":0,"end_line":91,"end_character":73},"in_reply_to":"3feedfdd_deffa202","updated":"2022-06-27 17:15:22.000000000","message":"Okay, Thanks. Honestly it is kind of surprising since SNMP\u0027s use seems kind of rare at this point. The trend has definitely been towards restful APIs.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"6002ceb3d6c016b1337f428dc99e0b49cf4c0235","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    cfg.IntOpt(\u0027snmp_polling_interval\u0027,"},{"line_number":80,"context_line":"               default\u003d10,"},{"line_number":81,"context_line":"               help\u003d\u0027SNMP polling interval in seconds\u0027),"},{"line_number":82,"context_line":"    cfg.StrOpt(\u0027snmp_auth_proto\u0027,"},{"line_number":83,"context_line":"               default\u003d\u0027sha\u0027,"},{"line_number":84,"context_line":"               choices\u003d[(\u0027sha\u0027, _(\u0027Secure Hash Algorithm 1\u0027))],"},{"line_number":85,"context_line":"               help\u003d_(\"SNMPv3 message authentication protocol ID. \""},{"line_number":86,"context_line":"                      \"Required for version \u0027v3\u0027. \u0027sha\u0027 is supported.\")),"},{"line_number":87,"context_line":"    cfg.StrOpt(\u0027snmp_priv_proto\u0027,"},{"line_number":88,"context_line":"               default\u003d\u0027aes\u0027,"},{"line_number":89,"context_line":"               choices\u003d[(\u0027aes\u0027, _(\u0027Advanced Encryption Standard\u0027))],"},{"line_number":90,"context_line":"               help\u003d_(\"SNMPv3 message privacy (encryption) protocol ID. \""},{"line_number":91,"context_line":"                      \"Required for version \u0027v3\u0027. \u0027aes\u0027 is supported.\")),"},{"line_number":92,"context_line":"    cfg.IntOpt(\u0027clean_priority_restore_irmc_bios_config\u0027,"},{"line_number":93,"context_line":"               default\u003d0,"},{"line_number":94,"context_line":"               help\u003d_(\u0027Priority for restore_irmc_bios_config clean step.\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3feedfdd_deffa202","line":91,"range":{"start_line":82,"start_character":0,"end_line":91,"end_character":73},"in_reply_to":"8923f98a_2a26d4fc","updated":"2022-06-21 08:11:12.000000000","message":"We plan to add more supported authentication and privacy protocols in the future, and because sha and aes are fips compliant so currently we decide to set their default to sha and aes.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"dd6e778b09b08dcd248d7b0b7322d11cbe4690b6","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    cfg.IntOpt(\u0027snmp_polling_interval\u0027,"},{"line_number":80,"context_line":"               default\u003d10,"},{"line_number":81,"context_line":"               help\u003d\u0027SNMP polling interval in seconds\u0027),"},{"line_number":82,"context_line":"    cfg.StrOpt(\u0027snmp_auth_proto\u0027,"},{"line_number":83,"context_line":"               default\u003d\u0027sha\u0027,"},{"line_number":84,"context_line":"               choices\u003d[(\u0027sha\u0027, _(\u0027Secure Hash Algorithm 1\u0027))],"},{"line_number":85,"context_line":"               help\u003d_(\"SNMPv3 message authentication protocol ID. \""},{"line_number":86,"context_line":"                      \"Required for version \u0027v3\u0027. \u0027sha\u0027 is supported.\")),"},{"line_number":87,"context_line":"    cfg.StrOpt(\u0027snmp_priv_proto\u0027,"},{"line_number":88,"context_line":"               default\u003d\u0027aes\u0027,"},{"line_number":89,"context_line":"               choices\u003d[(\u0027aes\u0027, _(\u0027Advanced Encryption Standard\u0027))],"},{"line_number":90,"context_line":"               help\u003d_(\"SNMPv3 message privacy (encryption) protocol ID. \""},{"line_number":91,"context_line":"                      \"Required for version \u0027v3\u0027. \u0027aes\u0027 is supported.\")),"},{"line_number":92,"context_line":"    cfg.IntOpt(\u0027clean_priority_restore_irmc_bios_config\u0027,"},{"line_number":93,"context_line":"               default\u003d0,"},{"line_number":94,"context_line":"               help\u003d_(\u0027Priority for restore_irmc_bios_config clean step.\u0027)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"c8532116_1e41874d","line":91,"range":{"start_line":82,"start_character":0,"end_line":91,"end_character":73},"in_reply_to":"db904955_0da4040c","updated":"2022-06-28 05:25:20.000000000","message":"Thank you for comment. I agree that the trends go towards restful API, however to make iRMC driver FIPS compliant, we need to do this work.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"}],"ironic/drivers/modules/irmc/common.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"cc9b2446a6bb2af1e2de02b1b2d5f1b4fdf25271","unresolved":true,"context_lines":[{"line_number":209,"context_line":"                if not security:"},{"line_number":210,"context_line":"                    missing_info.append(param)"},{"line_number":211,"context_line":"                else:"},{"line_number":212,"context_line":"                    LOG.warning(_(\"\u0027irmc_snmp_security\u0027 parameter is \""},{"line_number":213,"context_line":"                                  \"deprecated in favor of \u0027irmc_snmp_user\u0027 \""},{"line_number":214,"context_line":"                                  \"parameter. Please use \u0027irmc_snmp_user\u0027.\"))"},{"line_number":215,"context_line":"                    if not isinstance(security, str):"},{"line_number":216,"context_line":"                        raise exception.InvalidParameterValue(_("},{"line_number":217,"context_line":"                            \"Value \u0027%s\u0027 is not a string for \""}],"source_content_type":"text/x-python","patch_set":1,"id":"38f595d4_3c168bdf","line":214,"range":{"start_line":212,"start_character":0,"end_line":214,"end_character":77},"updated":"2022-06-17 11:40:09.000000000","message":"If your going to log a warning like this, please also log the node UUID so an admin can identify and fix the record. For what it is worth, logging in general for handling of a deprecated parameter is not mandatory and is on a case by case basis. I can see this being very noisy in logs for operators managing hundreds or thousands of nodes.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"6002ceb3d6c016b1337f428dc99e0b49cf4c0235","unresolved":false,"context_lines":[{"line_number":209,"context_line":"                if not security:"},{"line_number":210,"context_line":"                    missing_info.append(param)"},{"line_number":211,"context_line":"                else:"},{"line_number":212,"context_line":"                    LOG.warning(_(\"\u0027irmc_snmp_security\u0027 parameter is \""},{"line_number":213,"context_line":"                                  \"deprecated in favor of \u0027irmc_snmp_user\u0027 \""},{"line_number":214,"context_line":"                                  \"parameter. Please use \u0027irmc_snmp_user\u0027.\"))"},{"line_number":215,"context_line":"                    if not isinstance(security, str):"},{"line_number":216,"context_line":"                        raise exception.InvalidParameterValue(_("},{"line_number":217,"context_line":"                            \"Value \u0027%s\u0027 is not a string for \""}],"source_content_type":"text/x-python","patch_set":1,"id":"286483fa_0fba076e","line":214,"range":{"start_line":212,"start_character":0,"end_line":214,"end_character":77},"in_reply_to":"38f595d4_3c168bdf","updated":"2022-06-21 08:11:12.000000000","message":"Done","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"cc9b2446a6bb2af1e2de02b1b2d5f1b4fdf25271","unresolved":true,"context_lines":[{"line_number":212,"context_line":"                    LOG.warning(_(\"\u0027irmc_snmp_security\u0027 parameter is \""},{"line_number":213,"context_line":"                                  \"deprecated in favor of \u0027irmc_snmp_user\u0027 \""},{"line_number":214,"context_line":"                                  \"parameter. Please use \u0027irmc_snmp_user\u0027.\"))"},{"line_number":215,"context_line":"                    if not isinstance(security, str):"},{"line_number":216,"context_line":"                        raise exception.InvalidParameterValue(_("},{"line_number":217,"context_line":"                            \"Value \u0027%s\u0027 is not a string for \""},{"line_number":218,"context_line":"                            \"\u0027irmc_snmp_security.\") %"}],"source_content_type":"text/x-python","patch_set":1,"id":"7e9d43c1_b62b6c4b","line":215,"range":{"start_line":215,"start_character":20,"end_line":215,"end_character":53},"updated":"2022-06-17 11:40:09.000000000","message":"What exactly are we trying to guard against with this check?\n\nRealistically, if I have a username that is for example 12345678, and I supply that as an integer through the API, I could still cast that out to a string instead of break the user experience. The other possible value is None, but that is handled on line 209/210.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"6002ceb3d6c016b1337f428dc99e0b49cf4c0235","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                    LOG.warning(_(\"\u0027irmc_snmp_security\u0027 parameter is \""},{"line_number":213,"context_line":"                                  \"deprecated in favor of \u0027irmc_snmp_user\u0027 \""},{"line_number":214,"context_line":"                                  \"parameter. Please use \u0027irmc_snmp_user\u0027.\"))"},{"line_number":215,"context_line":"                    if not isinstance(security, str):"},{"line_number":216,"context_line":"                        raise exception.InvalidParameterValue(_("},{"line_number":217,"context_line":"                            \"Value \u0027%s\u0027 is not a string for \""},{"line_number":218,"context_line":"                            \"\u0027irmc_snmp_security.\") %"}],"source_content_type":"text/x-python","patch_set":1,"id":"88ddf7b0_1b4d9548","line":215,"range":{"start_line":215,"start_character":20,"end_line":215,"end_character":53},"in_reply_to":"7e9d43c1_b62b6c4b","updated":"2022-06-21 08:11:12.000000000","message":"In iRMC, the username must start with a letter, so a string from a number is not a valid username.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"02ca41455740a9cd55a186a8ce23a7f114daced3","unresolved":true,"context_lines":[{"line_number":212,"context_line":"                    LOG.warning(_(\"\u0027irmc_snmp_security\u0027 parameter is \""},{"line_number":213,"context_line":"                                  \"deprecated in favor of \u0027irmc_snmp_user\u0027 \""},{"line_number":214,"context_line":"                                  \"parameter. Please use \u0027irmc_snmp_user\u0027.\"))"},{"line_number":215,"context_line":"                    if not isinstance(security, str):"},{"line_number":216,"context_line":"                        raise exception.InvalidParameterValue(_("},{"line_number":217,"context_line":"                            \"Value \u0027%s\u0027 is not a string for \""},{"line_number":218,"context_line":"                            \"\u0027irmc_snmp_security.\") %"}],"source_content_type":"text/x-python","patch_set":1,"id":"902302b4_cd667a1b","line":215,"range":{"start_line":215,"start_character":20,"end_line":215,"end_character":53},"in_reply_to":"88ddf7b0_1b4d9548","updated":"2022-06-27 17:15:22.000000000","message":"It would be good to just include that as a note in the code, because that is not commonly known afaik.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"dd6e778b09b08dcd248d7b0b7322d11cbe4690b6","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                    LOG.warning(_(\"\u0027irmc_snmp_security\u0027 parameter is \""},{"line_number":213,"context_line":"                                  \"deprecated in favor of \u0027irmc_snmp_user\u0027 \""},{"line_number":214,"context_line":"                                  \"parameter. Please use \u0027irmc_snmp_user\u0027.\"))"},{"line_number":215,"context_line":"                    if not isinstance(security, str):"},{"line_number":216,"context_line":"                        raise exception.InvalidParameterValue(_("},{"line_number":217,"context_line":"                            \"Value \u0027%s\u0027 is not a string for \""},{"line_number":218,"context_line":"                            \"\u0027irmc_snmp_security.\") %"}],"source_content_type":"text/x-python","patch_set":1,"id":"712422f4_b7086a35","line":215,"range":{"start_line":215,"start_character":20,"end_line":215,"end_character":53},"in_reply_to":"902302b4_cd667a1b","updated":"2022-06-28 05:25:20.000000000","message":"Done.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"cc9b2446a6bb2af1e2de02b1b2d5f1b4fdf25271","unresolved":true,"context_lines":[{"line_number":229,"context_line":"            \"are missing: %s\") % missing_info)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    if security:"},{"line_number":232,"context_line":"        LOG.warning(_(\"\u0027irmc_snmp_security\u0027 parameter is ignored in favor of \""},{"line_number":233,"context_line":"                      \"\u0027irmc_snmp_user\u0027 parameter.\"))"},{"line_number":234,"context_line":"    if not isinstance(snmp_info[\u0027irmc_snmp_user\u0027], str):"},{"line_number":235,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":236,"context_line":"            \"Value \u0027%s\u0027 is not a string for \u0027irmc_snmp_user\u0027.\") %"}],"source_content_type":"text/x-python","patch_set":1,"id":"54022948_928d482f","line":233,"range":{"start_line":232,"start_character":0,"end_line":233,"end_character":53},"updated":"2022-06-17 11:40:09.000000000","message":"If your going to log this per node, when parsing parameters, it needs to include the node uuid so an admin is able to identify and remedy the issue.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"6002ceb3d6c016b1337f428dc99e0b49cf4c0235","unresolved":false,"context_lines":[{"line_number":229,"context_line":"            \"are missing: %s\") % missing_info)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    if security:"},{"line_number":232,"context_line":"        LOG.warning(_(\"\u0027irmc_snmp_security\u0027 parameter is ignored in favor of \""},{"line_number":233,"context_line":"                      \"\u0027irmc_snmp_user\u0027 parameter.\"))"},{"line_number":234,"context_line":"    if not isinstance(snmp_info[\u0027irmc_snmp_user\u0027], str):"},{"line_number":235,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":236,"context_line":"            \"Value \u0027%s\u0027 is not a string for \u0027irmc_snmp_user\u0027.\") %"}],"source_content_type":"text/x-python","patch_set":1,"id":"b84db2b7_185f19a4","line":233,"range":{"start_line":232,"start_character":0,"end_line":233,"end_character":53},"in_reply_to":"54022948_928d482f","updated":"2022-06-21 08:11:12.000000000","message":"Done","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"cc9b2446a6bb2af1e2de02b1b2d5f1b4fdf25271","unresolved":true,"context_lines":[{"line_number":261,"context_line":"    return snmp_info"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"def _is_fips_enabled():"},{"line_number":265,"context_line":"    try:"},{"line_number":266,"context_line":"        with open(\u0027/proc/sys/crypto/fips_enabled\u0027, \u0027r\u0027) as f:"},{"line_number":267,"context_line":"            content \u003d f.read()"},{"line_number":268,"context_line":"            if content \u003d\u003d \"1\\n\":"},{"line_number":269,"context_line":"                return True"},{"line_number":270,"context_line":"    except Exception:"},{"line_number":271,"context_line":"        pass"},{"line_number":272,"context_line":"    return False"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"def get_irmc_client(node):"}],"source_content_type":"text/x-python","patch_set":1,"id":"8e906fee_107fc4c8","line":272,"range":{"start_line":264,"start_character":0,"end_line":272,"end_character":16},"updated":"2022-06-17 11:40:09.000000000","message":"Just a suggestion here, but it seems like something that could be useful in one of the utility helpers for all of ironic. If you move it, add a docstring and name it something like \"is_fips_enabled\"","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"6002ceb3d6c016b1337f428dc99e0b49cf4c0235","unresolved":false,"context_lines":[{"line_number":261,"context_line":"    return snmp_info"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"def _is_fips_enabled():"},{"line_number":265,"context_line":"    try:"},{"line_number":266,"context_line":"        with open(\u0027/proc/sys/crypto/fips_enabled\u0027, \u0027r\u0027) as f:"},{"line_number":267,"context_line":"            content \u003d f.read()"},{"line_number":268,"context_line":"            if content \u003d\u003d \"1\\n\":"},{"line_number":269,"context_line":"                return True"},{"line_number":270,"context_line":"    except Exception:"},{"line_number":271,"context_line":"        pass"},{"line_number":272,"context_line":"    return False"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"def get_irmc_client(node):"}],"source_content_type":"text/x-python","patch_set":1,"id":"eea61fbb_b4666e0f","line":272,"range":{"start_line":264,"start_character":0,"end_line":272,"end_character":16},"in_reply_to":"8e906fee_107fc4c8","updated":"2022-06-21 08:11:12.000000000","message":"I have moved this function to ironic/common/utils.py and also added related unit tests, please review that.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"02ca41455740a9cd55a186a8ce23a7f114daced3","unresolved":true,"context_lines":[{"line_number":251,"context_line":"                \"%s is too short. (8+ chars required)\") % param)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    for param in SNMP_V3_OPTIONAL_PROPERTIES:"},{"line_number":254,"context_line":"        value \u003d info.get(param, CONF.irmc.get(param[len(\u0027irmc_\u0027):]))"},{"line_number":255,"context_line":"        if value not in valid_values[param]:"},{"line_number":256,"context_line":"            raise exception.InvalidParameterValue(_("},{"line_number":257,"context_line":"                \"Invalid value %(value)s given for driver info parameter \""}],"source_content_type":"text/x-python","patch_set":3,"id":"661e9958_8ea9b702","line":254,"range":{"start_line":254,"start_character":32,"end_line":254,"end_character":68},"updated":"2022-06-27 17:15:22.000000000","message":"For what it is worth, falling back on the base config for checking it is not necessary, the configuration loader checks choices.","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"dd6e778b09b08dcd248d7b0b7322d11cbe4690b6","unresolved":false,"context_lines":[{"line_number":251,"context_line":"                \"%s is too short. (8+ chars required)\") % param)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    for param in SNMP_V3_OPTIONAL_PROPERTIES:"},{"line_number":254,"context_line":"        value \u003d info.get(param, CONF.irmc.get(param[len(\u0027irmc_\u0027):]))"},{"line_number":255,"context_line":"        if value not in valid_values[param]:"},{"line_number":256,"context_line":"            raise exception.InvalidParameterValue(_("},{"line_number":257,"context_line":"                \"Invalid value %(value)s given for driver info parameter \""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba450567_40431898","line":254,"range":{"start_line":254,"start_character":32,"end_line":254,"end_character":68},"in_reply_to":"661e9958_8ea9b702","updated":"2022-06-28 05:25:20.000000000","message":"Changed to only check the config from driver_info.","commit_id":"6e814fb7fb5a88f20dcdead55a43e68c554649eb"}],"ironic/tests/unit/db/utils.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"cc9b2446a6bb2af1e2de02b1b2d5f1b4fdf25271","unresolved":true,"context_lines":[{"line_number":107,"context_line":"        \"irmc_password\": \"fake0\","},{"line_number":108,"context_line":"        \"irmc_port\": \"80\","},{"line_number":109,"context_line":"        \"irmc_auth_method\": \"digest\","},{"line_number":110,"context_line":"        \"irmc_snmp_user\": \"admin0\","},{"line_number":111,"context_line":"        \"irmc_snmp_auth_key\": \"valid_key\","},{"line_number":112,"context_line":"        \"irmc_snmp_priv_key\": \"valid_key\""},{"line_number":113,"context_line":"    }"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1cfc253b_ac8fb257","line":112,"range":{"start_line":110,"start_character":0,"end_line":112,"end_character":41},"updated":"2022-06-17 11:40:09.000000000","message":"So your adding these, but realistically you shouldn\u0027t unless it is absolutely necessary.\n\nAll of the tests will get these parameters and it doesn\u0027t look like there is any test that would ensure these *new* parameters are not explicitly required upon an upgrade, since they all get them.\n\nThink of it this way: This patch merging in hypthetical ironic version 27, but the user added the irmc node in ironic 16.x. The question we need to ensure is that upon upgrading even from just the prior version, that the code changes don\u0027t break the user which created the node before these changes were introduced.\n\nIdeally, It would be good to remove these added parameters, and add specific tests around the existence of the field data to ensure the driver works as expected for both a new node added to ironic using this feature, and past nodes which already existed.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"},{"author":{"_account_id":28806,"name":"Shukun Song","display_name":"Shukun Song","email":"song.shukun@jp.fujitsu.com","username":"song"},"change_message_id":"6002ceb3d6c016b1337f428dc99e0b49cf4c0235","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        \"irmc_password\": \"fake0\","},{"line_number":108,"context_line":"        \"irmc_port\": \"80\","},{"line_number":109,"context_line":"        \"irmc_auth_method\": \"digest\","},{"line_number":110,"context_line":"        \"irmc_snmp_user\": \"admin0\","},{"line_number":111,"context_line":"        \"irmc_snmp_auth_key\": \"valid_key\","},{"line_number":112,"context_line":"        \"irmc_snmp_priv_key\": \"valid_key\""},{"line_number":113,"context_line":"    }"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"e147c9cd_d40e0829","line":112,"range":{"start_line":110,"start_character":0,"end_line":112,"end_character":41},"in_reply_to":"1cfc253b_ac8fb257","updated":"2022-06-21 08:11:12.000000000","message":"Thanks for the instruction. I have deleted these info here and turned to set them separately for each test case.","commit_id":"77654059a32868ecdfc20d15b1beacddabbb4d28"}]}
