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

[TEST] Harvester UI extension on air-gapped repository for Rancher v2.10.1 #1748

Open
TachunLin opened this issue Dec 27, 2024 · 3 comments
Open

Comments

@TachunLin
Copy link
Contributor

TachunLin commented Dec 27, 2024

What's the test to develop? Please describe

Continue the test activity from #1721

Many user have the requirement to install Harvester UI extension under the airgapped environment.

Thus we need to ensure Rancher v2.10.1 can install Harvester UI extension from airgapped repository.
And confirm the basic virtualization management functionalities works the same with the regular connection

Prerequisite and dependency of test

Any prerequisite environment and pre-condition required for this test.
Provide test case dependency here if any.

Describe the items of the test development (DoD, definition of done) you'd like

Test matrix

Rancher version Harvester version
v2.10.1 v1.4.0
v2.10.1 v1.3.2

Scope of Testing

  1. UI extension enablement:

    • Manually install UI extension from Extension
    • Uninstall UI extension
    • Import Harvester to Rancher
  2. Virtual Management in Rancher:

    • Dashboard
    • Support
    • Dev Extension
    • Host
    • VM
    • Volumes
    • Images
    • Networks
    • Backup & Snapshot
    • Monitoring & Logging
    • Advanced Features
    • Project/Namespaces module
    • RBAC
    • Rancher Integration
      • Import Harvester
      • Cloud credentials
      • RKE2 guest creation
        • Node driver
        • Import existing (if time available)
        • Custom cluster (if time available)
      • RKE1 guest
        • Node driver
  3. Upgrade Rancher

    • v2.9.4 -> v2.10.1-alpha1
    • UI extension enablement
    • Access Harvester and access existing vm resources
@TachunLin
Copy link
Contributor Author

TachunLin commented Dec 27, 2024

Test Result: Install UI extension on air-gapped repository

$\color{green}{\textsf{PASS}}$ Manually install UI extension from air-gapped repository $~~$
  1. After we manually add the local repository built in the air-gapped environment.

image

image

  1. We can install the Harvester UI extension v1.0.2 installed on the extension page

image

  1. Then we can see the virtualization management page well

image

  1. Mike found the issue while we install from the third-party repository, display the
The Harvester UI Extension repository is missing
 - https://github.com/harvester/harvester/issues/7215
$\color{blue}{\textsf{Ongoing}}$ Uninstall UI extension $~~$
$\color{green}{\textsf{PASS}}$ Import Harvester v1.4.0 to Rancher $~~$
  1. Can generate registration url

image

  1. Can correctly import Harvester in Rancher

image

  1. Can access Harvester from Rancher virtualization management page

image

$\color{green}{\textsf{PASS}}$ Import Harvester v1.3.2 to Rancher $~~$
  1. Can correctly import Harvester in Rancher

image

  1. Can access Harvester from Rancher virtualization management page

image

Test Information

  • Test Environment: Single and Three nodes kvm machines
  • Harvester version: v1.4.0 and v1.3.2
  • Rancher version: v2.10.1
  • UI extension version: v1.0.2

Verify Steps

Manually install UI extension from Extension
Uninstall UI extension
  1. Open Extension page
  2. Check the installed tab
  3. Click the uninstall button on the Harvester UI extension
  4. Check can uninstall the UI extension
  5. Check can install the UI extension again
Import Harvester to Rancher
  1. Click import existing on the virtualization management page
  2. Check can display the cluster registration url
  3. Copy the registration url
  4. Paste the url to the Harvester cluster registration setting
  5. Check can correctly import Harvester to Rancher in Active state

@TachunLin
Copy link
Contributor Author

TachunLin commented Dec 27, 2024

Test Result: Virtual Management Harvester v1.4.0 in Rancher

$\color{green}{\textsf{PASS}}$ Dashboard page $~~$
  • ✅ UI layout and string content

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

  • ✅ Enable the rancher-monitoring addons

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

  • ✅ Well display cluster and virtual machine metrics chart

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

    image

    image

$\color{green}{\textsf{PASS}}$ Support page $~~$
  • ✅ UI layout and string content

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

  • ✅ Access Embedded Rancher UI

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

  • ✅ Access Embedded Longhorn UI

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

  • ✅ Generate Support bundle

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

  • ✅ Download KubeConfig

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

  • ✅ Links connectivity

    $\color{green}{\textsf{PASS}}$ Result $~~$
    1. ✅ Docs
    2. ✅ Forums
    3. ✅ Slack
    4. ✅ File an Issue
