liquidmetal-dev / liquidmetal-dev/cluster-api-provider-microvm

If cluster creation fails at a certain point, it cannot be deleted

Open
#190 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/bug
Dominant language
Go
Stars
157
Forks
21
PR merge metrics
No merged PRs in 30d

Description

**What happened:**
It's a weird one, I have only seen it a couple of times and I am not 100% sure of the exact sequence of events which makes it happen.

In this case I had forgotten to start my (local) Flintlock server before creating a (local) CAPMVM cluster, so I saw the error

```
Error while dialing dial tcp 192.168.0.31:9091: connect: connection refused
```

Which fine, I started the flintlock server, and ran `kubectl delete clusters.cluster.x-k8s.io mvm-test` to get a clean run of things.

The delete does not seem to be picked up by the capmvm-controller, and 15 mins later it is still hanging.

**What did you expect to happen:**
The cluster should be deleted no matter what stage it is in creation.

I am able to delete the cluster on other random failures.

**How to reproduce it:**

- Start CAPMVM in `tilt`
- Do not start a flintlock server
- Create a cluster setting the host to something which is not running
- See it fail
- Try to delete the cluster

**Anything else you would like to add:**
[Miscellaneous information that will assist in solving the issue.]

**Environment:**

- capmvm version: head at `243c19a`
- OS (e.g. from `/etc/os-release`):
```
NAME="Ubuntu"
VERSION="21.04 (Hirsute Hippo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 21.04"
VERSION_ID="21.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-pol
icy"
VERSION_CODENAME=hirsute
UBUNTU_CODENAME=hirsute
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with CAPMVM running in tilt, no Flintlock server, and the kubectl cluster creation and deletion commands described in the issue. Trace the capmvm-controller handling after the connection-refused error and compare it with deletion after other failures. Done means a cluster that fails during creation can still be deleted successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.