ESXi Arm Edition fix /bin/netdbg does not work

I tested ESXi Arm Edition, I found bug /bin/netdbg does not work – Could be fixed with :

export LANG=en_US.UTF-8
[root@localhost:~] netdbg
Traceback (most recent call last):
  File "/bin/netdbg", line 32, in <module>
    RootCommandGroup()
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
FileNotFoundError: [Errno 2] No such file or directory: 'locale'

[root@localhost:~] export LANG=en_US.UTF-8

[root@localhost:~] netdbg
Usage: netdbg [OPTIONS] COMMAND [ARGS]...

  Command line interface to access settings on ESX datapath

Options:
  --help  Show this message and exit.

Commands:
  vswitch

Question is support for:

netdbg vswitch mac-table …
netdbg vswitch mac-learning …

I suppose, that Native MAC Learning is NOT important on ARM, but could be usefull in futute for SmartNICS. Testing is here:

[root@localhost:~] netdbg vswitch instance list
DvsPortset-0 (vDS-LAB)           50 1b 4b 22 14 35 b5 ed-ec 99 d0 13 d2 ca 70 48
Total Ports:2560 Available:2552
  Client                         PortID          DVPortID                             MAC                  Uplink
  Management                     67108867                                             00:00:00:00:00:00    n/a
  vmnic128                       2214592516      26                                   00:00:00:00:00:00
  Shadow of vmnic128             67108869                                             00:50:56:xx:xx:17    n/a
  vmk0                           67108870        14                                   dc:a6:32:xx:xx:4f    vmnic128
  vmk1                           67108871        33                                   00:50:56:xx:xx:df    vmnic128
  vmk2                           67108872        58                                   00:50:56:xx:xx:fc    vmnic128
  ubuntu-01.eth0                 67108874        266                                  00:0c:29:xx:xx:ed    vmnic128

[root@localhost:~] netdbg vswitch mac-learning port get -p 266 -dvs _vmnet_ESXLAB1
Traceback (most recent call last):
  File "/bin/netdbg", line 32, in <module>
    RootCommandGroup()
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys-boot/lib64/python3.5/site-packages/click/core.py", line 722, in __call__
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys-boot/lib64/python3.5/site-packages/click/core.py", line 697, in main
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys-boot/lib64/python3.5/site-packages/click/core.py", line 1071, in invoke
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys-boot/lib64/python3.5/site-packages/click/core.py", line 1071, in invoke
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys-boot/lib64/python3.5/site-packages/click/core.py", line 1071, in invoke
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys-boot/lib64/python3.5/site-packages/click/core.py", line 1071, in invoke
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys-boot/lib64/python3.5/site-packages/click/core.py", line 898, in invoke
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys-boot/lib64/python3.5/site-packages/click/core.py", line 535, in invoke
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys-boot/lib64/python3.5/site-packages/click/decorators.py", line 17, in new_func
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys-boot/lib64/python3.5/site-packages/netdbg/vswitch/mac_learning.py", line 49, in MACLearningPortGetCommand
  File "/lib/python3.5/site-packages/net/lib/libvswitch.py", line 5188, in GetPortMACLearning
    raise DVPortFailure('Get MAC learning config', dvs_alias, dvport, status)
net.lib.exceptions.DVPortFailure: _vmnet_ESXLAB1:266:195887107::fail to Get MAC learning config failed

And similar error for:
[root@localhost:~] netdbg vswitch mac-table port get -p 266 -dvs _vmnet_ESXLAB1
-- cut
  File "/lib/python3.5/site-packages/net/lib/libvswitch.py", line 5452, in GetPortMACTable
    raise DVPortFailure('Get MAC table', dvs_alias, dvport, result[0])
net.lib.exceptions.DVPortFailure: _vmnet_ESXLAB1:266:195887107::fail to Get MAC table failed

vSphere Clustering Service (vCLS) Workaround for ESXi-Arm in vSphere 7.0 Update 1

