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

Always set headers with add-headers option #4463

Merged
merged 1 commit into from
Aug 25, 2019

Conversation

zerda
Copy link
Contributor

@zerda zerda commented Aug 18, 2019

What this PR does / why we need it:
With nginx-custom-headers configmap and add-headers option.

apiVersion: v1
data:
  X-Request-Id: $req_id
kind: ConfigMap
metadata:
  name: nginx-custom-headers
  namespace: default
apiVersion: v1
data:
  add-headers: default/nginx-custom-headers
kind: ConfigMap
metadata:
  name: nginx-configuration
  namespace: default

It should set X-Request-Id header to response all the time, but failed at following scenarios because of limits with add_header directive.

From the documentation on add_header

  1. when response code is 40x or 50x.
    By default, add_header adds the specified field to a response header provided only when the response code equals 200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13), or 308 (1.13.0).

  2. when add_header used in location block
    These directives are inherited from the previous level if and only if there are no add_header directives defined on the current level.
    If an ingress hasnginx.ingress.kubernetes.io/auth-url annotation, it will not set X-Request-Id to the response, because the add_header Set-Cookie $auth_cookie; already exists in location.

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged):
fixes #4359

Special notes for your reviewer:
None

@k8s-ci-robot k8s-ci-robot added do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Aug 18, 2019
@k8s-ci-robot
Copy link
Contributor

Hi @zerda. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Aug 18, 2019
It should work regardless of the response code or add_header directive in location.
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label Aug 18, 2019
@aledbf
Copy link
Member

aledbf commented Aug 25, 2019

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Aug 25, 2019
@codecov-io
Copy link

Codecov Report

❗ No coverage uploaded for pull request base (master@443886e). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##             master    #4463   +/-   ##
=========================================
  Coverage          ?   59.06%           
=========================================
  Files             ?       89           
  Lines             ?     6748           
  Branches          ?        0           
=========================================
  Hits              ?     3986           
  Misses            ?     2334           
  Partials          ?      428

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 443886e...a44b5cf. Read the comment docs.

@aledbf
Copy link
Member

aledbf commented Aug 25, 2019

/retest

@aledbf
Copy link
Member

aledbf commented Aug 25, 2019

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 25, 2019
@aledbf
Copy link
Member

aledbf commented Aug 25, 2019

@zerda thanks!

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: aledbf, zerda

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 25, 2019
@k8s-ci-robot k8s-ci-robot merged commit f0e71cf into kubernetes:master Aug 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add-headers does not seem to work
4 participants