$\color{red}{\textsf{Failed}}$ Virtual machine module $~~$
  • ✅ Create VM

  • ✅ Start/Stop/Restart VM

  • ✅ Pause/Unpause VM

  • ✅ Soft reboot VM

  • ✅ Take VM backup

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

  • ✅ Clone VM

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

  • ✅ Delete VM

  • ✅ Download yaml

  • ✅ View in API

  • ✅ Take VM Snapshot

  • ✅ View/Download/Clear VM logs

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

  • ✅ Create Schedule

  • ✅ Add Volume

  • ✅ Edit / Update config

  • ✅ Open WebVNC

    $\color{green}{\textsf{PASS}}$ Result $~~$

    image

  • ❌ Open in Serial Console

    $\color{red}{\textsf{Failed}}$ Unable to display content on serial console $~~$

    Issue: [BUG] Unable to display vm serial console window content on Rancher managed Harvester  harvester#7220

    image

  • ✅ Add volume from edit vm config

  • ✅ Add network from edit vm config

  • ✅ Add ssh key

$\color{red}{\textsf{Failed}}$ Image module $~~$
$\color{green}{\textsf{PASS}}$ Volume module $~~$
  • ✅ Volume page UI and layout
  • ✅ Create volume from source
  • ✅ Create volume from image
  • ✅ Delete volume
  • ✅ Export volume to image
  • ✅ Clone volume
  • ✅ Take volume snapshot
  • ✅ View in API
  • ✅ Download yaml
  • ✅ Edit config / increase size / add description
  • ✅ Edit yaml
$\color{green}{\textsf{PASS}}$ Backup & Snapshot module $~~$
  • ✅ Backup & Snapshot UI and layout
  • ✅ Virtual Machine Schedules - UI and layout
  • ✅ Virtual Machine Schedules - Suspend and Resume
  • ✅ Virtual Machine Schedules - Create Schedule (backup, snapshot)
  • ✅ Virtual Machine Schedules - Delete Schedule
  • ✅ Virtual Machine Schedules - Restore new from scheduled backup and snapshot
  • ✅ Virtual Machine Schedules - Edit config - Update Cron Schedule
  • ✅ Virtual Machine Schedules - Edit yaml
  • ✅ Virtual Machine Backup - Restore backup to new
  • ✅ Virtual Machine Backup - Replace backup to existing
  • ✅ Virtual Machine Backup - Delete VM backup
  • ✅ Virtual Machine Snapshot - Restore Snapshot to new
  • ✅ Virtual Machine Snapshot - Replace Snapshot to existing
  • ✅ Virtual Machine Snapshot - Delete VM snapshot
  • ✅ Volume Snapshot - Restore snapshot to new volume
  • ✅ Volume Snapshot - Delete volume snapshot
$\color{green}{\textsf{PASS}}$ Networks module $~~$
  • ✅ Networks UI and layout

  • ✅ Create new cluster network

  • ✅ Delete cluster network

  • ✅ Clone cluster network

  • ✅ Create new virtual machine network

  • ✅ Delete virtual machine network

  • ✅ Clone virtual machine network

  • ✅ Create new Load Balancer

  • ✅ Delete new Load Balancer

  • ✅ Create new IP Pool

  • ✅ Delete new IP Pool

$\color{red}{\textsf{Faild}}$ Monitoring and Logging $~~$
  • ✅ Monitoring and Logging UI and layout

  • ✅ Monitoring - Alert Manager Configuration

  • ✅ Monitoring - Create alert manager configuration

  • ✅ Monitoring - Clone alert manager configuration

  • ✅ Monitoring - Delete alert manager configuration

  • ✅ Monitoring - Edit alert manager configuration

  • ✅ Logging - Create Outputs

  • ✅ Logging - Clone Outputs

  • ❌ Logging - Edit Outputs

    $\color{red}{\textsf{Failed}}$ After add label, image display 0% progress $~~$

    Issue: [BUG] Change Outputs provider from Amazon Elasticsearch to Elasticsearch can't taken effect  harvester#7310

    vokoscreenNG-2025-01-06_23-19-07.mp4

    image

  • ✅ Logging - Create Cluster Outputs

  • ✅ Logging - Clone Cluster Outputs

  • ❌ Logging - Edit Cluster Outputs

    $\color{red}{\textsf{Failed}}$ After add label, image display 0% progress $~~$

    Issue: [BUG] Change Outputs provider from Amazon Elasticsearch to Elasticsearch can't taken effect  harvester#7310

    image

    image

  • ✅ Logging - Delete ClusterOutputs

  • ✅ Logging - Create Flow

  • ✅ Logging - Clone Flow

  • ✅ Logging - Edit Flow

  • ✅ Logging - Delete Flow

  • ✅ Logging - Create Cluster Flow

  • ✅ Logging - Clone Cluster Flow

  • ✅ Logging - Edit Cluster Flow

  • ✅ Logging - Delete Cluster Flow