The vSphere Clustering Service (vCLS) is a new capability that is introduced in the vSphere 7 Update 1 release. The issue is that the vCLS VMs are x86 and can not be deployed to an ESXi-Arm Cluster as the CPU architecture is not supported. But We could disable it according documentation:

Putting a Cluster in Retreat Mode

This task explains how to put a cluster in retreat mode.

Procedure

  • Login to the vSphere Client.
  • Navigate to the cluster on which vCLS must be disabled.
  • Copy the cluster domain ID from the URL of the browser. It should be similar to domain-c(number).
  • Navigate to the vCenter Server Configure tab.
  • Under Advanced Settings, click the Edit Settings button.
  • Add new key “config.vcls.clusters.domain-c841.enabled” use the domain ID copied in previous step.
  • For the cluster with the domain ID, set the Value to False.
Check new key “config.vcls.clusters.domain-c841.enabled” – Flase
  • Click Save.

ESXi on ARM

ESXi on ARM was released. Is it possible download from Flings ESXi Arm Edition.

Instalation Fling on Raspberry Pi 4

Preparation

Raspberry PI EEPROM update

Dowload Raspberry Pi OS from https://www.raspberrypi.org/downloads/ and update EEPRON

sudo rpi-eeprom-update -a

Create and setup UEFI on SD card

md SDcard
7z.exe x firmware-master.zip firmware-master\boot\*
xcopy firmware-master\boot\* SDcard\*  /E /H /C /I /Y

del SDcard\kernel*.img

7z.exe x RPi4_UEFI_Firmware_v1.20.zip -oSDcard\* -y
  • For Raspberry PI 4GB only: Append the config.txt file on the SD Card and append gpu_mem=16:
  • Copy directory SDcard to root directory on SD card
  • Boot Raspberry Pi from SD card

UEFI firmware configuration

  • Disable 3GiB memory limit
    • Device Manager / Raspberry Pi Config / Advanced Config / Limit RAM to 3 GB
    • The Raspberry Pi 4 UEFI is configured with a default limit of 3GiB of memory for OS compatibility purposes. It is neccesary to disable it.
  • Console Preference Selection
    • Device Manager / Raspberry Pi Config / Device Manager / Console Prefence Selection / Display Configuration
      • Virtual 800×600 – enable it
      • Virtual 1024×768 – enable it

Install ESXi-Arm

  • Basic instalation ESXi
    • Enable ssh
    • Setup ntp – IMPORTANT make sure that host has clock synchronized
  • Add ESXi ARM host to vCenter
  • Enabling vMotion
  • Create a VM – example Ubuntu for ARM

Known issues

  • JUMBO frame MTU – The ESX driver for Pi4’s NIC on the SoC (genet) currently does not support jumbo frames.
  • Native MAC Learning is not supported ???
  • /bin/netdbg does not work – Could be fixed with
    • https://flings.vmware.com/esxi-arm-edition/bugs/1113
[root@localhost:~] netdbg
Traceback (most recent call last):
  File "/bin/netdbg", line 32, in <module>
    RootCommandGroup()
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
FileNotFoundError: [Errno 2] No such file or directory: 'locale'

[root@localhost:~] export LANG=en_US.UTF-8
[root@localhost:~] netdbg
Usage: netdbg [OPTIONS] COMMAND [ARGS]...

  Command line interface to access settings on ESX datapath

Options:
  --help  Show this message and exit.

Commands:
  vswitch

NSX-T on VDS

With NSXT 3.0, it is now possible to run NSXT directly on a VDS (the VDS version must be at least 7.0). Some usefull information are here:

Example scenarios illustrating the representation of an NSX-T segment in vCenter.

NSX-T with N-VDS

NSX-T with N-VDS

NSX-T on VDS 7.0

NSX-T on VDS

NSX-T on Multiple VDS 7.0

NSX-T on Multiple VDS

