Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd: fix create cluster bug #2852

Merged
merged 3 commits into from
Feb 5, 2024
Merged

cmd: fix create cluster bug #2852

merged 3 commits into from
Feb 5, 2024

Conversation

xenowits
Copy link
Contributor

@xenowits xenowits commented Feb 5, 2024

Fix bug in create cluster command.

--

From @xenowits's explanation on slack:

When create cluster command is run twice in the same directory, it doesn’t error out with “Fatal error: existing node directory found, please delete it before running this command” while it should

Explanation: When we provide a definition file to the create cluster command, we don’t set the "conf.NumNodes" field when verifying the config

//.....
func validateCreateConfig(ctx context.Context, conf clusterConfig) error {
    if conf.NumNodes == 0 && conf.DefFile == "" { // if there's a definition file, infer this value from it later
       return errors.New("missing --nodes flag")
    }

    // Check for valid network configuration.
    if err := validateNetworkConfig(conf); err != nil {
       return errors.Wrap(err, "get network config")
    }

    // BUG: conf.NumNodes is zero here!!
    if err := detectNodeDirs(conf.ClusterDir, conf.NumNodes); err != nil {
       return err
    }

category: bug
ticket: #2851

Closes #2851

@xenowits xenowits self-assigned this Feb 5, 2024
@gsora
Copy link
Collaborator

gsora commented Feb 5, 2024

Could you drop a couple lines on how this PR fixes the specified bug?

Copy link

sonarcloud bot commented Feb 5, 2024

Quality Gate Passed Quality Gate passed

Kudos, no new issues were introduced!

0 New issues
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@xenowits
Copy link
Contributor Author

xenowits commented Feb 5, 2024

Before the fix:
Screenshot 2024-02-05 at 15 31 13

After the fix:
Screenshot 2024-02-05 at 15 31 20

Copy link

codecov bot commented Feb 5, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (cfe844b) 53.44% compared to head (ac3a8bd) 53.46%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2852      +/-   ##
==========================================
+ Coverage   53.44%   53.46%   +0.02%     
==========================================
  Files         200      200              
  Lines       28011    28014       +3     
==========================================
+ Hits        14971    14979       +8     
+ Misses      11180    11177       -3     
+ Partials     1860     1858       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@xenowits xenowits added the merge when ready Indicates bulldozer bot may merge when all checks pass label Feb 5, 2024
@obol-bulldozer obol-bulldozer bot merged commit 300b14f into main Feb 5, 2024
17 of 18 checks passed
@obol-bulldozer obol-bulldozer bot deleted the xenowits/fix-cc-bug branch February 5, 2024 10:42
gsora pushed a commit that referenced this pull request Feb 5, 2024
Fix bug in `create cluster` command.

--

From @xenowits's explanation on slack:

> When create cluster command is run twice in the same directory, it doesn’t error out with “Fatal error: existing node directory found, please delete it before running this command” while it should

> Explanation: When we provide a definition file to the create cluster command, we don’t set the "conf.NumNodes" field when verifying the config

```go
//.....
func validateCreateConfig(ctx context.Context, conf clusterConfig) error {
    if conf.NumNodes == 0 && conf.DefFile == "" { // if there's a definition file, infer this value from it later
       return errors.New("missing --nodes flag")
    }

    // Check for valid network configuration.
    if err := validateNetworkConfig(conf); err != nil {
       return errors.Wrap(err, "get network config")
    }

    // BUG: conf.NumNodes is zero here!!
    if err := detectNodeDirs(conf.ClusterDir, conf.NumNodes); err != nil {
       return err
    }
```

category: bug 
ticket: #2851
obol-bulldozer bot pushed a commit that referenced this pull request Feb 5, 2024
Cherrypick of [2852](#2852) on `main-v0.19`.

--

Fix bug in `create cluster` command.

--

From @xenowits's explanation on slack:

> When create cluster command is run twice in the same directory, it doesn’t error out with “Fatal error: existing node directory found, please delete it before running this command” while it should

> Explanation: When we provide a definition file to the create cluster command, we don’t set the "conf.NumNodes" field when verifying the config

```go
//.....
func validateCreateConfig(ctx context.Context, conf clusterConfig) error {
    if conf.NumNodes == 0 && conf.DefFile == "" { // if there's a definition file, infer this value from it later
       return errors.New("missing --nodes flag")
    }

    // Check for valid network configuration.
    if err := validateNetworkConfig(conf); err != nil {
       return errors.Wrap(err, "get network config")
    }

    // BUG: conf.NumNodes is zero here!!
    if err := detectNodeDirs(conf.ClusterDir, conf.NumNodes); err != nil {
       return err
    }
```

category: bug 
ticket: #2851
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge when ready Indicates bulldozer bot may merge when all checks pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

create cluster doesn't error when run in same directory
2 participants