Giter Club home page Giter Club logo

Comments (4)

p0lyn0mial avatar p0lyn0mial commented on July 17, 2024 1

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.

mrIncompetent avatar mrIncompetent commented on July 17, 2024

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.

p0lyn0mial avatar p0lyn0mial commented on July 17, 2024

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.

alvaroaleman avatar alvaroaleman commented on July 17, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.