Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP - feature completeness with 2.1.5 #223

Draft
wants to merge 19 commits into
base: master
Choose a base branch
from
Draft

WIP - feature completeness with 2.1.5 #223

wants to merge 19 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Oct 20, 2020

Pull Request (PR) description

feature-completness-with-2.1.5 tries to make puppet-keealived feature complete in a sense that all options keepalievd 2.1.5 provides, can be set via this puppet module.

This Pull Request (PR) fixes the following issues

Currently a lot of options are missing :/

State of the Pull Request

This is currently and at the moment Work In Progress. I just wanted to push early to have the change to get early feedback, too.

So far global_defs should be completely covered. Only a few options are missing in spec. Anyone reading this is invited to give me a pair of eyes and provide some hints how to cover the missing ones!

I had a talk with @ghoneycutt and he gave me the /ok/ to just do a large commit, as I do not change features, but just adding new options. As you can see in global_defs some options are now set to undef as they only reflect the implicit default state of keepalived. I'm not quiet sure if this is just some old stuff or if keepalived actually switched that in the last 3(?) years...

In the next days I want to try to do the same with vrrp_instance. As I have no clue about LVS, I will quietly ignore this for now. I maybe will continue with vrrp_script then...

Anyway I have some "questions" aka I'm unsure about it, and like to get feedback:

  • I've set all params of global_defs to have a Data Type; I tried to reflect documentation from keepaliveds manpage as good as I could. Could someone have a look and give me a "go ahead"/continue or a "please stop and do it that way"?
  • Should the test in spec cover allowed vaues of an option? Like if when an Integer can only be set between 0 and 99, or where does this go?
  • How do I write a spec for situations with like nftables: it could be just set, (with puppet via true, but in the config without parameter) and it could also have one parameter or two, if the user wants to specify the chain.

Closing note for now:
I've ordered all options as they appear in keepaliveds documentation to make it easier to compare the state of "feature completeness".

Thanks.

@ghost
Copy link
Author

ghost commented Oct 21, 2020

@ghoneycutt could you do a first review, now that all checks are passing? Thanks.

$smtp_alert = undef,
$nopreempt = undef,
Boolean $global_tracking = false,
Variant[String, Array[String], Undef] $track_interface = undef,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the diff in this PR is quite huge? Do you think it's possible to cherry-pick the new datatypes for existing parameters into a single PR that we review first? Also I think 99% of those variables, if not all, should not allow empty strings. Could you update those to String[1] instead of String?

@kenyon kenyon changed the title WIP - feature completness with 2.1.5 WIP - feature completeness with 2.1.5 Oct 25, 2020
@luitzifa
Copy link

Will this get done any time soon? Debian Bullseye will be shipped with 2.1.5 .

@bastelfreak
Copy link
Member

@sprd-bena hey, any chance that you can rebase this against our latest master branch?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants