Skip to content

Validation fails for cross-rack topics #138

@joewreschnig

Description

@joewreschnig

We use check --validate-only in our CI pipeline for our topicctl configurations. We recently introduced some cross-rack assignments, and it seems like it's incompatible with check in v1.9.1:

$ topicctl check --cluster-config production.cluster.yaml --validate-only production/dataset.yaml 
[2023-05-30 17:10:31]  INFO Check failed for topic dataset (cluster=production, env=production):
-----------------+----+--------------------------------------------------------------------------
       NAME      | OK |                                 DETAILS                                  
-----------------+----+--------------------------------------------------------------------------
  config correct | ✗  | config validation error: 1 error occurred:                               
                 |    | 	* Replication factor (3) cannot be larger than the number of racks (-1)  
                 |    |                                                                          
                 |    |                                                                          
-----------------+----+--------------------------------------------------------------------------
[2023-05-30 17:10:31] ERROR Check failed for 1/1 topic configs

Even when not using --validate-only it fails:

$ topicctl check --cluster-config production.cluster.yaml production/dataset.yaml 
[2023-05-30 17:07:46]  INFO Checking cluster ID against version in cluster
[2023-05-30 17:07:46]  INFO Check failed for topic dataset (cluster=production, env=production):
-----------------+----+--------------------------------------------------------------------------
       NAME      | OK |                                 DETAILS                                  
-----------------+----+--------------------------------------------------------------------------
  config correct | ✗  | config validation error: 1 error occurred:                               
                 |    | 	* Replication factor (3) cannot be larger than the number of racks (-1)  
                 |    |                                                                          
                 |    |                                                                          
-----------------+----+--------------------------------------------------------------------------
[2023-05-30 17:07:46] ERROR Check failed for 1/1 topic configs

In the case of --validate-only, it should probably skip this check. When not using --validate-only, I expect it should pull the actual number of racks (in this case, 4) from the cluster.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions