Update Nginx defaultbackend image version

Bug #1980355 reported by Karla Felix
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Low
Karla Felix

Bug Description

Description

Brief Description

The ingress-nginx helm chart used by nginx-ingress-controller app has diverged from upstream.

Upstream uses image k8s.gcr.io/defaultbackend-amd64:1.5 while we override it to k8s.gcr.io/defaultbackend:1.4.

After a analysis of git log, it seems like there is no explicit intent for this override to happen.
We do this override to k8s.gcr.io/defaultbackend:1.4 since first commit and have not updated it since then in our recent up-version activities.

This is not ideal and we would like to be as current as possible with upstream.

This story tracks testing and the code change to fix that.

Severity

Minor

Steps to Reproduce

Install current ISO and run the ansible bootstrap playbook.

Then take a look at the installed defaultbackend image:

controller-0:~$ crictl images | grep defaultbackend
registry.local:9001/k8s.gcr.io/defaultbackend 1.4 846921f0fe0e5 1.85MB

Expected Behavior

controller-0:~$ crictl images | grep defaultbackend
registry.local:9001/k8s.gcr.io/defaultbackend-amd64 1.5 b5af743e59849 2MB

Actual Behavior

controller-0:~$ crictl images | grep defaultbackend
registry.local:9001/k8s.gcr.io/defaultbackend 1.4 846921f0fe0e5 1.85MB

Reproducibility

100%

Alarms

NA
Test Activity

Developer Testing

Workaround

[sysadmin@controller-0 ~(keystone_admin)]$ sudo docker pull k8s.gcr.io/defaultbackend-amd64:1.5
[sysadmin@controller-0 ~(keystone_admin)]$ sudo docker image tag b5af743e5984 registry.local:9001/k8s.gcr.io/defaultbackend:1.5
[sysadmin@controller-0 ~(keystone_admin)]$ sudo docker login registry.local:9001
[sysadmin@controller-0 ~(keystone_admin)]$ sudo docker push registry.local:9001/k8s.gcr.io/defaultbackend:1.5

[sysadmin@controller-0 ~(keystone_admin)]$ cat <<EOF> defaultbackend.yml
defaultBackend:
  enabled: true
  image:
    registry: k8s.gcr.io
    image: defaultbackend-amd64
    tag: "1.5"

EOF

[sysadmin@controller-0 ~(keystone_admin)]$ system helm-override-update nginx-ingress-controller ingress-nginx kube-system --values defaultbackend.yml
[sysadmin@controller-0 ~(keystone_admin)]$ system application-apply nginx-ingress-controller
[sysadmin@controller-0 ~(keystone_admin)]$ kubectl get po -A | grep nginx
kube-system ic-nginx-ingress-ingress-nginx-controller-klx4k 1/1 Running 0 8m8s
kube-system ic-nginx-ingress-ingress-nginx-defaultbackend-567bbbd48-qgqzf 1/1 Running 0 8m22s
[sysadmin@controller-0 ~(keystone_admin)]$

Karla Felix (kkarolin)
Changed in starlingx:
assignee: nobody → Karla Felix (kkarolin)
Changed in starlingx:
status: New → In Progress
Ghada Khalil (gkhalil)
Changed in starlingx:
importance: Undecided → Low
tags: added: stx.apps
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ansible-playbooks (master)

Reviewed: https://review.opendev.org/c/starlingx/ansible-playbooks/+/848165
Committed: https://opendev.org/starlingx/ansible-playbooks/commit/163469bb3008acb401c5ec6959de11a2dc67f800
Submitter: "Zuul (22348)"
Branch: master

commit 163469bb3008acb401c5ec6959de11a2dc67f800
Author: Karla Felix <email address hidden>
Date: Wed Jun 29 14:12:13 2022 -0300

    Update Nginx defaultbackend version

    Updating Nginx's defaultbackend version from 1.4 => 1.5 to align with
    the upstream version.

    Test Plan:

    PASS: Done Helm override to enable defaultbackend and verify
          defaultbackend pod is running after app re-apply.
    PASS: Check defaultbackend pod is using the right image version.
    PASS: Simple functional test creating ingress resources and
          testing defaultbackend with curl commands.
    PASS: Verified system bootstrap with k8s v1.22.5, v1.21.8, v1.23.1.

    Closes-bug: 1980355
    Change-Id: Ie23c811d8788feda563336af9a7c6a638d4ea862
    Signed-off-by: Karla Felix <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nginx-ingress-controller-armada-app (master)

Reviewed: https://review.opendev.org/c/starlingx/nginx-ingress-controller-armada-app/+/847794
Committed: https://opendev.org/starlingx/nginx-ingress-controller-armada-app/commit/b1a69f2e7385148346e5a4a341decfdd5b64eee0
Submitter: "Zuul (22348)"
Branch: master

commit b1a69f2e7385148346e5a4a341decfdd5b64eee0
Author: Karla Felix <email address hidden>
Date: Mon Jun 27 11:30:23 2022 -0300

    Update Nginx defaultbackend version

    Updating Nginx's defaultbackend image version from defaultbackend:1.4 to
    defaultbackend-amd64:1.5 to align with the upstream version.

    Test Plan:

    PASS: Done Helm override to enable defaultbackend and verify
          defaultbackend pod is running after app re-apply.
    PASS: Check defaultbackend-amd64:1.5 version pod is using the right
          image version.
    PASS: Simple functional test creating ingress resources and
          to test the defaultbackend and nginx with curl commands.
    PASS: Fresh install and verified nginx pods are running and
          defaultbackend-amd64:1.5 is the image being used in default
          backend.

    Closes-bug: 1980355
    Depends-On: https://review.opendev.org/c/starlingx/ansible-playbooks/+/848165
    Change-Id: Ie23c811d8788feda563336af9a7c6a638d4ea862
    Signed-off-by: Karla Felix <email address hidden>

Ghada Khalil (gkhalil)
tags: added: stx.7.0
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.