)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":34076,"name":"Jakub Darmach","email":"jakub@stackhpc.com","username":"darmach"},"change_message_id":"ad8b78cd90fc712242e206529854825e1170926f","unresolved":true,"context_lines":[{"line_number":20,"context_line":"This change has been made backwards compatibile, so an old"},{"line_number":21,"context_line":"magnum-api RPC request will be processed correctly even if initialise"},{"line_number":22,"context_line":"was not called."},{"line_number":23,"context_line":"A new magnum-api should not be used with an old magnun-conductor as"},{"line_number":24,"context_line":"the initialize message can not be processed."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Closes-Bug: #2078390"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"d5bb922b_61583097","line":23,"range":{"start_line":23,"start_character":48,"end_line":23,"end_character":54},"updated":"2024-11-13 11:03:27.000000000","message":"NIT: slight typo: magnun-conductor in last sentence of the commit message","commit_id":"cb3beaf8c0e101fc6d55798b9b017324e733996a"},{"author":{"_account_id":14394,"name":"Dale Smith","email":"dale@catalystcloud.nz","username":"dalees"},"change_message_id":"867bb02cee44b6ad14e4f0cc1e260fd16b681345","unresolved":false,"context_lines":[{"line_number":20,"context_line":"This change has been made backwards compatibile, so an old"},{"line_number":21,"context_line":"magnum-api RPC request will be processed correctly even if initialise"},{"line_number":22,"context_line":"was not called."},{"line_number":23,"context_line":"A new magnum-api should not be used with an old magnun-conductor as"},{"line_number":24,"context_line":"the initialize message can not be processed."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Closes-Bug: #2078390"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"05f507a0_20b573ec","line":23,"range":{"start_line":23,"start_character":48,"end_line":23,"end_character":54},"in_reply_to":"d5bb922b_61583097","updated":"2024-12-11 22:35:51.000000000","message":"Done","commit_id":"cb3beaf8c0e101fc6d55798b9b017324e733996a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":14394,"name":"Dale Smith","email":"dale@catalystcloud.nz","username":"dalees"},"change_message_id":"d441f278a6eb9b222e169288e07380f045afcf21","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"13970b9d_c6d3cb46","updated":"2024-09-04 02:19:54.000000000","message":"recheck","commit_id":"0f01cbac14c9da70fc784329ef9e2d7c5885c584"},{"author":{"_account_id":8064,"name":"Jake Yip","email":"jake.yip@ardc.edu.au","username":"jake"},"change_message_id":"f9f68d3b45c7f246a071a1630546873793078d39","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e2a4bdda_22a00ec7","updated":"2024-09-11 11:05:19.000000000","message":"recheck tox timeout","commit_id":"229d99baa9599b49dd6593df78facd1f9f6e2a22"},{"author":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"change_message_id":"e8838824e2940f1c0ce40f496fc2158a77b7f256","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"3778cbea_f41efc96","updated":"2024-11-13 14:11:57.000000000","message":"Do we really need RPC for this?  Couldn\u0027t we just get away with just doing this on the API layer and remove the extra noisy the conductor is handling?","commit_id":"cb3beaf8c0e101fc6d55798b9b017324e733996a"},{"author":{"_account_id":34076,"name":"Jakub Darmach","email":"jakub@stackhpc.com","username":"darmach"},"change_message_id":"ad8b78cd90fc712242e206529854825e1170926f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"1499146d_6014bbe2","updated":"2024-11-13 11:03:27.000000000","message":"Looks fine overall, I was mostly nitpicking 😊","commit_id":"cb3beaf8c0e101fc6d55798b9b017324e733996a"},{"author":{"_account_id":8064,"name":"Jake Yip","email":"jake.yip@ardc.edu.au","username":"jake"},"change_message_id":"fbe844de5d42ad90f24a3d36656c700dd4e23a94","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"5c33b2df_54148792","in_reply_to":"3778cbea_f41efc96","updated":"2024-11-27 08:37:54.000000000","message":"how would we achieve that? do you mean a newer version of the same API call that changes the create call to a synchronous one?","commit_id":"cb3beaf8c0e101fc6d55798b9b017324e733996a"},{"author":{"_account_id":14394,"name":"Dale Smith","email":"dale@catalystcloud.nz","username":"dalees"},"change_message_id":"273a79cfb4e914f333e8a3ac11623a1cb68b5060","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"efa844d3_b2860014","in_reply_to":"5c33b2df_54148792","updated":"2024-12-11 22:30:51.000000000","message":"Yeah, I agree Mohammed - there\u0027s a whole set of these that could be done on the API layer without sending over RPC to the conductor. It adds a fair bit of latency.\n\nIt\u0027s a bit too much scope creep to resolve that pattern in this bugfix, I acknowledge I\u0027m adding to the problem. I\u0027d definitely like to review all these sometime but this isn\u0027t the patchset.","commit_id":"cb3beaf8c0e101fc6d55798b9b017324e733996a"}],"magnum/api/controllers/v1/cluster.py":[{"author":{"_account_id":34076,"name":"Jakub Darmach","email":"jakub@stackhpc.com","username":"darmach"},"change_message_id":"ad8b78cd90fc712242e206529854825e1170926f","unresolved":true,"context_lines":[{"line_number":566,"context_line":"        # This allows our API to reply with a valid uuid from the moment the"},{"line_number":567,"context_line":"        # POST returns. Otherwise, the uuid doesn\u0027t become valid until the"},{"line_number":568,"context_line":"        # cluster_create RPC is processed."},{"line_number":569,"context_line":"        pecan.request.rpcapi.cluster_initialize(new_cluster,"},{"line_number":570,"context_line":"                                                master_count, node_count)"},{"line_number":571,"context_line":"        # Send a second async RPC to trigger actual cluster creation."},{"line_number":572,"context_line":"        created_cluster \u003d api_utils.get_resource(\u0027Cluster\u0027, new_cluster.uuid)"},{"line_number":573,"context_line":"        pecan.request.rpcapi.cluster_create_async(created_cluster,"},{"line_number":574,"context_line":"                                                  master_count, node_count,"}],"source_content_type":"text/x-python","patch_set":11,"id":"686aa246_6b951716","line":571,"range":{"start_line":569,"start_character":0,"end_line":571,"end_character":0},"updated":"2024-11-13 11:03:27.000000000","message":"I understand that we didn\u0027t try any exception in here previously, as create request was sent asynchronously. After this change, however, would it be useful to except here if initialize request failed?","commit_id":"cb3beaf8c0e101fc6d55798b9b017324e733996a"}],"magnum/conductor/handlers/cluster_conductor.py":[{"author":{"_account_id":8064,"name":"Jake Yip","email":"jake.yip@ardc.edu.au","username":"jake"},"change_message_id":"b6a3a74cd9af85056ffb668ea09e466968430a07","unresolved":true,"context_lines":[{"line_number":65,"context_line":"        osc \u003d clients.OpenStackClients(context)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        # Backwards compatibility with older magnum-api RPC messages."},{"line_number":68,"context_line":"        if not hasattr(cluster, \u0027_obj_status\u0027):"},{"line_number":69,"context_line":"            self.cluster_initialize(context, cluster,"},{"line_number":70,"context_line":"                                    master_count, node_count,"},{"line_number":71,"context_line":"                                    create_timeout)"}],"source_content_type":"text/x-python","patch_set":4,"id":"18bfb34d_ef1334ab","line":68,"updated":"2024-09-11 11:23:30.000000000","message":"curious why you chose to use this, does cluster.status not work?","commit_id":"229d99baa9599b49dd6593df78facd1f9f6e2a22"},{"author":{"_account_id":14394,"name":"Dale Smith","email":"dale@catalystcloud.nz","username":"dalees"},"change_message_id":"28a02c514f0bf8efff2e1d4703e3aa898bdc4a12","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        osc \u003d clients.OpenStackClients(context)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        # Backwards compatibility with older magnum-api RPC messages."},{"line_number":68,"context_line":"        if not hasattr(cluster, \u0027_obj_status\u0027):"},{"line_number":69,"context_line":"            self.cluster_initialize(context, cluster,"},{"line_number":70,"context_line":"                                    master_count, node_count,"},{"line_number":71,"context_line":"                                    create_timeout)"}],"source_content_type":"text/x-python","patch_set":4,"id":"8d5a3a3b_6c313217","line":68,"in_reply_to":"18bfb34d_ef1334ab","updated":"2024-09-22 23:42:21.000000000","message":"I\u0027ve revisited this, and moved the logic into a function.\n\nWhen accessing `cluster.status` on an uninitialized cluster class it attempts a lazy load in oslo versioned objects. This was entering a recursive exception due to the subsequent access of cluster.uuid which was also entering the lazy load.\n\nI\u0027ve now removed the `cluster.uuid` access from the lazy load function, so we can safely check `cluster.nodegroups` to identify if the cluster had been initialized.","commit_id":"229d99baa9599b49dd6593df78facd1f9f6e2a22"}],"magnum/objects/cluster.py":[{"author":{"_account_id":34076,"name":"Jakub Darmach","email":"jakub@stackhpc.com","username":"darmach"},"change_message_id":"ad8b78cd90fc712242e206529854825e1170926f","unresolved":true,"context_lines":[{"line_number":331,"context_line":""},{"line_number":332,"context_line":"    def obj_load_attr(self, attrname):"},{"line_number":333,"context_line":"        if attrname not in LAZY_LOADED_ATTRS:"},{"line_number":334,"context_line":"            # Note(dalees): We can\u0027t use self.uuid here as it may call"},{"line_number":335,"context_line":"            #               obj_load_attr and raise the same object error."},{"line_number":336,"context_line":"            raise exception.ObjectError("},{"line_number":337,"context_line":"                action\u003d\u0027obj_load_attr\u0027, obj_name\u003dself.name,"}],"source_content_type":"text/x-python","patch_set":11,"id":"b0d28a02_e8fec013","line":334,"range":{"start_line":334,"start_character":14,"end_line":334,"end_character":18},"updated":"2024-11-13 11:03:27.000000000","message":"nit: would be nice to change Note to uppercase NOTE","commit_id":"cb3beaf8c0e101fc6d55798b9b017324e733996a"},{"author":{"_account_id":14394,"name":"Dale Smith","email":"dale@catalystcloud.nz","username":"dalees"},"change_message_id":"867bb02cee44b6ad14e4f0cc1e260fd16b681345","unresolved":false,"context_lines":[{"line_number":331,"context_line":""},{"line_number":332,"context_line":"    def obj_load_attr(self, attrname):"},{"line_number":333,"context_line":"        if attrname not in LAZY_LOADED_ATTRS:"},{"line_number":334,"context_line":"            # Note(dalees): We can\u0027t use self.uuid here as it may call"},{"line_number":335,"context_line":"            #               obj_load_attr and raise the same object error."},{"line_number":336,"context_line":"            raise exception.ObjectError("},{"line_number":337,"context_line":"                action\u003d\u0027obj_load_attr\u0027, obj_name\u003dself.name,"}],"source_content_type":"text/x-python","patch_set":11,"id":"e6a38558_489d59b2","line":334,"range":{"start_line":334,"start_character":14,"end_line":334,"end_character":18},"in_reply_to":"b0d28a02_e8fec013","updated":"2024-12-11 22:35:51.000000000","message":"Done","commit_id":"cb3beaf8c0e101fc6d55798b9b017324e733996a"}]}
