Coder Social home page Coder Social logo

Comments (5)

javierbertoli avatar javierbertoli commented on August 15, 2024

Hi @mthibaut, first thing first, I'd say your work will be welcome, I don't see a reason to consider it a wasted effort. I think that a (major) rewrite will mean a lot of consideration before being approved and merged. But I'd say it will be definitely considered.

Now, going to the work you're doing, I think that merging tests (#25) would be the first thing to do (I'll try to do it between today and tomorrow), and the move on with the refactoring.

On that issue, I personally prefer:

  • a refactoring that does not imply a ng, but rather modify/improve the formula as is.
  • that the refactoring consider, as much as possible, backward compatibility, at least in states and pillar formats
  • if possible, you can consider submitting different PRs, with smaller changes, (ie, just adding IPv6 support) so they can be evaluated and merged quicker: always consider that most of us do this on our spare/free time, and therefore reviewing big PRs is definitly going to take more time.

Just my 2c.

from dhcpd-formula.

mthibaut avatar mthibaut commented on August 15, 2024

Thanks for your comments!

a refactoring that does not imply a ng, but rather modify/improve the formula as is.

As you can see in the ntp formula and in PR #18 there is no way to fix the issues in dhcpd-formula except by starting over from scratch. We would end up with really weird configs containing an impossible-to-understand mish mash of underscores and dashes. Putting things inside "ng" is the best of both worlds, allowing people to use the old syntax while providing a more complete and functional "new" syntax.

that the refactoring consider, as much as possible, backward compatibility, at least in states and pillar formats

The current refactoring has the same top level structure, it just introduces new macros and templates to fill in the blanks. If we want to fix some of the issues in dhcpd-formula that can be fixed, we will automatically converge slowly anyway -- with the only exception being these macros and templates. The convergence would be mainly for OS families and the like. IPv6 as well I think.

if possible, you can consider submitting different PRs, with smaller changes, (ie, just adding IPv6 support) so they can be evaluated and merged quicker: always consider that most of us do this on our spare/free time, and therefore reviewing big PRs is definitly going to take more time.

I do understand, I have the same issue :). I can give it a go for IPv6 though this introduces a batch of new statements. But for the refactoring this will be difficult; there I would rather see an agreement on the approach or a suggestion of a different approach. Would you want some examples of why we need the stuff in PR #18?

from dhcpd-formula.

IliyanIliev1 avatar IliyanIliev1 commented on August 15, 2024

Guys, does anybody from you knows how should be written pillar to add option between class {}

from dhcpd-formula.

baby-gnu avatar baby-gnu commented on August 15, 2024

Hello.

I just created the pull request #31 which add travic CI and enable semantic-release.

When it will be merged, I'll start to convert the existing formula to template-formula standard without changing how it works (not like #18).

Regards.

from dhcpd-formula.

myii avatar myii commented on August 15, 2024

@mthibaut Another benefit of implementing semantic-release is that it allows for major rewrites, as we've already done with some of the ng formulas. So if you're still willing to make a large contribution, we'd be better placed to accommodate for it after that. Of course, it would be good if the plans can be agreed first between the major contributors, to ensure no-one wastes any time.

from dhcpd-formula.

Related Issues (5)

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.