GoogleCloudPlatform / GoogleCloudPlatform/PerfKitBenchmarker

Hard-to-debug error behavior with static VMs

Open
#1,225 1 comment 0 reactions 1 assignee Claimed by @tedsta View on GitHub
Dominant language
Python
Stars
2k
Forks
562
Avg merge
4h 55m
Merged PRs (30d)
69

Description

I wrote a static VMs file, but accidentally left the public key path blank. I had a config file like this:
```
static_vms:
- &vm_1
ssh_private_key:
ip_address: ...
```

This lead to PKB looping on "waiting for boot completion" but never erroring out. Here is what I think happened: YAML parsing returned a dict with `"ssh_private_key": None` as a member. This got passed around until the None propagated to `vm_util.IssueCommand`, which constructed an ssh command string that included "-i None". This, predictably, failed to SSH, and so `IssueCommand` returned an error. However, the retry loop at linux_virtual_machine.py:390 didn't realize that the error was unrecoverable and kept retrying, resulting in an apparent PKB hang.

Ideally, PKB would detect that the SSH private key was not specified and error much earlier in the process.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.