Comments (4)
From a user perspective orphaned
instances at cloud provider mean losing some money. Thus setting finalizers as we do at the moment seems to be good and prevents exactly that scenario.
In situation like the one described we will make use of terminal
errors (defined in the spec) to indicate errors that have to be resolved manually.
from machine-controller.
Would it solve the problem when we add the finalizer directly after we successfully created the instance at the cloud provider?
Or we do a getInstance in the sync loop and add the finalizer as soon as we get an instance?
That way we would solve the problem when the Patch/Updated fails in the case above.
from machine-controller.
Would it solve the problem when we add the finalizer directly after we successfully created the instance at the cloud provider?
I think so, but then we introduce another issue - a user decided to delete Machine
while we were making a call to "create an instance"
from machine-controller.
Noticed that issue some time ago as well. IMHO the approach of adding the finalizer after the first getInstance
succeeded makes most sense.
If for whatever reason getInstance
stops working later on (e.G. credentials got invalidated) then the user has to delete the finalizer manually to be able to delete the machine, but I think that is way better than risking to leave orphaned instances at the cloud provider.
from machine-controller.
Related Issues (20)
- Updating SSH keys on existing Machines HOT 7
- Deterministic way to get private ip of machine HOT 2
- Vultr: Multiple Instances for Single Machine HOT 20
- vSphere: Allow configuration of disk provisioning for VMs HOT 6
- Node not ready due to cloud provider instance network issues HOT 3
- Failing tests for pull-machine-controller-e2e-hetzner HOT 1
- AWS: Support for passing CpuOptions HOT 6
- Support running shell script on Node boot HOT 8
- Can't create MachineDeployment: Post "https://machine-controller-webhook.kube-system.svc:443/machinedeployments?timeout=10s": context deadline exceeded HOT 1
- Stale token in cloud-init-settings/kube-system-hetzner-kubelet-bootstrap-config HOT 4
- KubeVirt GenerateRandMAC HOT 4
- Tags does not appear to work for Equinix provider HOT 4
- Support for networks with disabled port security HOT 4
- Expose metrics for MachineDeployment status HOT 2
- Support enabling cloud drive on OpenStack VMs HOT 1
- vSphere machine deployment with anti-affinity keeps recreating nodes
- Too many reconciliation errors/warnings for machine deployment objects HOT 1
- Future API group conflict with upstream CAPI HOT 3
- Remove user-data plugins from machine-controller
- E2E tests for Azure are failing HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from machine-controller.