)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"39307bb403ce888d3ec330b5679ad075b8ec900d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0c85b20c_3823cb4f","updated":"2025-06-12 15:14:03.000000000","message":"-1 for the stray print. The other comments are things I\u0027ve noticed and wanted to call out but don\u0027t need any change updates.","commit_id":"30d5dc3f3bc6849d12ca6cc64b8493a036debebe"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"0f0f214bd071ddbc21b390aa6c874cae91e83a26","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"46fb4332_dd4da92b","updated":"2025-06-12 15:02:23.000000000","message":"recheck is the leaked node test failure related to this change?","commit_id":"30d5dc3f3bc6849d12ca6cc64b8493a036debebe"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"8c2e8c2209a99aa92e1d47c38578a68af06413b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d3cf8717_c0a5f434","updated":"2025-06-13 15:40:55.000000000","message":"The current test failures appear related to pip being unable to do dependency resolution for ibm cloud package deps. A separate change exists to fix that and we can recheck this change one that lands.","commit_id":"1887df4b12ac32a428cf421768f5649f0f3bbb4b"}],"nodepool/driver/kubernetes/provider.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"39307bb403ce888d3ec330b5679ad075b8ec900d","unresolved":true,"context_lines":[{"line_number":282,"context_line":"                    \u0027verbs\u0027: all_verbs,"},{"line_number":283,"context_line":"                }]"},{"line_number":284,"context_line":"            }"},{"line_number":285,"context_line":"        print(role_body)"},{"line_number":286,"context_line":"        self.rbac_client.create_namespaced_role(namespace, role_body)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        # Give service account admin access"}],"source_content_type":"text/x-python","patch_set":1,"id":"f0fbd0b6_18393467","line":285,"updated":"2025-06-12 15:14:03.000000000","message":"This debugging print should probably be removed before we merge this.","commit_id":"30d5dc3f3bc6849d12ca6cc64b8493a036debebe"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"0d15197a134eadd9116a7f5a4358a31c75012d40","unresolved":false,"context_lines":[{"line_number":282,"context_line":"                    \u0027verbs\u0027: all_verbs,"},{"line_number":283,"context_line":"                }]"},{"line_number":284,"context_line":"            }"},{"line_number":285,"context_line":"        print(role_body)"},{"line_number":286,"context_line":"        self.rbac_client.create_namespaced_role(namespace, role_body)"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        # Give service account admin access"}],"source_content_type":"text/x-python","patch_set":1,"id":"eaa8bfa5_3429644c","line":285,"in_reply_to":"f0fbd0b6_18393467","updated":"2025-06-12 21:39:03.000000000","message":"Done.","commit_id":"30d5dc3f3bc6849d12ca6cc64b8493a036debebe"}],"nodepool/tests/unit/test_driver_kubernetes.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"39307bb403ce888d3ec330b5679ad075b8ec900d","unresolved":true,"context_lines":[{"line_number":266,"context_line":"                \u0027imagePullPolicy\u0027: \u0027IfNotPresent\u0027,"},{"line_number":267,"context_line":"                \u0027command\u0027: [\u0027/bin/sh\u0027, \u0027-c\u0027],"},{"line_number":268,"context_line":"                \u0027args\u0027: [\u0027while true; do sleep 30; done;\u0027],"},{"line_number":269,"context_line":"            }],"},{"line_number":270,"context_line":"        })"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        node.state \u003d zk.DELETING"}],"source_content_type":"text/x-python","patch_set":1,"id":"66246e88_3a271f11","line":269,"updated":"2025-06-12 15:14:03.000000000","message":"I guess in this test we\u0027re confirming that even though an image pull secret is specified on the label it doesn\u0027t get automatically used when using a custom spec specification?","commit_id":"30d5dc3f3bc6849d12ca6cc64b8493a036debebe"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"0d15197a134eadd9116a7f5a4358a31c75012d40","unresolved":false,"context_lines":[{"line_number":266,"context_line":"                \u0027imagePullPolicy\u0027: \u0027IfNotPresent\u0027,"},{"line_number":267,"context_line":"                \u0027command\u0027: [\u0027/bin/sh\u0027, \u0027-c\u0027],"},{"line_number":268,"context_line":"                \u0027args\u0027: [\u0027while true; do sleep 30; done;\u0027],"},{"line_number":269,"context_line":"            }],"},{"line_number":270,"context_line":"        })"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        node.state \u003d zk.DELETING"}],"source_content_type":"text/x-python","patch_set":1,"id":"d3a89609_0df22374","line":269,"in_reply_to":"66246e88_3a271f11","updated":"2025-06-12 21:39:03.000000000","message":"Yes.  I didn\u0027t want to add it to the spec so that we could encode the behavior that it doesn\u0027t automatically add it in this case.","commit_id":"30d5dc3f3bc6849d12ca6cc64b8493a036debebe"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"39307bb403ce888d3ec330b5679ad075b8ec900d","unresolved":true,"context_lines":[{"line_number":669,"context_line":"        self.assertEqual(len(nodes), 1)"},{"line_number":670,"context_line":"        manager \u003d pool.getProviderManager(\u0027kubespray\u0027)"},{"line_number":671,"context_line":"        servers \u003d manager.listNodes()"},{"line_number":672,"context_line":"        self.assertEqual(len(servers), 1)"},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"        # delete node from zk so it becomes \u0027leaked\u0027"},{"line_number":675,"context_line":"        self.zk.deleteNode(nodes[0])"}],"source_content_type":"text/x-python","patch_set":1,"id":"33f1489d_1c2c0210","line":672,"updated":"2025-06-12 15:14:03.000000000","message":"This is the assertion that failed in the first CI run for this change. I don\u0027t think that is related to this change and we must have some other race condition. The reason I think that is this change\u0027s edits shouldn\u0027t be triggered by kubernetes-leaked-node.yaml\u0027s config.","commit_id":"30d5dc3f3bc6849d12ca6cc64b8493a036debebe"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"0d15197a134eadd9116a7f5a4358a31c75012d40","unresolved":false,"context_lines":[{"line_number":669,"context_line":"        self.assertEqual(len(nodes), 1)"},{"line_number":670,"context_line":"        manager \u003d pool.getProviderManager(\u0027kubespray\u0027)"},{"line_number":671,"context_line":"        servers \u003d manager.listNodes()"},{"line_number":672,"context_line":"        self.assertEqual(len(servers), 1)"},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"        # delete node from zk so it becomes \u0027leaked\u0027"},{"line_number":675,"context_line":"        self.zk.deleteNode(nodes[0])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9dad9897_f146060f","line":672,"in_reply_to":"33f1489d_1c2c0210","updated":"2025-06-12 21:39:03.000000000","message":"It\u0027s changing because listNodes operates by listing all the namespaces, and our fake k8s now has a namespace called \"default\".  That\u0027s actually closer to production-like, so I\u0027ll update this to expect 2 servers.\n\n(P.S. All the code that then uses listNodes is going to filter that out because it doesn\u0027t have nodepool metadata, so it\u0027s no big deal that it returns that; it just looks like an \"unmanaged server\" to nodepool.)","commit_id":"30d5dc3f3bc6849d12ca6cc64b8493a036debebe"}]}
