-
Notifications
You must be signed in to change notification settings - Fork 120
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
feat(stats): refactor global stats sockets #91
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
At the moment I can't test your code (some issue with Ruby install with rvm) but looking at it, I see there are already a number of |
Hi @daks, I'm sorry, but I do not see how the existing |
Hi @tacerus no the current implementation does not allow it in fact :) It's a little bit more work I know but I think it's worth it. Ideally, default behaviour would keep the current behaviour. If it's really not possible, a Don't hesitate to ask questions if something is not clear |
I think it's less intrusive to keep both, but to mark the existing |
Who's gonna do this work? you? I'm pretty sure you won't, so let's merge this as is. |
It could in fact be a viable solution, but I have no idea how to 'communicate' this deprecation with the current tools for formulas. I think it must be at least indicated in I also fear the second modification will never be done (there is no real maintainers on most of the formulas) and the formula will stay with the two configuration options, but if you plan to do it yourself, I'm OK with it :) |
OK, I amended the patch to instead refactor the existing |
LGTM |
@tacerus thanks for the change. Two things though:
|
|
Inspecting the groups in saltimages/salt-master-py3:debian-11
it seems "users" is the next best thing. I amended it respectively. |
I can manually write a changelog line, but why are there both |
No manual changelog edits are needed: |
This allows for multiple sockets to be defined, which is useful if multiple sockets with different access levels are desired. BREAKING CHANGE: The `haproxy:global:stats` pillar structure changed. Signed-off-by: Georg Pfuetzenreuter <[email protected]>
Thanks for the link, @dafyddj! I adjusted the commit message to match the described format. |
You could look at what was the current one in [*] actually, ideally it should also be right even for testing, and for all platforms but I'm not sure the CI/tests are functional right now |
That is the link I was searching before, thanks :) |
As stated I already replaced the group. |
it should have not changed. it should have been done in a separate PR. that's not fair/nice :
|
@tacerus thanks. A basic I'll merge in a few days. |
This is your opinion. Did you plan to do it yourself? (as you asked me before)
This is not a fix, it's a feature implementation. And I don't see any technical debt here. (apart the test/CI one)
Formula management tooling is not sufficient, this problem exists since I got involved in using and developing formulas (and I several times raised this problem in the community) several years ago. It has since improved quite a bit with the versioning and breaking change tooling. Even if it's not sufficient this is the one we have right now so I use it. (If tools and ways of functioning have changed recently, I'm not aware and docs don't seem to reflect that) Another identified problem is the lack of maintainers (and what I could call 'ownership'). If you want to contribute, don't hesitate to get in touch with the Working Group (for example on slack).
You don't know what I would have done myself so please avoid imagining it. To conclude: I don't understand why you are so aggressively (with your comments and multiple thumbs down) intervening here but please stop. |
Do you mean formula developers must absolutely agree with all your opinions? |
Nope, I no longer use this formula, and you? |
No, but look at the way you express your disagreement. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @tacerus for your contribution
Thanks as well! :) |
@tacerus: This now doesn't allow to set extra bind parameter anymore, as the new structure dropped the |
Hi @SuperTux88, that is true - I only facilitated what is described here: https://docs.haproxy.org/2.4/management.html#9.3 Which options are you missing? Are you trying to specify additional bind parameters for stats listeners which are not Unix sockets? |
For the
https://docs.haproxy.org/2.4/management.html#3-where (at the bottom of the options list) |
Interesting, thanks for the pointer! Since this is just one option which doesn't take any parameters (https://docs.haproxy.org/2.4/configuration.html#5.1-expose-fd%20listeners) I suggest to expose it using a boolean toggle in the pillar under the stats sockets. What do you think? |
I liked the But a boolean works too for my use-case. |
I understand. I think it's good to have options natively exposed where possible as it makes the pillar easily parseable for other uses. In this case it should simple enough to introduce additional options if needed in the future. But open to other feedback. |
I see the advantage of specific keys in the case of for example |
I get what you mean, maybe it makes sense for this. Let's see what others think. |
PR progress checklist (to be filled in by reviewers)
What type of PR is this?
Primary type
[build]
Changes related to the build system[chore]
Changes to the build process or auxiliary tools and libraries such as documentation generation[ci]
Changes to the continuous integration configuration[feat]
A new feature[fix]
A bug fix[perf]
A code change that improves performance[refactor]
A code change that neither fixes a bug nor adds a feature[revert]
A change used to revert a previous commit[style]
Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.)Secondary type
[docs]
Documentation changes[test]
Adding missing or correcting existing testsDoes this PR introduce a
BREAKING CHANGE
?No.Yes, as discussed in the comments, it was desired to change the existing pillar instead of introducing a new one.Related issues and/or pull requests
n/a
Describe the changes you're proposing
This is useful to implement sockets with different access levels. The existing stats pillar is left in tact.
Pillar / config required to test the proposed changes
See changes in pillar.example.
Debug log showing how the proposed changes work
Documentation checklist
README
(e.g.Available states
).pillar.example
.Testing checklist
state_top
).Additional context