Code Monkey home page Code Monkey logo

Comments (6)

schrej avatar schrej commented on May 27, 2024 1

I'm not sure if conditions (or other status) on IPAddress objects is a good idea. It spreads information around quite a bit.

I'd prefer to just add validation, and maybe a status field in case it does happen anyway.

from cluster-api-ipam-provider-in-cluster.

tylerschultz avatar tylerschultz commented on May 27, 2024

I agree with your position @schrej.

Side note:
At one point, we had imagined a world where it would be possible to make the pool range validation for in use IPs optional, allowing the pool to change range and making some IPs out of range. If the IPAddress were to indicate it's out of range, the capi provider could watch and then recreate the resource associated with the out of range IPAddress, converging to the new pool's ranges. Users familiar with BOSH might expect or like this kind of thing. This idea has received negative reactions from most in our world.

from cluster-api-ipam-provider-in-cluster.

schrej avatar schrej commented on May 27, 2024

Is there any interest in this feature? Because if there isn't, then it might make sense to postpone it until someone requires this to be implemented.
If we want to allow downscaling pools, I feel like we need some way of freeing ranges in the pool. Either by just allowing to downscale and marking remaining Addresses as out-of-pool, or by adding a field to the spec that allows to block certain ranges that are currently part of the pool, and some status information on how many blocked addresses are still in use.

from cluster-api-ipam-provider-in-cluster.

tylerschultz avatar tylerschultz commented on May 27, 2024

@schrej I'm not sure I understand what you're suggesting gets postponed?

These are options that I see:

  1. prevent a pool update that would cause in use IPs from becoming out of range
  2. continue to allow users to update a pool causing in use IPs from becoming out of range. Add some way of communicating there is an issue with out of range IPs, either by pool status somehow, or as suggested earlier add a status to the IPAddress indicating it's out of range of it's pool.
  3. do nothing ? feels like we're leaving users in a lurch.

Are there other options? are you leaning towards any option?

from cluster-api-ipam-provider-in-cluster.

schrej avatar schrej commented on May 27, 2024

Sorry, I was thinking about your side note too much I think. I mean that we should postpone a solution for downsizing pools with allocated IPs outside of the pool afterwards.
We should definitely add validation that prevents removing ranges from the pool that still contain addresses.

from cluster-api-ipam-provider-in-cluster.

tylerschultz avatar tylerschultz commented on May 27, 2024

Got it, we're on the same page now. Thanks.

We think #124 and #125 should cover the validations as discussed. Those PRs are based on #116, so we'll need to rebase those PRs if/when it's merged. Thanks for your patience and thanks for the feedback and reviews. Much appreciated.

from cluster-api-ipam-provider-in-cluster.

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.