K8s dashboard install fails under pybox VM instalallation method

Bug #2027722 reported by Mason Schmitt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Low
Bruno Drugowick Muniz

Bug Description

Brief Description
-----------------
When using the pybox installation method, the installation of the k8s dashboard fails.

Severity
--------
Provide the severity of the defect.
<Critical: System/Feature is not usable due to the defect>

Steps to Reproduce
------------------
Follow the pybox installation process https://opendev.org/starlingx/virtual-deployment/src/branch/master/virtualbox/pybox/README.md

When the installation process reaches the k8s dashboard installation step, it fails.

Expected Behavior
------------------
k8s dashboard should successfully install.

Actual Behavior
----------------
k8s dashboard is not installed.

Reproducibility
---------------
The issue is 100% reproducible.

System Configuration
--------------------
AIO-SX in a VirtualBox VM
Host OS - Ubuntu 22.04
VirtualBox - 6.38 installed from Ubuntu repo using apt

Timestamp/Logs
--------------

2023-07-11 21:52:47,778: sending incremental file list
2023-07-11 21:52:47,783: admin-login.yaml
2023-07-11 21:52:47,783: dashboard-values.yaml
2023-07-11 21:52:47,826:
2023-07-11 21:52:47,826: sent 916 bytes received 54 bytes 1,940.00 bytes/sec
2023-07-11 21:52:47,826: total size is 724 speedup is 0.75
2023-07-11 21:52:47,827: ###### Adding port-forward rule for kubernetes dashboard ######
2023-07-11 21:52:47,827: Creating port-forwarding rule to: StarlingX-kubernetes-dasboard:tcp:[]:32000:[10.10.10.3]:32000
2023-07-11 21:52:47,876: ###### Installing Kubernetes dashboard ######
2023-07-11 21:52:47,876: #### Running command over ssh: 'source /etc/platform/openrc && source /etc/profile && cp /etc/kubernetes/admin.conf ~/.kube/config && helm repo update; helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/ && helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard -f dashboard-values.yaml'
2023-07-11 21:52:48,889: |Hang tight while we grab the latest from your chart repositories...
2023-07-11 21:52:48,890: |...Successfully got an update from the "starlingx" chart repository
2023-07-11 21:52:48,890: |...Successfully got an update from the "stx-platform" chart repository
2023-07-11 21:52:48,890: |Update Complete. ⎈ Happy Helming!⎈
2023-07-11 21:52:49,110: |"kubernetes-dashboard" has been added to your repositories
2023-07-11 21:52:51,392: |Error: rendered manifests contain a resource that already exists. Unable to continue with install: CustomResourceDefinition "certificaterequests.cert-manager.io" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "kubernetes-dashboard": current value is "cm-cert-manager"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "default": current value is "cert-manager"
2023-07-11 21:52:51,394: |
2023-07-11 21:52:51,395: Return code: 1
2023-07-11 21:52:51,395: Installation of Kubernetes dashboard failed, expecting exit code of 0 but got 1.
2023-07-11 21:52:51,395: INSTALL FAILED, ABORTING!
2023-07-11 21:52:51,395: ===================== Metrics ====================
2023-07-11 21:52:51,395: Time in stage 'create-lab': 16.42s
2023-07-11 21:52:51,395: Time in stage 'install-controller-0': 6m 11.53s
2023-07-11 21:52:51,395: Time in stage 'config-controller': 48m 8.19s
2023-07-11 21:52:51,395: Time in stage 'rsync-config': 52.36s
2023-07-11 21:52:51,395: Time in stage 'lab-setup1': 1m 4.13s
2023-07-11 21:52:51,395: Time in stage 'unlock-controller-0': 7m 40.35s
2023-07-11 21:52:51,395: Time in stage 'enable-kubernetes': 3.90s
2023-07-11 21:52:51,395: Total time: 1h 4m 16.88s
2023-07-11 21:52:51,395: ==================================================
2023-07-11 21:52:51,395: Exception details: Installation of Kubernetes dashboard failed, expecting exit code of 0 but got 1.
Traceback (most recent call last):
  File "/home/mason/virtual-deployment/virtualbox/pybox/./install_vbox.py", line 2087, in <module>
    STAGE_CALLBACKS[stage][CALLBACK]()
  File "/home/mason/virtual-deployment/virtualbox/pybox/./install_vbox.py", line 884, in func_wrapper
    return func(*args, **kwargs)
  File "/home/mason/virtual-deployment/virtualbox/pybox/./install_vbox.py", line 1447, in stage_enable_kubernetes
    raise Exception(msg)

Changed in starlingx:
assignee: nobody → Bruno Drugowick Muniz (brunomuniz)
tags: added: virtual-deployment
Revision history for this message
Bruno Drugowick Muniz (brunomuniz) wrote :

Thanks for the report.

It looks like the latest version of the Kubernetes Dashboard has a breaking change (see https://github.com/kubernetes/dashboard/releases/tag/v3.0.0-alpha0). There's the following section there:

> "Kubernetes Dashboard now requires cert-manager and nginx-ingress-controller to work properly. Please make sure you have them installed in your cluster if you want to use a manifest-based installation path. The helm-based approach can install all required dependencies automatically for you if needed."

On their artifacthub.io it says it's possible to ignore cert-manager and nginx if you already have them installed, which allows us to install the latest version, but I'm making sure there are no other impacts (or improvements that we should consider).

So I might lock the versions to get this fixed and open a Task for the improvements if no one objects to that.

Revision history for this message
Bruno Drugowick Muniz (brunomuniz) wrote :

For information, the Chart Version that corresponds to the App Version 2.7.0 (the last version before the breaking change in 3.0.0) is 6.0.8.

So adding a `--version 6.0.8` to the `helm install ...` or `helm upgrade -i ...` command works around the issue.

Changed in starlingx:
status: New → In Progress
Changed in starlingx:
status: In Progress → Fix Released
Ghada Khalil (gkhalil)
Changed in starlingx:
importance: Undecided → Low
Ghada Khalil (gkhalil)
tags: added: stx.virtual-deployment
removed: virtual-deployment
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.