kubernetes cloud-init script fails when keystone is running on HTTP/2

Bug #1726755 reported by Yiu-Chung Lee
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Magnum
New
Undecided
Unassigned

Bug Description

In drivers/common/templates/kubernetes/fragments/make-cert.sh, there is a line

USER_TOKEN=`curl -k -s -i -X POST -H "$content_type" -d "$auth_json" $url \
    | grep X-Subject-Token | awk '{print $2}' | tr -d '[[:space:]]'`

The problem is when keystone is running on HTTP/2, all headers are returned as lowercase, which grep would fail. It should be changed to grep -i X-Subject-Token.

Same applies on drivers/common/templates/kubernetes/fragments/make-cert-client.sh, drivers/common/templates/swarm/fragments/make-cert.py, drivers/k8s_coreos_v1/templates/fragments/make-cert.yaml and drivers/k8s_coreos_v1/templates/fragments/make-cert-client.yaml.

Ref: https://tools.ietf.org/html/rfc7540
8.1.2. HTTP Header Fields
However, header field names MUST be converted to lowercase prior to their encoding in HTTP/2.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.