)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ce73ec8b1bda23e70dcc2543af9d170969aab229","unresolved":true,"context_lines":[{"line_number":11,"context_line":"adds additional verification to prevent this."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Test plan:"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ic49252b5c08e0d7e2a1212a52d8949a05bd55927"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dfd14889_d6a3e60f","line":14,"updated":"2024-07-09 12:48:22.000000000","message":"Closes-Bug:\n\nSigned-off-by:","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"bb75bd8a49aad37aaf902ef3f438e2f67a5fc158","unresolved":false,"context_lines":[{"line_number":11,"context_line":"adds additional verification to prevent this."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Test plan:"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ic49252b5c08e0d7e2a1212a52d8949a05bd55927"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"d84fc5a4_94403884","line":14,"in_reply_to":"dfd14889_d6a3e60f","updated":"2024-07-11 12:21:34.000000000","message":"Done","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"bb75bd8a49aad37aaf902ef3f438e2f67a5fc158","unresolved":true,"context_lines":[{"line_number":11,"context_line":"adds additional verification to prevent this, mainly checking"},{"line_number":12,"context_line":"key configurations that should be present at the generate"},{"line_number":13,"context_line":"hieradata moment."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Test plan:"},{"line_number":16,"context_line":"\tInstall DX -WIP-"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"cedd6981_558eb652","line":14,"updated":"2024-07-11 12:21:34.000000000","message":"description of the check for the runtime config table should also be added","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"6ebb716c5082b414b0a8e4c854ad3fbadfef3884","unresolved":false,"context_lines":[{"line_number":11,"context_line":"adds additional verification to prevent this, mainly checking"},{"line_number":12,"context_line":"key configurations that should be present at the generate"},{"line_number":13,"context_line":"hieradata moment."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Test plan:"},{"line_number":16,"context_line":"\tInstall DX -WIP-"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1c5dfdef_d42f720a","line":14,"in_reply_to":"9c958ec8_ee30aa86","updated":"2024-07-17 15:41:41.000000000","message":"Acknowledged","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"d6b9ed91e9f000608e75badde6e6c427ffef4846","unresolved":false,"context_lines":[{"line_number":11,"context_line":"adds additional verification to prevent this, mainly checking"},{"line_number":12,"context_line":"key configurations that should be present at the generate"},{"line_number":13,"context_line":"hieradata moment."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Test plan:"},{"line_number":16,"context_line":"\tInstall DX -WIP-"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dc24c2de_7b12547b","line":14,"in_reply_to":"9c958ec8_ee30aa86","updated":"2024-07-17 15:45:03.000000000","message":"this part was split to another review https://review.opendev.org/c/starlingx/config/+/923956","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"a0de2a8f163a7aa2c2572fa72b474f9b7f206b4c","unresolved":true,"context_lines":[{"line_number":11,"context_line":"adds additional verification to prevent this, mainly checking"},{"line_number":12,"context_line":"key configurations that should be present at the generate"},{"line_number":13,"context_line":"hieradata moment."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Test plan:"},{"line_number":16,"context_line":"\tInstall DX -WIP-"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9c958ec8_ee30aa86","line":14,"in_reply_to":"cedd6981_558eb652","updated":"2024-07-11 14:03:36.000000000","message":"Acknowledged","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"d6b9ed91e9f000608e75badde6e6c427ffef4846","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix wrong hieradata generation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some configs containing the force flag could generate incorrect hieradata files for unintended hosts. This commit introduces additional verification to prevent this issue, mainly by checking key configurations that should be present at the moment hieradata is generated."},{"line_number":10,"context_line":"In addition, this commits introduces some refactoring to better handle"},{"line_number":11,"context_line":"a configurations with force flag."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ba03f404_f2b9b151","line":9,"updated":"2024-07-17 15:45:03.000000000","message":"nit: long line \u003e 80 chars","commit_id":"c8cf3326e4b736afb8fbf093e8fb04f5de614aa3"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"5758ce213b9d9b08c3299a4325694e4b592e5b77","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix wrong hieradata generation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some configs containing the force flag could generate incorrect hieradata files for unintended hosts. This commit introduces additional verification to prevent this issue, mainly by checking key configurations that should be present at the moment hieradata is generated."},{"line_number":10,"context_line":"In addition, this commits introduces some refactoring to better handle"},{"line_number":11,"context_line":"a configurations with force flag."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"05a09e8e_303b6528","line":9,"in_reply_to":"ba03f404_f2b9b151","updated":"2024-07-17 15:53:51.000000000","message":"Done","commit_id":"c8cf3326e4b736afb8fbf093e8fb04f5de614aa3"},{"author":{"_account_id":28676,"name":"Andy Ning","email":"andy.ning@windriver.com","username":"andy.wrs"},"change_message_id":"6c53069c9ded1372fb14d5bf42c28aaa12086407","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Test plan:"},{"line_number":18,"context_line":"\t  PASS:"},{"line_number":19,"context_line":"          Install DX and verify that the system is healty."},{"line_number":20,"context_line":"\t  Ensure no presence of alarms. Verify that all hosts are in"},{"line_number":21,"context_line":"          the status: \u0027unlocked | enabled | available\u0027."},{"line_number":22,"context_line":"          Check sysinv.log to confirm that this verification is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"ed6c2fc9_aa039a60","line":19,"updated":"2024-07-17 17:50:32.000000000","message":"typo, healthy","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"36c174664f2a84d31909bcbb1f3763bcc1f80963","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Test plan:"},{"line_number":18,"context_line":"\t  PASS:"},{"line_number":19,"context_line":"          Install DX and verify that the system is healty."},{"line_number":20,"context_line":"\t  Ensure no presence of alarms. Verify that all hosts are in"},{"line_number":21,"context_line":"          the status: \u0027unlocked | enabled | available\u0027."},{"line_number":22,"context_line":"          Check sysinv.log to confirm that this verification is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"4499e2c5_d5f5d231","line":19,"in_reply_to":"ed6c2fc9_aa039a60","updated":"2024-07-17 20:03:27.000000000","message":"Done","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":28676,"name":"Andy Ning","email":"andy.ning@windriver.com","username":"andy.wrs"},"change_message_id":"6c53069c9ded1372fb14d5bf42c28aaa12086407","unresolved":true,"context_lines":[{"line_number":28,"context_line":"          inappropriate time."},{"line_number":29,"context_line":"          Ensure No presence of alarms and verify all hosts are in"},{"line_number":30,"context_line":"          status \u0027unlocked | enabled | available\u0027."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"closes-bug: 2070487"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Signed-off-by: fperez \u003cfabrizio.perez@windriver.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"563e3c70_19754b2e","line":31,"updated":"2024-07-17 17:50:32.000000000","message":"Should add a TC to install a ssl_ca certificate.","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"36c174664f2a84d31909bcbb1f3763bcc1f80963","unresolved":false,"context_lines":[{"line_number":28,"context_line":"          inappropriate time."},{"line_number":29,"context_line":"          Ensure No presence of alarms and verify all hosts are in"},{"line_number":30,"context_line":"          status \u0027unlocked | enabled | available\u0027."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"closes-bug: 2070487"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Signed-off-by: fperez \u003cfabrizio.perez@windriver.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"7e546ef0_71161604","line":31,"in_reply_to":"563e3c70_19754b2e","updated":"2024-07-17 20:03:27.000000000","message":"Done. Thanks!","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"539380c40a87e461aa2f5c07958b67fdb4a9158d","unresolved":true,"context_lines":[{"line_number":29,"context_line":"          Ensure No presence of alarms and verify all hosts are in"},{"line_number":30,"context_line":"          status \u0027unlocked | enabled | available\u0027."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"closes-bug: 2070487"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Signed-off-by: fperez \u003cfabrizio.perez@windriver.com\u003e"},{"line_number":35,"context_line":"Change-Id: Ic49252b5c08e0d7e2a1212a52d8949a05bd55927"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"1fe90c3b_197019c7","line":32,"updated":"2024-07-17 16:32:27.000000000","message":"I feel like this is a stop-gap for this issue, as we shouldn\u0027t be generating hiera data that would provide an invalid config if applied.\n\nShould this not be a Partial-Bug until we clean up the invalid calling conditions?","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"aa8ca3aad8a02e8dbaa3e0a4c85a459fa71ca510","unresolved":true,"context_lines":[{"line_number":29,"context_line":"          Ensure No presence of alarms and verify all hosts are in"},{"line_number":30,"context_line":"          status \u0027unlocked | enabled | available\u0027."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"closes-bug: 2070487"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Signed-off-by: fperez \u003cfabrizio.perez@windriver.com\u003e"},{"line_number":35,"context_line":"Change-Id: Ic49252b5c08e0d7e2a1212a52d8949a05bd55927"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"cf9311c8_281f7397","line":32,"in_reply_to":"1fe90c3b_197019c7","updated":"2024-07-17 17:21:12.000000000","message":"Modifying to partial-bug.","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"4b89c332866f9331010cc5a624772c738ffa8fc1","unresolved":false,"context_lines":[{"line_number":29,"context_line":"          Ensure No presence of alarms and verify all hosts are in"},{"line_number":30,"context_line":"          status \u0027unlocked | enabled | available\u0027."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"closes-bug: 2070487"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Signed-off-by: fperez \u003cfabrizio.perez@windriver.com\u003e"},{"line_number":35,"context_line":"Change-Id: Ic49252b5c08e0d7e2a1212a52d8949a05bd55927"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"583bd891_ee6bf6c9","line":32,"in_reply_to":"cf9311c8_281f7397","updated":"2024-07-17 20:04:21.000000000","message":"Done","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"539380c40a87e461aa2f5c07958b67fdb4a9158d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"f1bea858_1cbd971f","updated":"2024-07-17 16:32:27.000000000","message":"I\u0027ll support merging this to provide install stability, but have some concerns that this isn\u0027t really a fix. If @john.kung@windriver.com provides a +2 I\u0027ll bump my vote.","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"b1a6d113ad6411299ff8a0260c58ad7da0acf53f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":13,"id":"ea8b3424_f8cf2b0d","in_reply_to":"f1bea858_1cbd971f","updated":"2024-07-17 21:07:04.000000000","message":"I agree for potential improvement in stability. We\u0027ll track the root cause fix with a LP. Another interesting theory why these may now be needed:  get_usm_upgrade() which is checked by inventorying methods such as ilvg_update_by_host().   \n\nNow get_usm_upgrade(), introduced for USM, is an external REST API call to another service.","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"a4d48b107646a4d9815d911c9e9624a3b4838b47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"2397a9a5_6976bd6e","updated":"2024-07-17 21:26:22.000000000","message":"Merging based on Bob and Andy\u0027s prior comments and votes.","commit_id":"b84ed695f86c08b314be55ca38dc78538d0d9ef7"}],"sysinv/sysinv/sysinv/sysinv/conductor/manager.py":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ce73ec8b1bda23e70dcc2543af9d170969aab229","unresolved":true,"context_lines":[{"line_number":13679,"context_line":"                    (host.invprovision \u003d\u003d constants.PROVISIONING and"},{"line_number":13680,"context_line":"                     host.personality \u003d\u003d constants.CONTROLLER)):"},{"line_number":13681,"context_line":"                    if host.software_load \u003d\u003d tsc.SW_VERSION:"},{"line_number":13682,"context_line":"                        # By allowing force update file without any other"},{"line_number":13683,"context_line":"                        # checks, it could negatively impact the system"},{"line_number":13684,"context_line":"                        # by generating invalid configurations for hosts."},{"line_number":13685,"context_line":"                        if host.config_target !\u003d config_uuid:"}],"source_content_type":"text/x-python","patch_set":1,"id":"427046b9_761ae47f","line":13682,"range":{"start_line":13682,"start_character":51,"end_line":13682,"end_character":56},"updated":"2024-07-09 12:48:22.000000000","message":"update without (as this is for puppet manifest)","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"6ebb716c5082b414b0a8e4c854ad3fbadfef3884","unresolved":false,"context_lines":[{"line_number":13679,"context_line":"                    (host.invprovision \u003d\u003d constants.PROVISIONING and"},{"line_number":13680,"context_line":"                     host.personality \u003d\u003d constants.CONTROLLER)):"},{"line_number":13681,"context_line":"                    if host.software_load \u003d\u003d tsc.SW_VERSION:"},{"line_number":13682,"context_line":"                        # By allowing force update file without any other"},{"line_number":13683,"context_line":"                        # checks, it could negatively impact the system"},{"line_number":13684,"context_line":"                        # by generating invalid configurations for hosts."},{"line_number":13685,"context_line":"                        if host.config_target !\u003d config_uuid:"}],"source_content_type":"text/x-python","patch_set":1,"id":"00f517e8_917af225","line":13682,"range":{"start_line":13682,"start_character":51,"end_line":13682,"end_character":56},"in_reply_to":"427046b9_761ae47f","updated":"2024-07-17 15:41:41.000000000","message":"Done","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ce73ec8b1bda23e70dcc2543af9d170969aab229","unresolved":true,"context_lines":[{"line_number":13682,"context_line":"                        # By allowing force update file without any other"},{"line_number":13683,"context_line":"                        # checks, it could negatively impact the system"},{"line_number":13684,"context_line":"                        # by generating invalid configurations for hosts."},{"line_number":13685,"context_line":"                        if host.config_target !\u003d config_uuid:"},{"line_number":13686,"context_line":"                            LOG.info("},{"line_number":13687,"context_line":"                                \"The config %s is not intended for the host %s.\" %"},{"line_number":13688,"context_line":"                                (config_uuid, host.hostname))"}],"source_content_type":"text/x-python","patch_set":1,"id":"abd7a7ab_ef075d83","line":13685,"range":{"start_line":13685,"start_character":27,"end_line":13685,"end_character":60},"updated":"2024-07-09 12:48:22.000000000","message":"The config_target may have the reboot_required (uppermost) bit set, but not the current config_uuid.  \n\nThus, this should check \nif force:\n    if (host.config_target !\u003d config_uuid) or (host.config_target !\u003d \n        cutils.config_flip_reboot_required(host.config_target) :\n\nHowever, note potential race condition noted below; as new config_target could be set while this is in progress.\n\nAnother method would be to check if the node has never been inventoried; however, currently the inv_state \u0027inventoried\u0027 (or not inventoried) could be overwritten by \u0027reinstalling\u0027 .\n\nAlternatives:\n- Do not overload inv_state and separate out \u0027reinstalling\u0027 into a separate field.\n- Check a sample of the host\u0027s inventoried data in database to determine if complete","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"a0de2a8f163a7aa2c2572fa72b474f9b7f206b4c","unresolved":false,"context_lines":[{"line_number":13682,"context_line":"                        # By allowing force update file without any other"},{"line_number":13683,"context_line":"                        # checks, it could negatively impact the system"},{"line_number":13684,"context_line":"                        # by generating invalid configurations for hosts."},{"line_number":13685,"context_line":"                        if host.config_target !\u003d config_uuid:"},{"line_number":13686,"context_line":"                            LOG.info("},{"line_number":13687,"context_line":"                                \"The config %s is not intended for the host %s.\" %"},{"line_number":13688,"context_line":"                                (config_uuid, host.hostname))"}],"source_content_type":"text/x-python","patch_set":1,"id":"d533d50d_5cea0200","line":13685,"range":{"start_line":13685,"start_character":27,"end_line":13685,"end_character":60},"in_reply_to":"a32219b1_379452e6","updated":"2024-07-11 14:03:36.000000000","message":"Done","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"9e42214673d8d457b0d49c8046a209caf9ab5925","unresolved":true,"context_lines":[{"line_number":13682,"context_line":"                        # By allowing force update file without any other"},{"line_number":13683,"context_line":"                        # checks, it could negatively impact the system"},{"line_number":13684,"context_line":"                        # by generating invalid configurations for hosts."},{"line_number":13685,"context_line":"                        if host.config_target !\u003d config_uuid:"},{"line_number":13686,"context_line":"                            LOG.info("},{"line_number":13687,"context_line":"                                \"The config %s is not intended for the host %s.\" %"},{"line_number":13688,"context_line":"                                (config_uuid, host.hostname))"}],"source_content_type":"text/x-python","patch_set":1,"id":"a32219b1_379452e6","line":13685,"range":{"start_line":13685,"start_character":27,"end_line":13685,"end_character":60},"in_reply_to":"abd7a7ab_ef075d83","updated":"2024-07-11 11:17:52.000000000","message":"Thanks. Changed the approach.","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ce73ec8b1bda23e70dcc2543af9d170969aab229","unresolved":true,"context_lines":[{"line_number":13683,"context_line":"                        # checks, it could negatively impact the system"},{"line_number":13684,"context_line":"                        # by generating invalid configurations for hosts."},{"line_number":13685,"context_line":"                        if host.config_target !\u003d config_uuid:"},{"line_number":13686,"context_line":"                            LOG.info("},{"line_number":13687,"context_line":"                                \"The config %s is not intended for the host %s.\" %"},{"line_number":13688,"context_line":"                                (config_uuid, host.hostname))"},{"line_number":13689,"context_line":"                            continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"eaeff74b_dee20cd2","line":13686,"updated":"2024-07-09 12:48:22.000000000","message":"Tracking by config_uuid has been problematic as well due to potential for race conditions on lock held during host config_uuid updates (would need further review).  It is possible that while this code is running, a new config_target is already set.","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"9e42214673d8d457b0d49c8046a209caf9ab5925","unresolved":false,"context_lines":[{"line_number":13683,"context_line":"                        # checks, it could negatively impact the system"},{"line_number":13684,"context_line":"                        # by generating invalid configurations for hosts."},{"line_number":13685,"context_line":"                        if host.config_target !\u003d config_uuid:"},{"line_number":13686,"context_line":"                            LOG.info("},{"line_number":13687,"context_line":"                                \"The config %s is not intended for the host %s.\" %"},{"line_number":13688,"context_line":"                                (config_uuid, host.hostname))"},{"line_number":13689,"context_line":"                            continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"847415e6_360e8fe0","line":13686,"in_reply_to":"eaeff74b_dee20cd2","updated":"2024-07-11 11:17:52.000000000","message":"Acknowledged","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"864494dd83e7ef9901febf09c26724d7d8dcd1f1","unresolved":true,"context_lines":[{"line_number":13691,"context_line":"                        # software load of the host is different from the active"},{"line_number":13692,"context_line":"                        # controller. The Hieradata of a host during an upgrade/rollback"},{"line_number":13693,"context_line":"                        # will be saved by update_host_config_upgrade() to the"},{"line_number":13694,"context_line":"                        # directory of the host\u0027s software load."},{"line_number":13695,"context_line":"                        if not skip_update_config:"},{"line_number":13696,"context_line":"                            self._puppet.update_host_config(host, config_uuid)"},{"line_number":13697,"context_line":"                            host_updated \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"056a26fd_e72c3798","line":13694,"updated":"2024-07-10 12:42:47.000000000","message":"Please note the following is another potential issue for application of runtime config:\nhttps://opendev.org/starlingx/config/src/commit/8ca04afc82428deaf617e24ee777c68499c741c8/sysinv/sysinv/sysinv/sysinv/conductor/manager.py#L13943  The runtime config table is extended with all personalities, regardless of whether inventoried/reinstalling or not.","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"9e42214673d8d457b0d49c8046a209caf9ab5925","unresolved":true,"context_lines":[{"line_number":13691,"context_line":"                        # software load of the host is different from the active"},{"line_number":13692,"context_line":"                        # controller. The Hieradata of a host during an upgrade/rollback"},{"line_number":13693,"context_line":"                        # will be saved by update_host_config_upgrade() to the"},{"line_number":13694,"context_line":"                        # directory of the host\u0027s software load."},{"line_number":13695,"context_line":"                        if not skip_update_config:"},{"line_number":13696,"context_line":"                            self._puppet.update_host_config(host, config_uuid)"},{"line_number":13697,"context_line":"                            host_updated \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"7766e231_cd63dedc","line":13694,"in_reply_to":"056a26fd_e72c3798","updated":"2024-07-11 11:17:52.000000000","message":"Thanks. Added a condition there. Under testing.","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"a0de2a8f163a7aa2c2572fa72b474f9b7f206b4c","unresolved":false,"context_lines":[{"line_number":13691,"context_line":"                        # software load of the host is different from the active"},{"line_number":13692,"context_line":"                        # controller. The Hieradata of a host during an upgrade/rollback"},{"line_number":13693,"context_line":"                        # will be saved by update_host_config_upgrade() to the"},{"line_number":13694,"context_line":"                        # directory of the host\u0027s software load."},{"line_number":13695,"context_line":"                        if not skip_update_config:"},{"line_number":13696,"context_line":"                            self._puppet.update_host_config(host, config_uuid)"},{"line_number":13697,"context_line":"                            host_updated \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"ee412b6e_a0f35ac2","line":13694,"in_reply_to":"7766e231_cd63dedc","updated":"2024-07-11 14:03:36.000000000","message":"Done","commit_id":"22c85a125e48b7980b2ec0e539a56d708496835f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"9ca016612b2dc55995061480a17ec7e1be9b14ea","unresolved":true,"context_lines":[{"line_number":13674,"context_line":"                # example the ntp configuration to be changed on an CPE"},{"line_number":13675,"context_line":"                # node before the \"worker_config_complete\" has been"},{"line_number":13676,"context_line":"                # executed."},{"line_number":13677,"context_line":"                elif (force or"},{"line_number":13678,"context_line":"                    host.invprovision in [constants.PROVISIONED, constants.UPGRADING] or"},{"line_number":13679,"context_line":"                    (host.invprovision \u003d\u003d constants.PROVISIONING and"},{"line_number":13680,"context_line":"                     host.personality \u003d\u003d constants.CONTROLLER)):"}],"source_content_type":"text/x-python","patch_set":4,"id":"4b2f5ab9_cfc7809f","line":13677,"range":{"start_line":13677,"start_character":22,"end_line":13677,"end_character":28},"updated":"2024-07-11 12:02:17.000000000","message":"force should be moved into its own \u0027elif\u0027 condition","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"2c81cb690d9062dec51fd25e1c08c71d1a74d867","unresolved":false,"context_lines":[{"line_number":13674,"context_line":"                # example the ntp configuration to be changed on an CPE"},{"line_number":13675,"context_line":"                # node before the \"worker_config_complete\" has been"},{"line_number":13676,"context_line":"                # executed."},{"line_number":13677,"context_line":"                elif (force or"},{"line_number":13678,"context_line":"                    host.invprovision in [constants.PROVISIONED, constants.UPGRADING] or"},{"line_number":13679,"context_line":"                    (host.invprovision \u003d\u003d constants.PROVISIONING and"},{"line_number":13680,"context_line":"                     host.personality \u003d\u003d constants.CONTROLLER)):"}],"source_content_type":"text/x-python","patch_set":4,"id":"b648ef61_26466acf","line":13677,"range":{"start_line":13677,"start_character":22,"end_line":13677,"end_character":28},"in_reply_to":"4b2f5ab9_cfc7809f","updated":"2024-07-11 13:15:30.000000000","message":"Done","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"9ca016612b2dc55995061480a17ec7e1be9b14ea","unresolved":true,"context_lines":[{"line_number":13689,"context_line":"                            if force:"},{"line_number":13690,"context_line":"                                if self._check_host_config(host):"},{"line_number":13691,"context_line":"                                    self._puppet.update_host_config(host, config_uuid)"},{"line_number":13692,"context_line":"                                    host_updated \u003d True"},{"line_number":13693,"context_line":"                else:"},{"line_number":13694,"context_line":"                    LOG.info("},{"line_number":13695,"context_line":"                        \"Cannot regenerate the configuration for %s, \""}],"source_content_type":"text/x-python","patch_set":4,"id":"49c010e1_009ef6f8","line":13692,"updated":"2024-07-11 12:02:17.000000000","message":"elif force: \nas \nstill need to update_host_config(host, config_uuid) in the non-force case","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"2c81cb690d9062dec51fd25e1c08c71d1a74d867","unresolved":false,"context_lines":[{"line_number":13689,"context_line":"                            if force:"},{"line_number":13690,"context_line":"                                if self._check_host_config(host):"},{"line_number":13691,"context_line":"                                    self._puppet.update_host_config(host, config_uuid)"},{"line_number":13692,"context_line":"                                    host_updated \u003d True"},{"line_number":13693,"context_line":"                else:"},{"line_number":13694,"context_line":"                    LOG.info("},{"line_number":13695,"context_line":"                        \"Cannot regenerate the configuration for %s, \""}],"source_content_type":"text/x-python","patch_set":4,"id":"60a1bcc9_743b411a","line":13692,"in_reply_to":"49c010e1_009ef6f8","updated":"2024-07-11 13:15:30.000000000","message":"Thanks!","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":32933,"name":"Andre Kantek","display_name":"Andre Kantek","email":"AndreFernandoZanella.Kantek@windriver.com","username":"akantek"},"change_message_id":"e966a01c65cb509c11887e75e3ff8aeb560be48e","unresolved":true,"context_lines":[{"line_number":13703,"context_line":"            self._puppet.update_secure_system_config()"},{"line_number":13704,"context_line":""},{"line_number":13705,"context_line":"    def _check_host_config(self, host):"},{"line_number":13706,"context_line":"        \"\"\"Verify that the configuration for the host is correct"},{"line_number":13707,"context_line":"        before generating hieradata. This avoids generating"},{"line_number":13708,"context_line":"        incorrect hieradata configuration file."},{"line_number":13709,"context_line":""},{"line_number":13710,"context_line":"        It checks first network address present for this host and"},{"line_number":13711,"context_line":"        then cgts-vg present."}],"source_content_type":"text/x-python","patch_set":4,"id":"14632dab_bc886540","line":13708,"range":{"start_line":13706,"start_character":8,"end_line":13708,"end_character":47},"updated":"2024-07-11 14:08:17.000000000","message":"The most secure way to check if to use self.dbapi.interface_network_get_by_host()\nthe object interface_network will have the forihostid and network_type attributes that can be matched with the host.id and the network types\n\nTo avoid that problem (generating an empty network config) be sure it contains the management network (it is common to all nodes), the others are not necessary.","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"e46d0d5a912b26bc5ef8df23521dd9377ef23d1d","unresolved":true,"context_lines":[{"line_number":13703,"context_line":"            self._puppet.update_secure_system_config()"},{"line_number":13704,"context_line":""},{"line_number":13705,"context_line":"    def _check_host_config(self, host):"},{"line_number":13706,"context_line":"        \"\"\"Verify that the configuration for the host is correct"},{"line_number":13707,"context_line":"        before generating hieradata. This avoids generating"},{"line_number":13708,"context_line":"        incorrect hieradata configuration file."},{"line_number":13709,"context_line":""},{"line_number":13710,"context_line":"        It checks first network address present for this host and"},{"line_number":13711,"context_line":"        then cgts-vg present."}],"source_content_type":"text/x-python","patch_set":4,"id":"5afc8771_aa41de0f","line":13708,"range":{"start_line":13706,"start_character":8,"end_line":13708,"end_character":47},"in_reply_to":"14632dab_bc886540","updated":"2024-07-11 17:52:44.000000000","message":"OK. Modified, thanks. Still completing testing.","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"35adc6d222d671646c2396d957731d6fde838f17","unresolved":false,"context_lines":[{"line_number":13703,"context_line":"            self._puppet.update_secure_system_config()"},{"line_number":13704,"context_line":""},{"line_number":13705,"context_line":"    def _check_host_config(self, host):"},{"line_number":13706,"context_line":"        \"\"\"Verify that the configuration for the host is correct"},{"line_number":13707,"context_line":"        before generating hieradata. This avoids generating"},{"line_number":13708,"context_line":"        incorrect hieradata configuration file."},{"line_number":13709,"context_line":""},{"line_number":13710,"context_line":"        It checks first network address present for this host and"},{"line_number":13711,"context_line":"        then cgts-vg present."}],"source_content_type":"text/x-python","patch_set":4,"id":"71d363ef_822d1eeb","line":13708,"range":{"start_line":13706,"start_character":8,"end_line":13708,"end_character":47},"in_reply_to":"16e08a7a_d5031d25","updated":"2024-07-17 15:26:10.000000000","message":"Thanks, John. I also believe that applying the changes you suggested in the previous commit could increase the robustness of this solution and could be done after this review.\n\nOk, proceeding with this review.","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"19220b723a29ff010a8422e286eba12115038569","unresolved":true,"context_lines":[{"line_number":13703,"context_line":"            self._puppet.update_secure_system_config()"},{"line_number":13704,"context_line":""},{"line_number":13705,"context_line":"    def _check_host_config(self, host):"},{"line_number":13706,"context_line":"        \"\"\"Verify that the configuration for the host is correct"},{"line_number":13707,"context_line":"        before generating hieradata. This avoids generating"},{"line_number":13708,"context_line":"        incorrect hieradata configuration file."},{"line_number":13709,"context_line":""},{"line_number":13710,"context_line":"        It checks first network address present for this host and"},{"line_number":13711,"context_line":"        then cgts-vg present."}],"source_content_type":"text/x-python","patch_set":4,"id":"e64bbc16_ccf14547","line":13708,"range":{"start_line":13706,"start_character":8,"end_line":13708,"end_character":47},"in_reply_to":"5afc8771_aa41de0f","updated":"2024-07-12 21:53:03.000000000","message":"a potential issue with this check is that its not a proxy for \u0027inventoried\u0027 ; the management network may occur some time after \u0027inventoried\u0027.  in case there\u0027s other runtime config that could be valid once inventoried (but before a manual step to configure management, lvg etc).  \nthe primitives prior to configuration can be observed in sysinv-agent.  this proxy check is being considered because currently\u0027reinstalling\u0027 may obfuscate the \u0027inventoried\u0027 state. Alternatively, track \u0027inventoried\u0027 and \u0027inventoried_reinstalling\u0027 separately and reject only \u0027reinstalling\u0027 without \u0027inventoried\u0027.","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"077df6924fda130df42395664db0561e3f8084df","unresolved":false,"context_lines":[{"line_number":13703,"context_line":"            self._puppet.update_secure_system_config()"},{"line_number":13704,"context_line":""},{"line_number":13705,"context_line":"    def _check_host_config(self, host):"},{"line_number":13706,"context_line":"        \"\"\"Verify that the configuration for the host is correct"},{"line_number":13707,"context_line":"        before generating hieradata. This avoids generating"},{"line_number":13708,"context_line":"        incorrect hieradata configuration file."},{"line_number":13709,"context_line":""},{"line_number":13710,"context_line":"        It checks first network address present for this host and"},{"line_number":13711,"context_line":"        then cgts-vg present."}],"source_content_type":"text/x-python","patch_set":4,"id":"16e08a7a_d5031d25","line":13708,"range":{"start_line":13706,"start_character":8,"end_line":13708,"end_character":47},"in_reply_to":"e64bbc16_ccf14547","updated":"2024-07-17 14:55:04.000000000","message":"I\u0027d recommend we allow merge of this commit based on test results.  Further investigations into a separate state could be pursued, but as a separate commit.","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"9ca016612b2dc55995061480a17ec7e1be9b14ea","unresolved":true,"context_lines":[{"line_number":13714,"context_line":"        \"\"\""},{"line_number":13715,"context_line":"        types_to_check\u003d[constants.NETWORK_TYPE_MGMT,"},{"line_number":13716,"context_line":"                        constants.NETWORK_TYPE_CLUSTER_HOST,"},{"line_number":13717,"context_line":"                        constants.NETWORK_TYPE_OAM,"},{"line_number":13718,"context_line":"                        ]"},{"line_number":13719,"context_line":"        address_found \u003d False"},{"line_number":13720,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"6490c543_97568619","line":13717,"range":{"start_line":13717,"start_character":0,"end_line":13717,"end_character":51},"updated":"2024-07-11 12:02:17.000000000","message":"a pure worker node may not have OAM","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"2c81cb690d9062dec51fd25e1c08c71d1a74d867","unresolved":false,"context_lines":[{"line_number":13714,"context_line":"        \"\"\""},{"line_number":13715,"context_line":"        types_to_check\u003d[constants.NETWORK_TYPE_MGMT,"},{"line_number":13716,"context_line":"                        constants.NETWORK_TYPE_CLUSTER_HOST,"},{"line_number":13717,"context_line":"                        constants.NETWORK_TYPE_OAM,"},{"line_number":13718,"context_line":"                        ]"},{"line_number":13719,"context_line":"        address_found \u003d False"},{"line_number":13720,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"12a9d52d_e9a29f9c","line":13717,"range":{"start_line":13717,"start_character":0,"end_line":13717,"end_character":51},"in_reply_to":"6490c543_97568619","updated":"2024-07-11 13:15:30.000000000","message":"Oam removed.","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"9ca016612b2dc55995061480a17ec7e1be9b14ea","unresolved":true,"context_lines":[{"line_number":13725,"context_line":"                address \u003d cutils.get_primary_address_by_name(self.dbapi,"},{"line_number":13726,"context_line":"                                                             name, type_to_check,"},{"line_number":13727,"context_line":"                                                             True)"},{"line_number":13728,"context_line":"                address_found\u003dTrue"},{"line_number":13729,"context_line":"            except exception.AddressNotFoundByName:"},{"line_number":13730,"context_line":"                LOG.info(f\"cannot find address with name\u003d{name} for {host.hostname}\")"},{"line_number":13731,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"809ba7ea_f3d7d783","line":13728,"updated":"2024-07-11 12:02:17.000000000","message":"can \u0027break\u0027 here to short-circuit loop\n\n(or use for: \n        else: \n          return False )\n          \nShould also verify for standalone AIO-SX (As mgmt would be on \u0027lo\u0027 interface).  Possibly a sample of one of these addresses that must exist on any host is sufficient?","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"2c81cb690d9062dec51fd25e1c08c71d1a74d867","unresolved":false,"context_lines":[{"line_number":13725,"context_line":"                address \u003d cutils.get_primary_address_by_name(self.dbapi,"},{"line_number":13726,"context_line":"                                                             name, type_to_check,"},{"line_number":13727,"context_line":"                                                             True)"},{"line_number":13728,"context_line":"                address_found\u003dTrue"},{"line_number":13729,"context_line":"            except exception.AddressNotFoundByName:"},{"line_number":13730,"context_line":"                LOG.info(f\"cannot find address with name\u003d{name} for {host.hostname}\")"},{"line_number":13731,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"350db76c_2a63dd8f","line":13728,"in_reply_to":"809ba7ea_f3d7d783","updated":"2024-07-11 13:15:30.000000000","message":"Done","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"9ca016612b2dc55995061480a17ec7e1be9b14ea","unresolved":true,"context_lines":[{"line_number":13737,"context_line":"            ipvs \u003d self.dbapi.ipv_get_by_ihost(host.id)"},{"line_number":13738,"context_line":"            for ipv in ipvs:"},{"line_number":13739,"context_line":"                if ipv[\u0027lvm_vg_name\u0027] \u003d\u003d constants.LVG_CGTS_VG:"},{"line_number":13740,"context_line":"                    LOG.info(f\"cgts-vg present for {host.hostname}\")"},{"line_number":13741,"context_line":"        except exception:"},{"line_number":13742,"context_line":"            LOG.info(f\"cannot find physical volume\")"},{"line_number":13743,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":4,"id":"71ad45ea_cad69b1a","line":13740,"updated":"2024-07-11 12:02:17.000000000","message":"break once found","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"2c81cb690d9062dec51fd25e1c08c71d1a74d867","unresolved":false,"context_lines":[{"line_number":13737,"context_line":"            ipvs \u003d self.dbapi.ipv_get_by_ihost(host.id)"},{"line_number":13738,"context_line":"            for ipv in ipvs:"},{"line_number":13739,"context_line":"                if ipv[\u0027lvm_vg_name\u0027] \u003d\u003d constants.LVG_CGTS_VG:"},{"line_number":13740,"context_line":"                    LOG.info(f\"cgts-vg present for {host.hostname}\")"},{"line_number":13741,"context_line":"        except exception:"},{"line_number":13742,"context_line":"            LOG.info(f\"cannot find physical volume\")"},{"line_number":13743,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":4,"id":"679260ee_74d59f16","line":13740,"in_reply_to":"71ad45ea_cad69b1a","updated":"2024-07-11 13:15:30.000000000","message":"Done","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"9ca016612b2dc55995061480a17ec7e1be9b14ea","unresolved":true,"context_lines":[{"line_number":13739,"context_line":"                if ipv[\u0027lvm_vg_name\u0027] \u003d\u003d constants.LVG_CGTS_VG:"},{"line_number":13740,"context_line":"                    LOG.info(f\"cgts-vg present for {host.hostname}\")"},{"line_number":13741,"context_line":"        except exception:"},{"line_number":13742,"context_line":"            LOG.info(f\"cannot find physical volume\")"},{"line_number":13743,"context_line":"            return False"},{"line_number":13744,"context_line":""},{"line_number":13745,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":4,"id":"115d3089_18120051","line":13742,"range":{"start_line":13742,"start_character":44,"end_line":13742,"end_character":50},"updated":"2024-07-11 12:02:17.000000000","message":"include hostname in log","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"2c81cb690d9062dec51fd25e1c08c71d1a74d867","unresolved":false,"context_lines":[{"line_number":13739,"context_line":"                if ipv[\u0027lvm_vg_name\u0027] \u003d\u003d constants.LVG_CGTS_VG:"},{"line_number":13740,"context_line":"                    LOG.info(f\"cgts-vg present for {host.hostname}\")"},{"line_number":13741,"context_line":"        except exception:"},{"line_number":13742,"context_line":"            LOG.info(f\"cannot find physical volume\")"},{"line_number":13743,"context_line":"            return False"},{"line_number":13744,"context_line":""},{"line_number":13745,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":4,"id":"418a7a37_c5e57215","line":13742,"range":{"start_line":13742,"start_character":44,"end_line":13742,"end_character":50},"in_reply_to":"115d3089_18120051","updated":"2024-07-11 13:15:30.000000000","message":"Done","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"9ca016612b2dc55995061480a17ec7e1be9b14ea","unresolved":true,"context_lines":[{"line_number":13945,"context_line":"        LOG.info(\"Pruning runtime_config entries older than %s.\" % cutoff_date)"},{"line_number":13946,"context_line":"        self.dbapi.runtime_config_prune(cutoff_date)"},{"line_number":13947,"context_line":""},{"line_number":13948,"context_line":"    def _create_runtime_config_entries(self, config_uuid, config_dict):"},{"line_number":13949,"context_line":"        \"\"\"Create runtime config entries in the database\"\"\""},{"line_number":13950,"context_line":"        # it is expected for config_dict to contain the host_uuids"},{"line_number":13951,"context_line":"        # to which the runtime config must be applied, but the"}],"source_content_type":"text/x-python","patch_set":4,"id":"743d97d2_885f6f65","line":13948,"updated":"2024-07-11 12:02:17.000000000","message":"the change in this _create_runtime_config_entrieds() method could be split into its own commit to facilitate earlier merge","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"2c81cb690d9062dec51fd25e1c08c71d1a74d867","unresolved":false,"context_lines":[{"line_number":13945,"context_line":"        LOG.info(\"Pruning runtime_config entries older than %s.\" % cutoff_date)"},{"line_number":13946,"context_line":"        self.dbapi.runtime_config_prune(cutoff_date)"},{"line_number":13947,"context_line":""},{"line_number":13948,"context_line":"    def _create_runtime_config_entries(self, config_uuid, config_dict):"},{"line_number":13949,"context_line":"        \"\"\"Create runtime config entries in the database\"\"\""},{"line_number":13950,"context_line":"        # it is expected for config_dict to contain the host_uuids"},{"line_number":13951,"context_line":"        # to which the runtime config must be applied, but the"}],"source_content_type":"text/x-python","patch_set":4,"id":"0a6830f6_a497c315","line":13948,"in_reply_to":"743d97d2_885f6f65","updated":"2024-07-11 13:15:30.000000000","message":"Ok. Adding other review in the meantime","commit_id":"8c710d8ce1964a1b72f5bbc9c855526754f9b07c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"10f5c51ee205d879ec7d01cb3e1fc8ec50df8cb6","unresolved":true,"context_lines":[{"line_number":13721,"context_line":"        for iface_net in interfaces_networks:"},{"line_number":13722,"context_line":"            try:"},{"line_number":13723,"context_line":"                if host.id \u003d\u003d iface_net.forihostid:"},{"line_number":13724,"context_line":"                    if iface_net.network_type\u003d\u003dconstants.NETWORK_TYPE_MGMT:"},{"line_number":13725,"context_line":"                        address_found\u003dTrue"},{"line_number":13726,"context_line":"                        break"},{"line_number":13727,"context_line":"            except exception.AddressNotFoundByName:"}],"source_content_type":"text/x-python","patch_set":7,"id":"74056f01_f853e404","line":13724,"updated":"2024-07-12 13:47:30.000000000","message":"in the \u0027force\u0027 case there could be valid runtime config even before mgmt network is manually configured ... need to review\n\ni.e. see\nysinv 2024-07-11 22:31:20.417 30467 INFO sysinv.conductor.manager [-] applying runtime manifest config_uuid\u003d545f947f-fb4b-4334-a93b-326f21d19b10, classes: [\u0027platform::postgresql::sc::runtime\u0027, \u0027platform::dcmanager::fs::runtime\u0027]\nsysinv 2024-07-11 22:31:20.438 30467 INFO sysinv.conductor.manager [-] cannot find valid interfaces_neworks for controller-0","commit_id":"307f0c0dfce5c638c24960b1a3a8b1f763ad69f1"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"92b6b365dde8a8b656d7066eff6a26928dcc26d0","unresolved":true,"context_lines":[{"line_number":13721,"context_line":"        for iface_net in interfaces_networks:"},{"line_number":13722,"context_line":"            try:"},{"line_number":13723,"context_line":"                if host.id \u003d\u003d iface_net.forihostid:"},{"line_number":13724,"context_line":"                    if iface_net.network_type\u003d\u003dconstants.NETWORK_TYPE_MGMT:"},{"line_number":13725,"context_line":"                        address_found\u003dTrue"},{"line_number":13726,"context_line":"                        break"},{"line_number":13727,"context_line":"            except exception.AddressNotFoundByName:"}],"source_content_type":"text/x-python","patch_set":7,"id":"8d12f735_ea91d0c1","line":13724,"in_reply_to":"74056f01_f853e404","updated":"2024-07-12 13:50:37.000000000","message":"(i.e. configure_system_controller() only depends on inventory_completed and does force\u003dTrue; so it does not depend on mgmt network).","commit_id":"307f0c0dfce5c638c24960b1a3a8b1f763ad69f1"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"d6b9ed91e9f000608e75badde6e6c427ffef4846","unresolved":false,"context_lines":[{"line_number":13721,"context_line":"        for iface_net in interfaces_networks:"},{"line_number":13722,"context_line":"            try:"},{"line_number":13723,"context_line":"                if host.id \u003d\u003d iface_net.forihostid:"},{"line_number":13724,"context_line":"                    if iface_net.network_type\u003d\u003dconstants.NETWORK_TYPE_MGMT:"},{"line_number":13725,"context_line":"                        address_found\u003dTrue"},{"line_number":13726,"context_line":"                        break"},{"line_number":13727,"context_line":"            except exception.AddressNotFoundByName:"}],"source_content_type":"text/x-python","patch_set":7,"id":"244dbcc7_7bade270","line":13724,"in_reply_to":"8d12f735_ea91d0c1","updated":"2024-07-17 15:45:03.000000000","message":"Done","commit_id":"307f0c0dfce5c638c24960b1a3a8b1f763ad69f1"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"6ebb716c5082b414b0a8e4c854ad3fbadfef3884","unresolved":false,"context_lines":[{"line_number":13721,"context_line":"        for iface_net in interfaces_networks:"},{"line_number":13722,"context_line":"            try:"},{"line_number":13723,"context_line":"                if host.id \u003d\u003d iface_net.forihostid:"},{"line_number":13724,"context_line":"                    if iface_net.network_type\u003d\u003dconstants.NETWORK_TYPE_MGMT:"},{"line_number":13725,"context_line":"                        address_found\u003dTrue"},{"line_number":13726,"context_line":"                        break"},{"line_number":13727,"context_line":"            except exception.AddressNotFoundByName:"}],"source_content_type":"text/x-python","patch_set":7,"id":"b76b272b_0900fbcc","line":13724,"in_reply_to":"8d12f735_ea91d0c1","updated":"2024-07-17 15:41:41.000000000","message":"Done","commit_id":"307f0c0dfce5c638c24960b1a3a8b1f763ad69f1"},{"author":{"_account_id":28676,"name":"Andy Ning","email":"andy.ning@windriver.com","username":"andy.wrs"},"change_message_id":"6c53069c9ded1372fb14d5bf42c28aaa12086407","unresolved":true,"context_lines":[{"line_number":13676,"context_line":"                # node before the \"worker_config_complete\" has been"},{"line_number":13677,"context_line":"                # executed."},{"line_number":13678,"context_line":"                elif force:"},{"line_number":13679,"context_line":"                    # if active controller, update without check"},{"line_number":13680,"context_line":"                    if host.software_load \u003d\u003d tsc.SW_VERSION:"},{"line_number":13681,"context_line":"                        try:"},{"line_number":13682,"context_line":"                            if utils.is_host_active_controller(host) and not skip_update_config:"}],"source_content_type":"text/x-python","patch_set":13,"id":"68bcf9b2_c92e7e4f","line":13679,"range":{"start_line":13679,"start_character":0,"end_line":13679,"end_character":2},"updated":"2024-07-17 17:50:32.000000000","message":"This comment is better before line 13682","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"36c174664f2a84d31909bcbb1f3763bcc1f80963","unresolved":false,"context_lines":[{"line_number":13676,"context_line":"                # node before the \"worker_config_complete\" has been"},{"line_number":13677,"context_line":"                # executed."},{"line_number":13678,"context_line":"                elif force:"},{"line_number":13679,"context_line":"                    # if active controller, update without check"},{"line_number":13680,"context_line":"                    if host.software_load \u003d\u003d tsc.SW_VERSION:"},{"line_number":13681,"context_line":"                        try:"},{"line_number":13682,"context_line":"                            if utils.is_host_active_controller(host) and not skip_update_config:"}],"source_content_type":"text/x-python","patch_set":13,"id":"0ae41fad_cbe53627","line":13679,"range":{"start_line":13679,"start_character":0,"end_line":13679,"end_character":2},"in_reply_to":"68bcf9b2_c92e7e4f","updated":"2024-07-17 20:03:27.000000000","message":"Done","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":28676,"name":"Andy Ning","email":"andy.ning@windriver.com","username":"andy.wrs"},"change_message_id":"6c53069c9ded1372fb14d5bf42c28aaa12086407","unresolved":true,"context_lines":[{"line_number":13682,"context_line":"                            if utils.is_host_active_controller(host) and not skip_update_config:"},{"line_number":13683,"context_line":"                                self._puppet.update_host_config(host, config_uuid)"},{"line_number":13684,"context_line":"                                host_updated \u003d True"},{"line_number":13685,"context_line":"                            # in force flag, check the host available config first."},{"line_number":13686,"context_line":"                            elif self._check_host_config(host):"},{"line_number":13687,"context_line":"                                self._puppet.update_host_config(host, config_uuid)"},{"line_number":13688,"context_line":"                                host_updated \u003d True"}],"source_content_type":"text/x-python","patch_set":13,"id":"3b1a2f33_259e95d3","line":13685,"updated":"2024-07-17 17:50:32.000000000","message":"typo, the \"in\" should be \"if\"?","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"36c174664f2a84d31909bcbb1f3763bcc1f80963","unresolved":false,"context_lines":[{"line_number":13682,"context_line":"                            if utils.is_host_active_controller(host) and not skip_update_config:"},{"line_number":13683,"context_line":"                                self._puppet.update_host_config(host, config_uuid)"},{"line_number":13684,"context_line":"                                host_updated \u003d True"},{"line_number":13685,"context_line":"                            # in force flag, check the host available config first."},{"line_number":13686,"context_line":"                            elif self._check_host_config(host):"},{"line_number":13687,"context_line":"                                self._puppet.update_host_config(host, config_uuid)"},{"line_number":13688,"context_line":"                                host_updated \u003d True"}],"source_content_type":"text/x-python","patch_set":13,"id":"f0878177_f42fd8e2","line":13685,"in_reply_to":"3b1a2f33_259e95d3","updated":"2024-07-17 20:03:27.000000000","message":"Done","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"539380c40a87e461aa2f5c07958b67fdb4a9158d","unresolved":true,"context_lines":[{"line_number":13731,"context_line":"        try:"},{"line_number":13732,"context_line":"            interfaces_networks \u003d self.dbapi.interface_network_get_by_host(host.uuid)"},{"line_number":13733,"context_line":"        except Exception:"},{"line_number":13734,"context_line":"            LOG.exception("},{"line_number":13735,"context_line":"                \"Failed to get interface network association for %s \" % host.hostname)"},{"line_number":13736,"context_line":"            return False"},{"line_number":13737,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a3c0869_9b229ae5","line":13734,"updated":"2024-07-17 16:32:27.000000000","message":"I kinda feel like we are masking something is inventory reporting cycle + provisioning subsystems that has been broken. We shouldn\u0027t be generating hiera data (forced or otherwise) that won\u0027t produce a successful config when applied.\n\nIs there a followup activity to find all these offenders that throw this LOG and fix the calling conditions?","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"aa8ca3aad8a02e8dbaa3e0a4c85a459fa71ca510","unresolved":true,"context_lines":[{"line_number":13731,"context_line":"        try:"},{"line_number":13732,"context_line":"            interfaces_networks \u003d self.dbapi.interface_network_get_by_host(host.uuid)"},{"line_number":13733,"context_line":"        except Exception:"},{"line_number":13734,"context_line":"            LOG.exception("},{"line_number":13735,"context_line":"                \"Failed to get interface network association for %s \" % host.hostname)"},{"line_number":13736,"context_line":"            return False"},{"line_number":13737,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"68b43281_0b688cc4","line":13734,"in_reply_to":"1a3c0869_9b229ae5","updated":"2024-07-17 17:21:12.000000000","message":"Yes, while it may not be masking the issue, I agree with your observations and I\u0027m aware of this.\n\nSome details:\nThe problem occurs when controller-0 is updating a configuration, specifically for:\nsysinv.conductor.manager [-] config_certificate mode\u003dssl_ca.\n\nThis configuration is deferred. When this happens, periodic tasks attempt to apply it. If this configuration is deferred multiple times, it coincides with the addition of other hosts. Because this configuration has the force flag, it generates configuration hieradata for each host, including those that are not the intended targets. I couldn\u0027t find any recent code changes related to this process.\n\nIn my opinion:\n- Previously, these types of configurations were resolved before the addition of other hosts, so we did not encounter this potential issue (investigating). For some reason this is different now.\n- This functions needs anyways some adjustment for better handling, since other configurations could have the same characteristics and achieve the same step, generating similar issues.","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"4b89c332866f9331010cc5a624772c738ffa8fc1","unresolved":false,"context_lines":[{"line_number":13731,"context_line":"        try:"},{"line_number":13732,"context_line":"            interfaces_networks \u003d self.dbapi.interface_network_get_by_host(host.uuid)"},{"line_number":13733,"context_line":"        except Exception:"},{"line_number":13734,"context_line":"            LOG.exception("},{"line_number":13735,"context_line":"                \"Failed to get interface network association for %s \" % host.hostname)"},{"line_number":13736,"context_line":"            return False"},{"line_number":13737,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"87ccc5b8_3995722b","line":13734,"in_reply_to":"68b43281_0b688cc4","updated":"2024-07-17 20:04:21.000000000","message":"Acknowledged","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"539380c40a87e461aa2f5c07958b67fdb4a9158d","unresolved":true,"context_lines":[{"line_number":13759,"context_line":"                    LOG.info(f\"cgts-vg not present for {host.hostname}\")"},{"line_number":13760,"context_line":"                    return False"},{"line_number":13761,"context_line":"            except Exception as e:"},{"line_number":13762,"context_line":"                LOG.info(f\"{e}:Could not get physical volume for {host.hostname}\")"},{"line_number":13763,"context_line":"                return False"},{"line_number":13764,"context_line":""},{"line_number":13765,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":13,"id":"d037bdec_806ad5e6","line":13762,"updated":"2024-07-17 16:32:27.000000000","message":"Same comment as above","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"},{"author":{"_account_id":34058,"name":"Fabrizio Perez","email":"fabrizio.perez@windriver.com","username":"fperez"},"change_message_id":"4b89c332866f9331010cc5a624772c738ffa8fc1","unresolved":false,"context_lines":[{"line_number":13759,"context_line":"                    LOG.info(f\"cgts-vg not present for {host.hostname}\")"},{"line_number":13760,"context_line":"                    return False"},{"line_number":13761,"context_line":"            except Exception as e:"},{"line_number":13762,"context_line":"                LOG.info(f\"{e}:Could not get physical volume for {host.hostname}\")"},{"line_number":13763,"context_line":"                return False"},{"line_number":13764,"context_line":""},{"line_number":13765,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":13,"id":"654de586_bbea2085","line":13762,"in_reply_to":"d037bdec_806ad5e6","updated":"2024-07-17 20:04:21.000000000","message":"Done","commit_id":"62a8fab48deed51703afc4c4e117876b8be0d96b"}]}
