)]}'
{"magnum/api/controllers/v1/nodegroup.py":[{"author":{"_account_id":9995,"name":"Ricardo Rocha","email":"rocha.porto@gmail.com","username":"rocha"},"change_message_id":"ea759c1d0e3388994a60898bb6ba60b90eaa03bd","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                       default\u003d\u0027worker\u0027)"},{"line_number":106,"context_line":"    \"\"\"The role of the nodes included in this nodegroup\"\"\""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    min_node_count \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0), default\u003d0)"},{"line_number":109,"context_line":"    \"\"\"The minimum allowed nodes for this nodegroup. Default to 1 if not set\"\"\""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    max_node_count \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0), default\u003dNone)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_1ac48ef4","line":108,"updated":"2020-06-23 20:15:28.000000000","message":"The comment below still has default 1 even you changed to 0.\n\nThat said, maybe we leave the default as it was? The main purpose would be to allow 0.","commit_id":"f22e1cb1a6076f66213a5598632b3bb88b99129b"},{"author":{"_account_id":28022,"name":"Bharat Kunwar","email":"brtknr@bath.edu","username":"brtknr"},"change_message_id":"45676631e9edbf201015039d72d81d9415534fdf","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                       default\u003d\u0027worker\u0027)"},{"line_number":106,"context_line":"    \"\"\"The role of the nodes included in this nodegroup\"\"\""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    min_node_count \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0), default\u003d0)"},{"line_number":109,"context_line":"    \"\"\"The minimum allowed nodes for this nodegroup. Default to 1 if not set\"\"\""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    max_node_count \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0), default\u003dNone)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_f053b269","line":108,"in_reply_to":"bf51134e_1ac48ef4","updated":"2020-06-24 08:37:16.000000000","message":"+1","commit_id":"f22e1cb1a6076f66213a5598632b3bb88b99129b"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"1419243374cebd4e498ef7c32faf22989ce9b389","unresolved":true,"context_lines":[{"line_number":98,"context_line":"    node_addresses \u003d wsme.wsattr([wtypes.text], readonly\u003dTrue)"},{"line_number":99,"context_line":"    \"\"\"IP addresses of nodegroup nodes\"\"\""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    node_count \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0), default\u003d1)"},{"line_number":102,"context_line":"    \"\"\"The node count for this nodegroup. Default to 1 if not set\"\"\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    role \u003d wsme.wsattr(wtypes.StringType(min_length\u003d1, max_length\u003d255),"}],"source_content_type":"text/x-python","patch_set":2,"id":"81217991_47a9406b","line":101,"updated":"2020-12-07 14:24:15.000000000","message":"are these covered by unit test cases?","commit_id":"524dbf830d7eebde1acdea9f33d99c5779b6b38b"},{"author":{"_account_id":29425,"name":"Diogo Guerra","email":"diogo.filipe.tomas.guerra@cern.ch","username":"dioguerra"},"change_message_id":"2d26d97ba354177b063c3e578348c9d923337c4d","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    node_addresses \u003d wsme.wsattr([wtypes.text], readonly\u003dTrue)"},{"line_number":99,"context_line":"    \"\"\"IP addresses of nodegroup nodes\"\"\""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    node_count \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0), default\u003d1)"},{"line_number":102,"context_line":"    \"\"\"The node count for this nodegroup. Default to 1 if not set\"\"\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    role \u003d wsme.wsattr(wtypes.StringType(min_length\u003d1, max_length\u003d255),"}],"source_content_type":"text/x-python","patch_set":2,"id":"b3bdc9eb_99017263","line":101,"in_reply_to":"6ce37474_362c5b9d","updated":"2021-01-28 09:42:50.000000000","message":"Done","commit_id":"524dbf830d7eebde1acdea9f33d99c5779b6b38b"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"37f5f7eb6150d9268af1319904fef3295140a82d","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    node_addresses \u003d wsme.wsattr([wtypes.text], readonly\u003dTrue)"},{"line_number":99,"context_line":"    \"\"\"IP addresses of nodegroup nodes\"\"\""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    node_count \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0), default\u003d1)"},{"line_number":102,"context_line":"    \"\"\"The node count for this nodegroup. Default to 1 if not set\"\"\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    role \u003d wsme.wsattr(wtypes.StringType(min_length\u003d1, max_length\u003d255),"}],"source_content_type":"text/x-python","patch_set":2,"id":"76b73c07_05dfd002","line":101,"in_reply_to":"6ce37474_362c5b9d","updated":"2020-12-17 10:18:13.000000000","message":"it seems it is resolved but Diogo didn\u0027t clicked resolve here.\nhttps://review.opendev.org/c/openstack/magnum/+/737580/2..3/magnum/tests/unit/api/controllers/v1/test_nodegroup.py","commit_id":"524dbf830d7eebde1acdea9f33d99c5779b6b38b"},{"author":{"_account_id":29425,"name":"Diogo Guerra","email":"diogo.filipe.tomas.guerra@cern.ch","username":"dioguerra"},"change_message_id":"8a54112d6f757628fe3581500a07b70798ce679d","unresolved":true,"context_lines":[{"line_number":98,"context_line":"    node_addresses \u003d wsme.wsattr([wtypes.text], readonly\u003dTrue)"},{"line_number":99,"context_line":"    \"\"\"IP addresses of nodegroup nodes\"\"\""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    node_count \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0), default\u003d1)"},{"line_number":102,"context_line":"    \"\"\"The node count for this nodegroup. Default to 1 if not set\"\"\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    role \u003d wsme.wsattr(wtypes.StringType(min_length\u003d1, max_length\u003d255),"}],"source_content_type":"text/x-python","patch_set":2,"id":"f8ac42c7_2cfe41e7","line":101,"in_reply_to":"81217991_47a9406b","updated":"2020-12-07 14:31:57.000000000","message":"magnum/tests/unit/api/controllers/v1/test_cluster.py @ 683","commit_id":"524dbf830d7eebde1acdea9f33d99c5779b6b38b"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"932aba2a20f2fcb484178882c642dc5f29f80724","unresolved":true,"context_lines":[{"line_number":98,"context_line":"    node_addresses \u003d wsme.wsattr([wtypes.text], readonly\u003dTrue)"},{"line_number":99,"context_line":"    \"\"\"IP addresses of nodegroup nodes\"\"\""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    node_count \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0), default\u003d1)"},{"line_number":102,"context_line":"    \"\"\"The node count for this nodegroup. Default to 1 if not set\"\"\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    role \u003d wsme.wsattr(wtypes.StringType(min_length\u003d1, max_length\u003d255),"}],"source_content_type":"text/x-python","patch_set":2,"id":"6ce37474_362c5b9d","line":101,"in_reply_to":"a93c5247_9ace4578","updated":"2020-12-07 14:47:38.000000000","message":"It seems that there wasn\u0027t any test case for zero.\n\nhttps://opendev.org/openstack/magnum/src/branch/master/magnum/tests/unit/api/controllers/v1/test_nodegroup.py#L374\n\nAdd a test case here","commit_id":"524dbf830d7eebde1acdea9f33d99c5779b6b38b"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"c79f37e57be580d748ebd2c43b0f615fd9774d3e","unresolved":true,"context_lines":[{"line_number":98,"context_line":"    node_addresses \u003d wsme.wsattr([wtypes.text], readonly\u003dTrue)"},{"line_number":99,"context_line":"    \"\"\"IP addresses of nodegroup nodes\"\"\""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    node_count \u003d wsme.wsattr(wtypes.IntegerType(minimum\u003d0), default\u003d1)"},{"line_number":102,"context_line":"    \"\"\"The node count for this nodegroup. Default to 1 if not set\"\"\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    role \u003d wsme.wsattr(wtypes.StringType(min_length\u003d1, max_length\u003d255),"}],"source_content_type":"text/x-python","patch_set":2,"id":"a93c5247_9ace4578","line":101,"in_reply_to":"f8ac42c7_2cfe41e7","updated":"2020-12-07 14:43:40.000000000","message":"Thanks, but I saw the test for the cluster controller.\n\nThis file is the nodegroup controller.","commit_id":"524dbf830d7eebde1acdea9f33d99c5779b6b38b"}],"magnum/objects/nodegroup.py":[{"author":{"_account_id":9995,"name":"Ricardo Rocha","email":"rocha.porto@gmail.com","username":"rocha"},"change_message_id":"ea759c1d0e3388994a60898bb6ba60b90eaa03bd","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        \u0027node_count\u0027: fields.IntegerField(nullable\u003dFalse, default\u003d1),"},{"line_number":47,"context_line":"        \u0027role\u0027: fields.StringField(),"},{"line_number":48,"context_line":"        \u0027max_node_count\u0027: fields.IntegerField(nullable\u003dTrue),"},{"line_number":49,"context_line":"        \u0027min_node_count\u0027: fields.IntegerField(nullable\u003dFalse, default\u003d0),"},{"line_number":50,"context_line":"        \u0027is_default\u0027: fields.BooleanField(default\u003dFalse),"},{"line_number":51,"context_line":"        \u0027stack_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":52,"context_line":"        \u0027status\u0027: m_fields.ClusterStatusField(nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_5aba866d","line":49,"updated":"2020-06-23 20:15:28.000000000","message":"I wouldn\u0027t touch the default. Also makes the patch simpler?","commit_id":"f22e1cb1a6076f66213a5598632b3bb88b99129b"},{"author":{"_account_id":28022,"name":"Bharat Kunwar","email":"brtknr@bath.edu","username":"brtknr"},"change_message_id":"45676631e9edbf201015039d72d81d9415534fdf","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        \u0027node_count\u0027: fields.IntegerField(nullable\u003dFalse, default\u003d1),"},{"line_number":47,"context_line":"        \u0027role\u0027: fields.StringField(),"},{"line_number":48,"context_line":"        \u0027max_node_count\u0027: fields.IntegerField(nullable\u003dTrue),"},{"line_number":49,"context_line":"        \u0027min_node_count\u0027: fields.IntegerField(nullable\u003dFalse, default\u003d0),"},{"line_number":50,"context_line":"        \u0027is_default\u0027: fields.BooleanField(default\u003dFalse),"},{"line_number":51,"context_line":"        \u0027stack_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":52,"context_line":"        \u0027status\u0027: m_fields.ClusterStatusField(nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_504d3ec2","line":49,"in_reply_to":"bf51134e_5aba866d","updated":"2020-06-24 08:37:16.000000000","message":"+1","commit_id":"f22e1cb1a6076f66213a5598632b3bb88b99129b"}],"releasenotes/notes/allow-empty-node_groups-ec16898bfc82aec0.yaml":[{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"37f5f7eb6150d9268af1319904fef3295140a82d","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":"    Clusters can now be created with empty nodegroups. Existent nodegroups"},{"line_number":5,"context_line":"    can be set to node_count \u003d 0."},{"line_number":6,"context_line":"    This is usefull for HA or spetial hardware clusters with multiple"},{"line_number":7,"context_line":"    nodegroups managed by the cluster auto-scaller."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"e4993983_0b0df8ff","line":4,"range":{"start_line":4,"start_character":55,"end_line":4,"end_character":63},"updated":"2020-12-17 10:18:13.000000000","message":"typo","commit_id":"2e4974133a336c0014a153de3d04b8c9b3d89103"},{"author":{"_account_id":29425,"name":"Diogo Guerra","email":"diogo.filipe.tomas.guerra@cern.ch","username":"dioguerra"},"change_message_id":"2d26d97ba354177b063c3e578348c9d923337c4d","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":"    Clusters can now be created with empty nodegroups. Existent nodegroups"},{"line_number":5,"context_line":"    can be set to node_count \u003d 0."},{"line_number":6,"context_line":"    This is usefull for HA or spetial hardware clusters with multiple"},{"line_number":7,"context_line":"    nodegroups managed by the cluster auto-scaller."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"a432ee99_a2eae7f1","line":4,"range":{"start_line":4,"start_character":55,"end_line":4,"end_character":63},"in_reply_to":"e4993983_0b0df8ff","updated":"2021-01-28 09:42:50.000000000","message":"Done","commit_id":"2e4974133a336c0014a153de3d04b8c9b3d89103"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"37f5f7eb6150d9268af1319904fef3295140a82d","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Clusters can now be created with empty nodegroups. Existent nodegroups"},{"line_number":5,"context_line":"    can be set to node_count \u003d 0."},{"line_number":6,"context_line":"    This is usefull for HA or spetial hardware clusters with multiple"},{"line_number":7,"context_line":"    nodegroups managed by the cluster auto-scaller."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bf73b02a_b4fe37ec","line":6,"range":{"start_line":6,"start_character":30,"end_line":6,"end_character":37},"updated":"2020-12-17 10:18:13.000000000","message":"typo","commit_id":"2e4974133a336c0014a153de3d04b8c9b3d89103"},{"author":{"_account_id":29425,"name":"Diogo Guerra","email":"diogo.filipe.tomas.guerra@cern.ch","username":"dioguerra"},"change_message_id":"2d26d97ba354177b063c3e578348c9d923337c4d","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Clusters can now be created with empty nodegroups. Existent nodegroups"},{"line_number":5,"context_line":"    can be set to node_count \u003d 0."},{"line_number":6,"context_line":"    This is usefull for HA or spetial hardware clusters with multiple"},{"line_number":7,"context_line":"    nodegroups managed by the cluster auto-scaller."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"e6e0df3f_c0c87f45","line":6,"range":{"start_line":6,"start_character":30,"end_line":6,"end_character":37},"in_reply_to":"bf73b02a_b4fe37ec","updated":"2021-01-28 09:42:50.000000000","message":"Done","commit_id":"2e4974133a336c0014a153de3d04b8c9b3d89103"}]}