NSX-T on VDS 7.0 and N-VDS at the same time

NSX-T on VDS and N-VDS at the same time

Deploying Tanzu Kubernetes “guest” cluster in…

Deploying Tanzu Kubernetes “guest” cluster in vSphere with Tanzu

Deploying Tanzu Kubernetes “guest” cluster in…

In this final installment of my “vSphere with Tanzu” posts, we are going to look at how to create our very first Tanzu Kubernetes (TKG) guest cluster. In previous posts, we have compared vSphere with Tanzu to VCF with Tanzu, and covered the prerequisites. Then we looked at the steps involved in deploying the HA-Proxy to provide a load balancer service to vSphere with Tanzu. In my most recent post, we looked at the steps involved in enabling workload management. Now that all of that is in…Read More


VMware Social Media Advocacy

“A Digital Foundation for an Unpredictable World”

“A Digital Foundation for an Unpredictable World”

“A Digital Foundation for an Unpredictable World”

Pat Gelsinger, VMware CEO, explores the impact of technology in a time of disruption and uncertainty worldwide at VMworld 2020. Tap into the full conference experience — visionary keynotes, simulated labs, 900+ sessions and entertainment zone. Experience more at https://www.vmworld.com/en/index.html And read more about how businesses survive disruption – and why some thrive – at https://www.vmware.com/radius/business-disruption-vmworld-2020/?utm_source=youtube&utm_medium=ownedsocial&utm_campaign=digital_foundation-21Q3-corp-ww


VMware Social Media Advocacy

Introduction to vSphere Clustering Service (vCLS)

The vSphere Clustering Service (vCLS) is a new capability that is introduced in the vSphere 7 Update 1 release. It’s first release provides the foundation to work towards creating a decoupled and distributed control plane for clustering services in vSphere.

More information:

vSphere Cluster Services (vCLS)

Starting with vSphere 7.0 Update 1, vSphere Cluster Services (vCLS) is enabled by default and runs in all vSphere clusters. vCLS ensures that if vCenter Server becomes unavailable, cluster services remain available to maintain the resources and health of the workloads that run in the clusters. vCenter Server is still required in 7.0 update 1 to run DRS and HA.

vCLS uses agent virtual machines to maintain cluster services health. The vCLS agent virtual machines (vCLS VMs) are created when you add hosts to clusters. Up to three vCLS VMs are required to run in each vSphere cluster, distributed within a cluster. vCLS is also enabled on clusters which contain only one or two hosts. In these clusters the number of vCLS VMs is one and two.

How to? Retrieving Password for vCLS VMs

You can retrieve the password to login to the vCLS VMs. To ensure cluster services health, avoid accessing the vCLS VMs. This document is intended for explicit diagnostics on vCLS VMs.

Procedure

  1. Use SSH to login to the vCenter Server Appliance.
  2. Run the following python script:
    /usr/lib/vmware-wcp/decrypt_clustervm_pw.py
  3. Read the output for the password.
    pwd-script-output
    Read key from file
    Connected to PSQL
    PWD: (password displayed here)

Operations that might disrupt the healthy functioning of vCLS VMs:

  • Changing the power state of the vCLS VMs
  • Resource reconfiguration of the vCLS VMs such as changing CPU, Memory, Disk size, Disk placement
  • VM encryption
  • Triggering vMotion of the vCLS VMs
  • Changing the BIOS
  • Removing the vCLS VMs from the inventory
  • Deleting the vCLS VMs from disk
  • Enabling FT of vCLS VMs
  • Cloning vCLS VMs
  • Configuring PMem
  • Moving vCLS VM to a different folder
  • Renaming the vCLS VMs
  • Renaming the vCLS folders
  • Enabling DRS rules and overrides on vCLS VMs
  • Enabling HA admission control policy on vCLS VMs
  • Enabling HA overrides on vCLS VMs
  • Moving vCLS VMs to a resource pool
  • Recovering vCLS VMs from a snapshot