$\color{red}{\textsf{Failed}}$ Advanced Features $~~$
  • ❌ Advanced - Create template

    $\color{red}{\textsf{Failed}}$ Failed to create template with failure $~~$

    Issue: [BUG] Failed to create vm template on Rancher managed Harvester harvester#7183

    image

  • ✅ Advanced - Create new template version/Create vm from template

  • ✅ Advanced - Create/Clone/Delete SSH keys

  • ✅ Advanced - Create/Clone/Edit/Delete cloud configuration template

  • ✅ Advanced - Create/Clone/Delete storage class

  • ✅ Advanced - Set default storage class

  • ✅ Advanced - SR-IOV Network Devices - UI and Layout

  • ✅ Advanced - PCI Devices - UI and Layout

  • ✅ Advanced - PCI Devices - Filter and Enable

  • ✅ Advanced - PCI Devices - Create from yaml

  • ✅ Advanced - SR-IOV GPU Devices - UI and Layout

  • ✅ Advanced - vGPU Devices - UI and Layout

  • ✅ Advanced - USB Devices - UI and Layout

  • ✅ Advanced - Addons - Enable all Add-ons

  • ✅ Advanced - Secrets - Create secrets

  • ✅ Advanced - Secrets - Delete secrets

  • ✅ Advanced - Secrets - Clone secrets

  • ✅ Advanced - Secrets - Update config

$\color{red}{\textsf{Failed}}$ Settings $~~$
  • ✅ Settings UI and layout

  • ✅ Check additional-ca

  • ✅ Check and update additional-guest-memory-overhead-ratio

  • ✅ Check and update auto-disk-provision-paths

  • ✅ Enable auto-rotate-rke2-certs

  • ✅ Set backup-target and test connection

  • ✅ Check containerd-registry

  • ✅ Check csi-driver-config

  • ✅ Check and update the default-vm-termination-grace-period-seconds

  • ✅ Check http proxy

  • ✅ kubeconfig-default-token-ttl-minutes

  • ✅ Check log-level

  • ✅ Check longhorn-v2-data-engine-enabled

  • ✅ Check ntp-servers

  • ✅ Check overcommit-config

  • ✅ Check release-download-url

  • ✅ Check server-version

  • ✅ Check ssl-certificates

  • ❌ Enable storage network

    $\color{red}{\textsf{Failed}}$ VLAN ID can't accept value $~~$

    Issue: [BUG] Failed to enable storage network on Rancher managed Harvester, can't accept value input on VLAN ID field harvester#7188

    When we input value in the VLAN ID field, it can't accept any value and always keep in blank

    image

  • ✅ Check and update support-bundle-expiration

  • ✅ Check and update support-bundle-image

  • ✅ Check and update support-bundle-namespaces

  • ✅ Check and update support-bundle-node-collection-timeout

  • ✅ Check and update support-bundle-timeout

  • ✅ Check upgrade-checker-enabled

  • ✅ Check upgrade-checker-url

  • ✅ Check and update vm-force-reset-policy

Test Information

  • Test Environment: Single and Three nodes kvm machines
  • Harvester version: v1.4.0
  • Rancher version: v2.10.1
  • UI extension version: v1.0.2

@TachunLin TachunLin self-assigned this Jan 2, 2025
@TachunLin
Copy link
Contributor Author

For the install UI extension on air-gapped repository:

We should also consider and define the following user behaviors:

  1. Should we support the automatic install UI extension from the air-gapped repository ? (Since the current steps based on manually install from Extension page)

  2. When user need to update the UI extension version, what would be the expected manner to follow (Support automatic or manual install or both)

We can track more details in the document issue
harvester/harvester#7258 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant