)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"2ec4b45520cad1f1343bfe337e09ff637ebfcce3","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Disabled field in computehost"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- The idea is to enable operator to reserve a non reservable node and perform tests"},{"line_number":10,"context_line":"- Only operator/admin should be able to reserve such nodes"},{"line_number":11,"context_line":"- Polling monitor should not automatically make the node reservable if the \u0027disabled\u0027 flag is True"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Set disabled field True for a host"},{"line_number":14,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled\u003dTrue`"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Set disabled field False for a host"},{"line_number":17,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled`"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"WIP: Setting disabled field works as desired (only admin can set/unset)"},{"line_number":20,"context_line":"Creating lease on a disabled\u003dTrue node doesn\u0027t work as desired (any project and user can reserve such node)"},{"line_number":21,"context_line":"Expected behaviour: Only admins/admin project should be able to create lease on such nodes"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Looks like using context policy.enforce does not work if an explicit policy is not defined."},{"line_number":24,"context_line":"Do we need to have an endpoint to define a policy? Not sure if we can check in `_matching_hosts` is a user is admin or from admin project"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I1496b68436bb434ac2c34343564ce8e149ccf284"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"77ee8336_a63fdf9a","line":24,"range":{"start_line":9,"start_character":0,"end_line":24,"end_character":137},"updated":"2024-02-22 15:07:25.000000000","message":"Nit: some lines are too long, please wrap at 72 characters.","commit_id":"2fa7a9fa28a16761c07fead05717dff45c1db591"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Disabled field in computehost"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- The idea is to enable operator to reserve a non reservable node and perform tests"},{"line_number":10,"context_line":"- Only operator/admin should be able to reserve such nodes"},{"line_number":11,"context_line":"- Polling monitor should not automatically make the node reservable if the \u0027disabled\u0027 flag is True"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Set disabled field True for a host"},{"line_number":14,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled\u003dTrue`"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Set disabled field False for a host"},{"line_number":17,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled`"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"WIP: Setting disabled field works as desired (only admin can set/unset)"},{"line_number":20,"context_line":"Creating lease on a disabled\u003dTrue node doesn\u0027t work as desired (any project and user can reserve such node)"},{"line_number":21,"context_line":"Expected behaviour: Only admins/admin project should be able to create lease on such nodes"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Looks like using context policy.enforce does not work if an explicit policy is not defined."},{"line_number":24,"context_line":"Do we need to have an endpoint to define a policy? Not sure if we can check in `_matching_hosts` is a user is admin or from admin project"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I1496b68436bb434ac2c34343564ce8e149ccf284"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"93f790ac_3ceafeff","line":24,"range":{"start_line":9,"start_character":0,"end_line":24,"end_character":137},"in_reply_to":"77ee8336_a63fdf9a","updated":"2024-04-23 15:19:46.000000000","message":"Acknowledged","commit_id":"2fa7a9fa28a16761c07fead05717dff45c1db591"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"bcd5870ace18d9578466b28159c1d4fa11ad3f6c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Disabled field in computehost"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- The idea is to enable operator to reserve a non reservable node and perform tests"},{"line_number":10,"context_line":"- Only operator/admin should be able to reserve such nodes"},{"line_number":11,"context_line":"- Polling monitor should not automatically make the node reservable if the \u0027disabled\u0027 flag is True"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Set disabled field True for a host"},{"line_number":14,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled\u003dTrue`"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Set disabled field False for a host"},{"line_number":17,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled`"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"WIP: Setting disabled field works as desired (only admin can set/unset)"},{"line_number":20,"context_line":"Creating lease on a disabled\u003dTrue node doesn\u0027t work as desired (any project and user can reserve such node)"},{"line_number":21,"context_line":"Expected behaviour: Only admins/admin project should be able to create lease on such nodes"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Looks like using context policy.enforce does not work if an explicit policy is not defined."},{"line_number":24,"context_line":"Do we need to have an endpoint to define a policy? Not sure if we can check in `_matching_hosts` is a user is admin or from admin project"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I1496b68436bb434ac2c34343564ce8e149ccf284"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"d7e6bea3_f7a45f2b","line":24,"range":{"start_line":9,"start_character":0,"end_line":24,"end_character":137},"in_reply_to":"77ee8336_a63fdf9a","updated":"2024-03-08 07:18:54.000000000","message":"Done","commit_id":"2fa7a9fa28a16761c07fead05717dff45c1db591"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"bcd5870ace18d9578466b28159c1d4fa11ad3f6c","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Set disabled field True for a host"},{"line_number":16,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled\u003dTrue`"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Set disabled field False for a host"},{"line_number":19,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled`"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"WIP: Setting disabled field works as desired (only admin can set/unset)"},{"line_number":22,"context_line":"Creating lease on a disabled\u003dTrue node doesn\u0027t work as desired"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"d9dd86e8_c17b6f45","line":19,"range":{"start_line":17,"start_character":0,"end_line":19,"end_character":64},"updated":"2024-03-08 07:18:54.000000000","message":"I think this is using a feature not merged upstream yet: https://review.opendev.org/c/openstack/blazar/+/766526","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Set disabled field True for a host"},{"line_number":16,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled\u003dTrue`"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Set disabled field False for a host"},{"line_number":19,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled`"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"WIP: Setting disabled field works as desired (only admin can set/unset)"},{"line_number":22,"context_line":"Creating lease on a disabled\u003dTrue node doesn\u0027t work as desired"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3a75f52f_2ef03c81","line":19,"range":{"start_line":17,"start_character":0,"end_line":19,"end_character":64},"in_reply_to":"d9dd86e8_c17b6f45","updated":"2024-04-23 15:19:46.000000000","message":"Acknowledged","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Set disabled field True for a host"},{"line_number":16,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled\u003dTrue`"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Set disabled field False for a host"},{"line_number":19,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled`"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"WIP: Setting disabled field works as desired (only admin can set/unset)"},{"line_number":22,"context_line":"Creating lease on a disabled\u003dTrue node doesn\u0027t work as desired"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"40b6ea6d_24356a25","line":19,"range":{"start_line":17,"start_character":0,"end_line":19,"end_character":64},"in_reply_to":"d9dd86e8_c17b6f45","updated":"2024-04-23 15:19:46.000000000","message":"Acknowledged","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"fca44295985f845d1dd4d3db70970f09177e0f69","unresolved":true,"context_lines":[{"line_number":19,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled`"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"WIP: Setting disabled field works as desired (only admin can set/unset)"},{"line_number":22,"context_line":"Creating lease on a disabled\u003dTrue node doesn\u0027t work as desired"},{"line_number":23,"context_line":"  (any project and user can reserve such node)"},{"line_number":24,"context_line":"Expected behaviour: Only admins/admin project should be able"},{"line_number":25,"context_line":"  to create lease on such nodes"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"351432f5_048caef2","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":46},"updated":"2024-03-08 14:15:21.000000000","message":"I\u0027ve been testing this patch, this is not the behaviour I\u0027m seeing.\n\nWhen I set ``disabled\u003dTrue`` on a host, neither admins or users can create a lease on this node.\n\nAnother issue I see is that setting ``disabled\u003dFalse`` will not set ``reservable\u003dTrue`` again, so the host remains unreservable. \n\nAlthough not caused by this patch afaict, I don\u0027t see a way for admins to set ``reservable\u003dTrue`` through the CLI. Calling ``openstack reservation set --extra reservable\u003dTrue \u003chost\u003e`` will update what the CLI returns, but does not update the database:\n\n```\nmysql\u003e select disabled,reservable from computehosts;\n+----------+------------+\n| disabled | reservable |\n+----------+------------+\n|        0 |          0 |\n+----------+------------+ \n\nopenstack reservation host show -c disabled -c reservable `\n+------------+-------+\n| Field      | Value |\n+------------+-------+\n| disabled   | False |\n| reservable | True  |\n+------------+-------+\n```\n\nBefore I\u0027d consider this patch merge-able, I think it either needs to set ``reservable\u003dTrue`` when setting ``disabled\u003dFalse``, or ``openstack reservation set --extra reservable\u003dTrue \u003chost\u003e`` should set values in the same way as the disabled field.","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"abb9af31fcdd78e351a3b7770c51e7676d253000","unresolved":true,"context_lines":[{"line_number":19,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled`"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"WIP: Setting disabled field works as desired (only admin can set/unset)"},{"line_number":22,"context_line":"Creating lease on a disabled\u003dTrue node doesn\u0027t work as desired"},{"line_number":23,"context_line":"  (any project and user can reserve such node)"},{"line_number":24,"context_line":"Expected behaviour: Only admins/admin project should be able"},{"line_number":25,"context_line":"  to create lease on such nodes"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"889fcbb3_b83abec1","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":46},"in_reply_to":"351432f5_048caef2","updated":"2024-03-09 14:27:53.000000000","message":"The reservable field was introduced with the resource monitoring feature. I believe it is by design that it is an internal field exposed in API responses, but cannot be updated by users.","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"59f98c7f5d7989fd1f2a4a976f43973fe7065f58","unresolved":true,"context_lines":[{"line_number":19,"context_line":"`openstack reservation host set \u003chost_id/name\u003e --extra disabled`"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"WIP: Setting disabled field works as desired (only admin can set/unset)"},{"line_number":22,"context_line":"Creating lease on a disabled\u003dTrue node doesn\u0027t work as desired"},{"line_number":23,"context_line":"  (any project and user can reserve such node)"},{"line_number":24,"context_line":"Expected behaviour: Only admins/admin project should be able"},{"line_number":25,"context_line":"  to create lease on such nodes"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"37f75613_c9dce495","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":46},"in_reply_to":"889fcbb3_b83abec1","updated":"2024-03-09 15:02:23.000000000","message":"The command `openstack reservation host set --extra reservable\u003dTrue \u003chost\u003e` actually sets an extra capability / resource property called `reservable` with the value `\"True\"` on the host. You can see it in the database tables:\n\n```\nmysql\u003e SELECT * FROM resource_properties;\nmysql\u003e SELECT * FROM computehost_extra_capabilities;\n```\n\nIt shadows the `reservable` attribute of the ComputeHost model. If we ever make a new API we should really fix this… Extra capability / resource properties should not be mixed with the other host attributes 😞","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},"change_message_id":"c99bc63974a1e254814e9ecc5ca234b7e4f697cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"7f7280c4_edbd9260","updated":"2024-02-28 03:40:32.000000000","message":"The docs look good. I have a few nits about the wording of the feature.\n\nAdditionally, if the stuff allowing an admin doesn\u0027t work yet, we should remove the references to it to avoid any confusion. This is mainly in the host plugin, and I see in the tests as well.","commit_id":"cc25f3c6a7ce077d9f2ff2d13847d223f06f8d40"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"b80f9e9ce7407df0e5b365c7b20c6419bc1598f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"8bf365ee_e1c46698","updated":"2024-04-17 21:31:32.000000000","message":"I did more testing but found a bug 😞","commit_id":"678fe5eec0bb2cf334d2b5e49f7d3844aa5263b0"}],"api-ref/source/v1/parameters.yaml":[{"author":{"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},"change_message_id":"c99bc63974a1e254814e9ecc5ca234b7e4f697cd","unresolved":true,"context_lines":[{"line_number":227,"context_line":"  type: string"},{"line_number":228,"context_line":"host_disabled:"},{"line_number":229,"context_line":"  description: |"},{"line_number":230,"context_line":"    represents if host is set disabled\u003dTrue for maintenance - will set"},{"line_number":231,"context_line":"    reservable\u003dFalse when disabled\u003dTrue for admins to work on host"},{"line_number":232,"context_line":"  in: body"},{"line_number":233,"context_line":"  required: false"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"ebc5d0de_1232d52c","line":230,"updated":"2024-02-28 03:40:32.000000000","message":"This description can be clearer. Maybe something like \"The operator set flag, representing whether the host can be reserved\"","commit_id":"cc25f3c6a7ce077d9f2ff2d13847d223f06f8d40"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":227,"context_line":"  type: string"},{"line_number":228,"context_line":"host_disabled:"},{"line_number":229,"context_line":"  description: |"},{"line_number":230,"context_line":"    represents if host is set disabled\u003dTrue for maintenance - will set"},{"line_number":231,"context_line":"    reservable\u003dFalse when disabled\u003dTrue for admins to work on host"},{"line_number":232,"context_line":"  in: body"},{"line_number":233,"context_line":"  required: false"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"07c9ea80_bc072519","line":230,"in_reply_to":"ebc5d0de_1232d52c","updated":"2024-04-23 15:19:46.000000000","message":"Acknowledged","commit_id":"cc25f3c6a7ce077d9f2ff2d13847d223f06f8d40"}],"blazar/db/migration/alembic_migrations/versions/852d97bdf73a_add_disabled_in_compute_host.py":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"30c1ae08bf5b98ef1daa5fececa2074f481a46dd","unresolved":true,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def upgrade():"},{"line_number":33,"context_line":"    # ### commands auto generated by Alembic - please adjust! ###"},{"line_number":34,"context_line":"    op.add_column(\u0027computehosts\u0027,"},{"line_number":35,"context_line":"                  sa.Column(\u0027disabled\u0027,"},{"line_number":36,"context_line":"                            sa.Boolean(),"}],"source_content_type":"text/x-python","patch_set":7,"id":"c567a340_1aa203bb","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":65},"updated":"2024-03-08 07:31:05.000000000","message":"You should remove these lines once you have reviewed / updated the auto generated code.","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def upgrade():"},{"line_number":33,"context_line":"    # ### commands auto generated by Alembic - please adjust! ###"},{"line_number":34,"context_line":"    op.add_column(\u0027computehosts\u0027,"},{"line_number":35,"context_line":"                  sa.Column(\u0027disabled\u0027,"},{"line_number":36,"context_line":"                            sa.Boolean(),"}],"source_content_type":"text/x-python","patch_set":7,"id":"77935217_b2895a6e","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":65},"in_reply_to":"c567a340_1aa203bb","updated":"2024-04-23 15:19:46.000000000","message":"Acknowledged","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"30c1ae08bf5b98ef1daa5fececa2074f481a46dd","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    op.add_column(\u0027computehosts\u0027,"},{"line_number":35,"context_line":"                  sa.Column(\u0027disabled\u0027,"},{"line_number":36,"context_line":"                            sa.Boolean(),"},{"line_number":37,"context_line":"                            server_default\u003dsa.text(\u0027false\u0027),"},{"line_number":38,"context_line":"                            nullable\u003dFalse)"},{"line_number":39,"context_line":"                  )"},{"line_number":40,"context_line":"    # ### end Alembic commands ###"}],"source_content_type":"text/x-python","patch_set":7,"id":"39e6bfd7_26e568cd","line":37,"range":{"start_line":37,"start_character":43,"end_line":37,"end_character":59},"updated":"2024-03-08 07:31:05.000000000","message":"This might work but doesn\u0027t match the boolean type.\n\nUse sa.false() like you did in the model code.","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    op.add_column(\u0027computehosts\u0027,"},{"line_number":35,"context_line":"                  sa.Column(\u0027disabled\u0027,"},{"line_number":36,"context_line":"                            sa.Boolean(),"},{"line_number":37,"context_line":"                            server_default\u003dsa.text(\u0027false\u0027),"},{"line_number":38,"context_line":"                            nullable\u003dFalse)"},{"line_number":39,"context_line":"                  )"},{"line_number":40,"context_line":"    # ### end Alembic commands ###"}],"source_content_type":"text/x-python","patch_set":7,"id":"8b7630fd_12f90dcd","line":37,"range":{"start_line":37,"start_character":43,"end_line":37,"end_character":59},"in_reply_to":"39e6bfd7_26e568cd","updated":"2024-04-23 15:19:46.000000000","message":"Acknowledged","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"b86e9c5ccbc669e23d0e5f6fae3ea8187ccab963","unresolved":true,"context_lines":[{"line_number":36,"context_line":"                            server_default\u003dsa.false(),"},{"line_number":37,"context_line":"                            nullable\u003dFalse)"},{"line_number":38,"context_line":"                  )"},{"line_number":39,"context_line":"    # ### end Alembic commands ###"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":9,"id":"e3b03ee8_ad128d88","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":34},"updated":"2024-04-17 21:08:44.000000000","message":"You can remove this too.","commit_id":"678fe5eec0bb2cf334d2b5e49f7d3844aa5263b0"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                            server_default\u003dsa.false(),"},{"line_number":37,"context_line":"                            nullable\u003dFalse)"},{"line_number":38,"context_line":"                  )"},{"line_number":39,"context_line":"    # ### end Alembic commands ###"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":9,"id":"0dad1c23_946d8193","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":34},"in_reply_to":"e3b03ee8_ad128d88","updated":"2024-04-23 15:19:46.000000000","message":"Done","commit_id":"678fe5eec0bb2cf334d2b5e49f7d3844aa5263b0"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"b86e9c5ccbc669e23d0e5f6fae3ea8187ccab963","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def downgrade():"},{"line_number":43,"context_line":"    # ### commands auto generated by Alembic - please adjust! ###"},{"line_number":44,"context_line":"    op.drop_column(\u0027computehosts\u0027, \u0027disabled\u0027)"},{"line_number":45,"context_line":"    # ### end Alembic commands ###"}],"source_content_type":"text/x-python","patch_set":9,"id":"830675b2_24ff166d","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":65},"updated":"2024-04-17 21:08:44.000000000","message":"You can remove this too.","commit_id":"678fe5eec0bb2cf334d2b5e49f7d3844aa5263b0"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def downgrade():"},{"line_number":43,"context_line":"    # ### commands auto generated by Alembic - please adjust! ###"},{"line_number":44,"context_line":"    op.drop_column(\u0027computehosts\u0027, \u0027disabled\u0027)"},{"line_number":45,"context_line":"    # ### end Alembic commands ###"}],"source_content_type":"text/x-python","patch_set":9,"id":"ed2e3c76_cd919889","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":65},"in_reply_to":"830675b2_24ff166d","updated":"2024-04-23 15:19:46.000000000","message":"Done","commit_id":"678fe5eec0bb2cf334d2b5e49f7d3844aa5263b0"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"b86e9c5ccbc669e23d0e5f6fae3ea8187ccab963","unresolved":true,"context_lines":[{"line_number":42,"context_line":"def downgrade():"},{"line_number":43,"context_line":"    # ### commands auto generated by Alembic - please adjust! ###"},{"line_number":44,"context_line":"    op.drop_column(\u0027computehosts\u0027, \u0027disabled\u0027)"},{"line_number":45,"context_line":"    # ### end Alembic commands ###"}],"source_content_type":"text/x-python","patch_set":9,"id":"e849c320_72f952c9","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":34},"updated":"2024-04-17 21:08:44.000000000","message":"You can remove this too.","commit_id":"678fe5eec0bb2cf334d2b5e49f7d3844aa5263b0"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":42,"context_line":"def downgrade():"},{"line_number":43,"context_line":"    # ### commands auto generated by Alembic - please adjust! ###"},{"line_number":44,"context_line":"    op.drop_column(\u0027computehosts\u0027, \u0027disabled\u0027)"},{"line_number":45,"context_line":"    # ### end Alembic commands ###"}],"source_content_type":"text/x-python","patch_set":9,"id":"8fa2d7bd_1f595bf8","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":34},"in_reply_to":"e849c320_72f952c9","updated":"2024-04-23 15:19:46.000000000","message":"Done","commit_id":"678fe5eec0bb2cf334d2b5e49f7d3844aa5263b0"}],"blazar/plugins/oshosts/host_plugin.py":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"ce6e44ebe729b7b7680ee004720c5b7536bd5882","unresolved":true,"context_lines":[{"line_number":510,"context_line":"    def handle_disabled_key(self, host_id, value):"},{"line_number":511,"context_line":"        # only admin can set/unset \u0027disabled\u0027 flag"},{"line_number":512,"context_line":"        host_details \u003d self.get_computehost(host_id)"},{"line_number":513,"context_line":"        # set True if value contains any string other than None"},{"line_number":514,"context_line":"        is_disabled \u003d True if value else False"},{"line_number":515,"context_line":"        self.set_disabled(host_details, is_disabled)"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"    def set_disabled(self, resource, is_disabled):"}],"source_content_type":"text/x-python","patch_set":1,"id":"aba51348_cedc0dd6","line":514,"range":{"start_line":513,"start_character":0,"end_line":514,"end_character":46},"updated":"2024-02-27 16:00:38.000000000","message":"I don\u0027t think this is the best approach. An operator may try setting disabled\u003dfalse and expect it to mean \"do not disable this node\".\n\nI suggest using the bool_from_string function from oslo_utils.strutils to parse this attribute.","commit_id":"2fa7a9fa28a16761c07fead05717dff45c1db591"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":510,"context_line":"    def handle_disabled_key(self, host_id, value):"},{"line_number":511,"context_line":"        # only admin can set/unset \u0027disabled\u0027 flag"},{"line_number":512,"context_line":"        host_details \u003d self.get_computehost(host_id)"},{"line_number":513,"context_line":"        # set True if value contains any string other than None"},{"line_number":514,"context_line":"        is_disabled \u003d True if value else False"},{"line_number":515,"context_line":"        self.set_disabled(host_details, is_disabled)"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"    def set_disabled(self, resource, is_disabled):"}],"source_content_type":"text/x-python","patch_set":1,"id":"b6726354_8916df05","line":514,"range":{"start_line":513,"start_character":0,"end_line":514,"end_character":46},"in_reply_to":"aba51348_cedc0dd6","updated":"2024-04-23 15:19:46.000000000","message":"Acknowledged","commit_id":"2fa7a9fa28a16761c07fead05717dff45c1db591"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"c5803210ca676d2224f886c442305522dab7eeca","unresolved":false,"context_lines":[{"line_number":510,"context_line":"    def handle_disabled_key(self, host_id, value):"},{"line_number":511,"context_line":"        # only admin can set/unset \u0027disabled\u0027 flag"},{"line_number":512,"context_line":"        host_details \u003d self.get_computehost(host_id)"},{"line_number":513,"context_line":"        # set True if value contains any string other than None"},{"line_number":514,"context_line":"        is_disabled \u003d True if value else False"},{"line_number":515,"context_line":"        self.set_disabled(host_details, is_disabled)"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"    def set_disabled(self, resource, is_disabled):"}],"source_content_type":"text/x-python","patch_set":1,"id":"82d640b7_7776facc","line":514,"range":{"start_line":513,"start_character":0,"end_line":514,"end_character":46},"in_reply_to":"aba51348_cedc0dd6","updated":"2024-03-08 07:31:54.000000000","message":"Done","commit_id":"2fa7a9fa28a16761c07fead05717dff45c1db591"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"fca44295985f845d1dd4d3db70970f09177e0f69","unresolved":true,"context_lines":[{"line_number":510,"context_line":"    def handle_disabled_key(self, host_id, value):"},{"line_number":511,"context_line":"        # only admin can set/unset \u0027disabled\u0027 flag"},{"line_number":512,"context_line":"        host_details \u003d self.get_computehost(host_id)"},{"line_number":513,"context_line":"        # set True if value contains any string other than None"},{"line_number":514,"context_line":"        is_disabled \u003d strutils.bool_from_string(value, default\u003dFalse)"},{"line_number":515,"context_line":"        self.set_disabled(host_details, is_disabled)"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"    def set_disabled(self, resource, is_disabled):"}],"source_content_type":"text/x-python","patch_set":7,"id":"dc7a0e6e_2b21b8e0","line":514,"range":{"start_line":513,"start_character":8,"end_line":514,"end_character":69},"updated":"2024-03-08 14:15:21.000000000","message":"This comment is not correct, Only \"truthy\" values (‘t’,’true’, ‘on’, ‘y’, ‘yes’, or ‘1’ ) will return `True` from ``bool_from_string``. Otherwise, the default will be used which is set here as ``False``.","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":510,"context_line":"    def handle_disabled_key(self, host_id, value):"},{"line_number":511,"context_line":"        # only admin can set/unset \u0027disabled\u0027 flag"},{"line_number":512,"context_line":"        host_details \u003d self.get_computehost(host_id)"},{"line_number":513,"context_line":"        # set True if value contains any string other than None"},{"line_number":514,"context_line":"        is_disabled \u003d strutils.bool_from_string(value, default\u003dFalse)"},{"line_number":515,"context_line":"        self.set_disabled(host_details, is_disabled)"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"    def set_disabled(self, resource, is_disabled):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ca8253de_e7d1810b","line":514,"range":{"start_line":513,"start_character":8,"end_line":514,"end_character":69},"in_reply_to":"077b58d9_b860ad96","updated":"2024-04-23 15:19:46.000000000","message":"Acknowledged","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"b4a7837614475d43edd0764f05cfc743da0aea54","unresolved":true,"context_lines":[{"line_number":510,"context_line":"    def handle_disabled_key(self, host_id, value):"},{"line_number":511,"context_line":"        # only admin can set/unset \u0027disabled\u0027 flag"},{"line_number":512,"context_line":"        host_details \u003d self.get_computehost(host_id)"},{"line_number":513,"context_line":"        # set True if value contains any string other than None"},{"line_number":514,"context_line":"        is_disabled \u003d strutils.bool_from_string(value, default\u003dFalse)"},{"line_number":515,"context_line":"        self.set_disabled(host_details, is_disabled)"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"    def set_disabled(self, resource, is_disabled):"}],"source_content_type":"text/x-python","patch_set":7,"id":"077b58d9_b860ad96","line":514,"range":{"start_line":513,"start_character":8,"end_line":514,"end_character":69},"in_reply_to":"dc7a0e6e_2b21b8e0","updated":"2024-03-09 14:31:29.000000000","message":"I would suggest using strict\u003dTrue, see documentation: https://docs.openstack.org/oslo.utils/latest/reference/strutils.html#oslo_utils.strutils.bool_from_string","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"b80f9e9ce7407df0e5b365c7b20c6419bc1598f0","unresolved":true,"context_lines":[{"line_number":517,"context_line":"    def set_disabled(self, resource, is_disabled):"},{"line_number":518,"context_line":"        host_update_values \u003d {\"disabled\": is_disabled}"},{"line_number":519,"context_line":"        # if a host is set as disabled, then it should not be reservable"},{"line_number":520,"context_line":"        if is_disabled:"},{"line_number":521,"context_line":"            host_update_values[\u0027reservable\u0027] \u003d False"},{"line_number":522,"context_line":"        db_api.host_update(resource[\"id\"], host_update_values)"},{"line_number":523,"context_line":"        LOG.warning("},{"line_number":524,"context_line":"            f\"{resource[\u0027hypervisor_hostname\u0027]}\""}],"source_content_type":"text/x-python","patch_set":7,"id":"1cf73ad9_d44fb114","line":521,"range":{"start_line":520,"start_character":0,"end_line":521,"end_character":52},"updated":"2024-04-17 21:31:32.000000000","message":"This doesn\u0027t set `reservable` back to `True` when `disabled` is set back to `False`. I see this is covered in the resource monitoring functions, but both are disabled by default.\n\nI am afraid we can\u0027t simply use\n\n```\n        if is_disabled:\n            host_update_values[\u0027reservable\u0027] \u003d False\n        else:\n            host_update_values[\u0027reservable\u0027] \u003d True\n```\n\nbecause this could impact a change made independently by one of the resource monitors.","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":true,"context_lines":[{"line_number":517,"context_line":"    def set_disabled(self, resource, is_disabled):"},{"line_number":518,"context_line":"        host_update_values \u003d {\"disabled\": is_disabled}"},{"line_number":519,"context_line":"        # if a host is set as disabled, then it should not be reservable"},{"line_number":520,"context_line":"        if is_disabled:"},{"line_number":521,"context_line":"            host_update_values[\u0027reservable\u0027] \u003d False"},{"line_number":522,"context_line":"        db_api.host_update(resource[\"id\"], host_update_values)"},{"line_number":523,"context_line":"        LOG.warning("},{"line_number":524,"context_line":"            f\"{resource[\u0027hypervisor_hostname\u0027]}\""}],"source_content_type":"text/x-python","patch_set":7,"id":"cd938cba_1178d672","line":521,"range":{"start_line":520,"start_character":0,"end_line":521,"end_character":52},"in_reply_to":"1cf73ad9_d44fb114","updated":"2024-04-23 15:19:46.000000000","message":"The only reason we want this feature is not to allow the resource monitoring function to set a host `reservable`. \n\nSo if the resource monitoring function is disabled, then I guess we don\u0027t need to set the host as `disabled\u003dTrue`","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"30c1ae08bf5b98ef1daa5fececa2074f481a46dd","unresolved":true,"context_lines":[{"line_number":520,"context_line":"        if is_disabled:"},{"line_number":521,"context_line":"            host_update_values[\u0027reservable\u0027] \u003d False"},{"line_number":522,"context_line":"        db_api.host_update(resource[\"id\"], host_update_values)"},{"line_number":523,"context_line":"        LOG.warning("},{"line_number":524,"context_line":"            f\"{resource[\u0027hypervisor_hostname\u0027]}\""},{"line_number":525,"context_line":"            f\"updated with disabled-{is_disabled}\""},{"line_number":526,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"c3a95872_0e8f9b2f","line":523,"range":{"start_line":523,"start_character":8,"end_line":523,"end_character":20},"updated":"2024-03-08 07:31:05.000000000","message":"This should run whenever an admin changes the disabled flag so I don\u0027t think it should be a warning. Please make it INFO, we could even consider DEBUG.","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":520,"context_line":"        if is_disabled:"},{"line_number":521,"context_line":"            host_update_values[\u0027reservable\u0027] \u003d False"},{"line_number":522,"context_line":"        db_api.host_update(resource[\"id\"], host_update_values)"},{"line_number":523,"context_line":"        LOG.warning("},{"line_number":524,"context_line":"            f\"{resource[\u0027hypervisor_hostname\u0027]}\""},{"line_number":525,"context_line":"            f\"updated with disabled-{is_disabled}\""},{"line_number":526,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"077cb470_6ff9652f","line":523,"range":{"start_line":523,"start_character":8,"end_line":523,"end_character":20},"in_reply_to":"c3a95872_0e8f9b2f","updated":"2024-04-23 15:19:46.000000000","message":"Acknowledged","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"30c1ae08bf5b98ef1daa5fececa2074f481a46dd","unresolved":true,"context_lines":[{"line_number":521,"context_line":"            host_update_values[\u0027reservable\u0027] \u003d False"},{"line_number":522,"context_line":"        db_api.host_update(resource[\"id\"], host_update_values)"},{"line_number":523,"context_line":"        LOG.warning("},{"line_number":524,"context_line":"            f\"{resource[\u0027hypervisor_hostname\u0027]}\""},{"line_number":525,"context_line":"            f\"updated with disabled-{is_disabled}\""},{"line_number":526,"context_line":"        )"},{"line_number":527,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"25d5cbe1_63d383d6","line":524,"range":{"start_line":524,"start_character":0,"end_line":524,"end_character":48},"updated":"2024-03-08 07:31:05.000000000","message":"Missing space at end of expression. Is there a specific reason you are using f-strings here but %s later?","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":521,"context_line":"            host_update_values[\u0027reservable\u0027] \u003d False"},{"line_number":522,"context_line":"        db_api.host_update(resource[\"id\"], host_update_values)"},{"line_number":523,"context_line":"        LOG.warning("},{"line_number":524,"context_line":"            f\"{resource[\u0027hypervisor_hostname\u0027]}\""},{"line_number":525,"context_line":"            f\"updated with disabled-{is_disabled}\""},{"line_number":526,"context_line":"        )"},{"line_number":527,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"071dcd59_69827f30","line":524,"range":{"start_line":524,"start_character":0,"end_line":524,"end_character":48},"in_reply_to":"25d5cbe1_63d383d6","updated":"2024-04-23 15:19:46.000000000","message":"Good catch. No specific reason. I tend to use f-strings when I am writing new lines, but tend to use the existing log statements when there are similar lines already written","commit_id":"e3f279c90a22ccb607fdd889bb8e843dfb313522"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"b86e9c5ccbc669e23d0e5f6fae3ea8187ccab963","unresolved":true,"context_lines":[{"line_number":538,"context_line":"        db_api.host_update(resource[\"id\"], host_update_values)"},{"line_number":539,"context_line":"        LOG.debug("},{"line_number":540,"context_line":"            f\"{resource[\u0027hypervisor_hostname\u0027]} \""},{"line_number":541,"context_line":"            f\"updated with disabled-{is_disabled}\""},{"line_number":542,"context_line":"        )"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    def list_allocations(self, query):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5b378aba_c05b878d","line":541,"range":{"start_line":541,"start_character":35,"end_line":541,"end_character":36},"updated":"2024-04-17 21:08:44.000000000","message":"Replace - with \u003d","commit_id":"678fe5eec0bb2cf334d2b5e49f7d3844aa5263b0"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":538,"context_line":"        db_api.host_update(resource[\"id\"], host_update_values)"},{"line_number":539,"context_line":"        LOG.debug("},{"line_number":540,"context_line":"            f\"{resource[\u0027hypervisor_hostname\u0027]} \""},{"line_number":541,"context_line":"            f\"updated with disabled-{is_disabled}\""},{"line_number":542,"context_line":"        )"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    def list_allocations(self, query):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa92d62d_e5da92b9","line":541,"range":{"start_line":541,"start_character":35,"end_line":541,"end_character":36},"in_reply_to":"5b378aba_c05b878d","updated":"2024-04-23 15:19:46.000000000","message":"Done","commit_id":"678fe5eec0bb2cf334d2b5e49f7d3844aa5263b0"}],"releasenotes/notes/disabled-compute-host-99549bbe3b68abfe.yaml":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"2ec4b45520cad1f1343bfe337e09ff637ebfcce3","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a disabled field for computehosts so admins/operators can reserve a"},{"line_number":5,"context_line":"    non-reservable node and perform tests on it. Polling monitor will not be"},{"line_number":6,"context_line":"    able to turn a node to reservable if the node is `disabled`\u003d`True`"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"774ff070_0166efde","line":6,"range":{"start_line":6,"start_character":53,"end_line":6,"end_character":70},"updated":"2024-02-22 15:07:25.000000000","message":"Use double backticks for monospace font. I would wrap the whole disabled\u003dTrue expression in a single block.","commit_id":"2fa7a9fa28a16761c07fead05717dff45c1db591"},{"author":{"_account_id":36611,"name":"Anish Reddy","display_name":"Anish Ravula","email":"2anishreddy@gmail.com","username":"aravula"},"change_message_id":"a6d216082284d032c6726f600bd495bd142b1fbc","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a disabled field for computehosts so admins/operators can reserve a"},{"line_number":5,"context_line":"    non-reservable node and perform tests on it. Polling monitor will not be"},{"line_number":6,"context_line":"    able to turn a node to reservable if the node is `disabled`\u003d`True`"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"a6142857_cdd8348e","line":6,"range":{"start_line":6,"start_character":53,"end_line":6,"end_character":70},"in_reply_to":"774ff070_0166efde","updated":"2024-04-23 15:19:46.000000000","message":"Acknowledged","commit_id":"2fa7a9fa28a16761c07fead05717dff45c1db591"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"f89da9d37dba61e1c0a1a55f42e3ac2210d1dab0","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a disabled field for computehosts so admins/operators can reserve a"},{"line_number":5,"context_line":"    non-reservable node and perform tests on it. Polling monitor will not be"},{"line_number":6,"context_line":"    able to turn a node to reservable if the node is `disabled`\u003d`True`"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ecb8b9d3_673f8412","line":6,"range":{"start_line":6,"start_character":53,"end_line":6,"end_character":70},"in_reply_to":"774ff070_0166efde","updated":"2024-03-08 07:31:31.000000000","message":"Done","commit_id":"2fa7a9fa28a16761c07fead05717dff45c1db591"},{"author":{"_account_id":33582,"name":"Mark Powers","email":"markpowers@uchicago.edu","username":"markpowers"},"change_message_id":"c99bc63974a1e254814e9ecc5ca234b7e4f697cd","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a disabled field for computehosts so the node in not reservable"},{"line_number":5,"context_line":"    Polling monitor will not be able to make the node reservable if"},{"line_number":6,"context_line":"    the node is ``disabled\u003dTrue``"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"ccabb172_46b6bb2a","line":4,"updated":"2024-02-28 03:40:32.000000000","message":"I think this could also be more clear. Perhaps\n\"Adds a disabled field for computehosts, allowing an operator to mark a node as not reservable.\"","commit_id":"cc25f3c6a7ce077d9f2ff2d13847d223f06f8d40"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"f89da9d37dba61e1c0a1a55f42e3ac2210d1dab0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds a disabled field for computehosts so the node in not reservable"},{"line_number":5,"context_line":"    Polling monitor will not be able to make the node reservable if"},{"line_number":6,"context_line":"    the node is ``disabled\u003dTrue``"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"58665974_bb50a83d","line":4,"in_reply_to":"ccabb172_46b6bb2a","updated":"2024-03-08 07:31:31.000000000","message":"Done","commit_id":"cc25f3c6a7ce077d9f2ff2d13847d223f06f8d40"}]}
