Giter Site home page Giter Site logo

Comments (7)

njones-lanl avatar njones-lanl commented on July 18, 2024 1

I'd argue for the second pool way may not even want to use a full DHCP pool, depending on what we want to do with un-inventoried nodes.

It could just be a microservice that catches the info, passes it to SMD (or a service that we can use to integrate new nodes into SMD), and shuts the node off via BSS or something like that. I also think that avoiding the node itself running a script avoids a cyclical dependency between a booting node and the inventory system.

from deployment-recipes.

njones-lanl avatar njones-lanl commented on July 18, 2024

Given the nature of a dhcp request (being a broadcast communication), I'd wonder if we could have separate handlers for giving a mapped to inventory IP address and handling a yet to be mapped IP address.

That would leave us having a very simple DHCP service, and having a standalone service to catch unmapped entries and prep them for SMD or similar.

from deployment-recipes.

alexlovelltroy avatar alexlovelltroy commented on July 18, 2024

I like that idea. Just to be sure I understand, you're suggesting that for any broadcast domain we create two DHCP pools. A pool for known addresses and a different pool for unknown addresses that need to be discovered or probed in some way.

from deployment-recipes.

njones-lanl avatar njones-lanl commented on July 18, 2024

I suspect the main catch here may be reloading dhcp entries when the config changes for dnsmasq, it accepts a SIGHUP at least: https://thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html#lbAG

from deployment-recipes.

alexlovelltroy avatar alexlovelltroy commented on July 18, 2024

Once we have a container, I'm pretty sure I can get fast config reloads to work. docker kill --signal=SIGHUP should do the trick.

from deployment-recipes.

synackd avatar synackd commented on July 18, 2024

create a dedicated ochami plugin that interacts with the inventory system and some form of IPAM, (either within the coredhcp plugin or within ochami)

I think this is a feasible idea. Since SMD is managing all of the node information, it makes sense to have it be the single source of truth for DHCP configuration as well. Long term, I think having a plugin for coredhcp that, e.g., provides a RESTful API for updating/deleting/adding DHCP configuration that SMD can push to when changes occur is desirable. That way, we don't have to reimplement DHCP and we are still following the microservice architecture. At current, I am not sure if this would be possible with coredhcp, but the concept of being able to configure DHCP via an API without having to reimplement DHCP seems ideal here.

I'm aware that kea already provides a RESTful API for DHCP, but I've heard from colleagues administering it in CSM that it's not great to work with.

from deployment-recipes.

alexlovelltroy avatar alexlovelltroy commented on July 18, 2024

Assigning @njones-lanl who has been working on a dnsmasq version for SI that will be good enough for now. We can revisit the plugin-based approach in the future.

from deployment-recipes.

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.