Skip to content

[backport] Rework haproxy config for stickiness and balance strategy#2

Open
matelakat wants to merge 6 commits into
sap-oc:stable/sap/3.0from
matelakat:backport-179
Open

[backport] Rework haproxy config for stickiness and balance strategy#2
matelakat wants to merge 6 commits into
sap-oc:stable/sap/3.0from
matelakat:backport-179

Conversation

@matelakat

Copy link
Copy Markdown

This is the backport of crowbar#179

Please be aware that the backport happened when the original PR was not merged yet. Merge upstream first!

@matelakat

Copy link
Copy Markdown
Author

Re-triggering CI

@houndci-bot houndci-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Some files could not be reviewed due to errors:

.rubocop.yml: Style/AlignHash has the wrong namespace - should be Layout
.rubocop.yml: Style/AlignHash has the wrong namespace - should be Layout
.rubocop.yml: Style/AlignParameters has the wrong namespace - should be Layout
.rubocop.yml: Style/EmptyLinesAroundBlockBody has the wrong namespace - should be Layout
.rubocop.yml: Style/MultilineOperationIndentation has the wrong namespace - should be Layout
Error: obsolete parameter RunRailsCops (for AllCops) found in .rubocop.yml
Use the following configuration instead:
Rails:
  Enabled: true
obsolete parameter AlignWith (for Lint/EndAlignment) found in .rubocop.yml
`AlignWith` has been renamed to `EnforcedStyleAlignWith`

@matelakat matelakat requested review from mkoderer, tpatzig and vuntz June 29, 2017 14:56
@matelakat matelakat mentioned this pull request Jul 3, 2017
vuntz added 6 commits July 4, 2017 13:13
We have haproxy 1.5.x now, so we can use persistence for SSL sessions.
This matters as if we want to allow people to not use "source" as
balance algorithm, then we need to make sure that sessions keep going to
the same backend to avoid breakages.

This reverts commit 32323b0.

(cherry picked from commit 8cf8ddb)
This is done in the LWRP and in the template; let's just do it in the
LWRP to simplify the template.

(cherry picked from commit 560b110)
This is useful to achieve persistence for web apps which have a session,
which is important in order to allow using a different algorithm than
"source" for balancing without breaking sessions.

(cherry picked from commit 5420a3e)
This allows achieving persistence for a normal session, but also for the
login form where there's usually a CSRF token (and which is not
associated to a real session in the web app).

(cherry picked from commit 1805935)
This enables customization of the balance strategy for each service.

(cherry picked from commit 10ee491)
The default in the haproxy cookbook is roundrobin, and this should
actually work fine. In cases where this may be troublesome (like web
apps), we can now configure stickiness to avoid issues.

With roundrobin, we spread the load accross the various backends, which
results in much improved performance.

(cherry picked from commit d714d87)

@houndci-bot houndci-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Some files could not be reviewed due to errors:

.rubocop.yml: Style/AlignHash has the wrong namespace - should be Layout
.rubocop.yml: Style/AlignHash has the wrong namespace - should be Layout
.rubocop.yml: Style/AlignParameters has the wrong namespace - should be Layout
.rubocop.yml: Style/EmptyLinesAroundBlockBody has the wrong namespace - should be Layout
.rubocop.yml: Style/MultilineOperationIndentation has the wrong namespace - should be Layout
Error: obsolete parameter RunRailsCops (for AllCops) found in .rubocop.yml
Use the following configuration instead:
Rails:
  Enabled: true
obsolete parameter AlignWith (for Lint/EndAlignment) found in .rubocop.yml
`AlignWith` has been renamed to `EnforcedStyleAlignWith`

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.

3 participants