VM Pool Installation on VMware vCD

This document focuses on the use of VMWare Cloud Director as the VIM for EdgeXR VM Pool Deployment Model.

Scope and Constraints

  • Only cloud-native containerized workloads are currently supported; this includes docker and Kubernetes deployments.

  • Deployment of native virtual machines (VMs) is not supported.

  • Specialized device/GPU support is limited, and may require the EdgeXR DevOps team to assist in the deployment process.

  • The use of VIM level health checks and re-assignment based on machine policies is not supported.

  • EdgeXR only controls resource management within the scope of the EdgeXR platform; VIM Operators have control over resource management beyond the platform. However, all changes must be done in coordination with EdgeXR.

Platform and Pool VMs

The EdgeXR platform requires a dedicated instance to manage the deployment, communicate back to the EdgeXR services, and orchestrate workloads. The dedicated instance is separate from the Pool VMs; these instances provide the compute capability for workloads deployed to the cloudlet.

Operator Workflow

Step 1: Determine the correct version/format required.

Step 2: Download artifacts from the EdgeXR repository.

Step 3: Verify the SHA256 Checksums.

Step 4: Load the resources into the VCD Catalog

Step 5: Validate Network Configuration

Step 6: Provide deployment information to EdgeXR.

Step 7: Cloudlet Deployment (EdgeXR Responsibility)

Step 8: Handover Testing

Step 1: Determine versions

EdgeXR will provide you with the version number and format information for the artifacts you will require for your environment. Versioning will come in the form of a full URL for download:

For example, for a VCD deployment of v3.1.5, you will be provided with the following artifact paths for download:

https://artifactory.edgexr.org/artifactory/baseimages/vsphere-ovf-3.1.5/mobiledgex-v3.1.5-vsphere-disk-0.vmdk

https://artifactory.edgexr.org/artifactory/baseimages/vsphere-ovf-3.1.5/mobiledgex-v3.1.5-vsphere.ovf

Step 2: Download resources

EdgeXR provides the platform image in several formats:

IaaS / VIM

File Format/Type

Notes

OpenStack

qcow2

QEMU Copy on Write format.

VMWare

vmdk

Virtual Machine DisK Image

VMWare

ovf

XML file that contains metadata for the VM, Template, or App Template.

VMWare

mf

A manifest file containing all SHA1 checksums for all files in the VMWare deployment package.

EdgeXR will direct you to download the correct format for your environment. 

These files can be downloaded in one of two ways:

Directly from Artifactory GUI

You can use your console username/password to log into the EdgeXR Artifactory installation and download the artifacts using the web browser of your choice. The files are under the Base images folder and are further broken down by format/type.

Directories in Artifactory

From the CLI

The files can also be downloaded directly from the command line using cURL.

For example, the following commands would be provided for the download of the vSphere format of version 3.1.5 of the software: 

curl -u <CONSOLEUSER>:<CONSOLEPASS>  -O "https://artifactory.edgexr.org/artifactory/baseimages/vsphere-ovf-3.1.5/mobiledgex-v3.1.5-vsphere-disk-0.vmdk"
curl -u <CONSOLEUSER>:<CONSOLEPASS>  -O "https://artifactory.edgexr.org/artifactory/baseimages/vsphere-ovf-3.1.5/mobiledgex-v3.1.5-vsphere.ovf"

Step 3: Verify the SHA256

It is vital to ensure that the artifacts are not corrupted in the file transfer. Artifactory computes a SHA256 Checksum for each file it serves. You will need to generate the SHA256 checksum on the downloaded file and then compare it to the checksum in Artifactory.

Checksum in Artifactory

Computing the SHA256

The process of computing the SHA256 varies by platform; for Linux you can use the sha256sum utility (you may need to install this using your package manager):

$ sha256sum  mobiledgex-v3.1.5-vsphere.ovf
167fefcf151002e9f4b411c09d455d8b0d194c7adc3804fd0eb255109eff130f
mobiledgex-v3.1.5-vsphere.ovf

For macOS, you can use the sha2 package, which can be installed via Homebrew.

$ sha2 -256 mobiledgex-v3.1.5-vsphere.ovf
SHA-256 (./mobiledgex-v3.1.6.qcow2) = 167fefcf151002e9f4b411c09d455d8b0d194c7adc3804fd0eb255109eff130f

Under Windows, you can use the Get-FileHash commandlet in PowerShell to calculate the SHA256:

Powershell

If the SHA256 calculated locally does not match the value provided in Artifactory, delete the file and retry the download. If this still does not match, please contact EdgeXR support.

Step 4: Load resources to VCD

The specific steps required to load the VCD catalog resources will vary depending on the software's version and the user's permissions. The examples below should work for all software versions; however, the screenshots/names may not match up directly with newer versions.

VCD Workflow

  1. Connect to the VCD portal.

  2. Navigate to Libraries → App Templates

  3. Select Source and upload OVF and VMDK files downloaded in Step 2.

VCD portal
  1. Select Next.

  2. The Review Details option screen will display.

  3. Under Select vApp Template Name, select the catalog to which you are deploying the vAPP.

Select catalog
  1. Select Finish.

Upload and process template
  1. Wait for the template to complete uploading and processing.

If any errors are returned, please check your permissions. Most load failures are due to the user not having the correct permissions.

Notes:

  • Appropriate user permissions will be required to upload media and other resources to the Catalog. If your permissions do not allow you to upload, please see your VCD Administrator.

  • Resources can be supplied in either vApp Template or as a VMWare Virtual Machine. Please ensure you are importing the correct format.

  • On older versions of the VCD software, there is the possibility that the resources supplied are built using a newer/unsupported hardware version. If this happens, please contact EdgeXR support.

For additional information, please see the VMWare Cloud Directory documentation portal.

Provision virtual machines

Once the artifacts have been loaded into the catalog, the required virtual machines can be created for the installation process. At a minimum, the values provided below in the VM Configuration table should be met.

VM configuration

Resource

Value

vcpu

4

memory

16 Gb

disk

400 Gb

network

1GB

At a minimum, four VMs will be required per datacenter to fully standup the environment.

Assumptions

  • Operators will define the size of VMs within the VMPool based on our request and upload it to their data store.

  • Operators will host us as a tenant and offer standard RBAC methods to consume VMPool created in this process.

  • Operators will create required VMs and create a flat network binding across all VMs within a Pool and attach an IP address and name them.

  • Operators will assign specific VMs external access to the internet and create routes to ingress internal VMs within Pool and egress to external network internet or mobile network.

Step 5: Validate network configuration

All virtual machines created as part of this deployment will require full access to the full complement of deployed virtual machines.

please refer to our Firewall Requirement section for the network firewall, and security groups configuration needed.

Note:

  • All VMPool VMs, including those with internal-network access only, should have egress access to the internet.

  • All VMPool VMs must have their system time synchronized with the NTP server.

Step 6: Provide deployment information

The following should be provided for each VM that has been deployed.

  • Datacenter

  • VM Name

  • External IP

  • Internal IP

Step 7: Cloudlet deployment

The EdgeXR DevOps team will use the information above to deploy the cloudlet and confirm that it communicates with all necessary services and works correctly. During this process, EdgeXR requests that the operator has a defined contact point if there are any issues with the deployed VMs, network, firewall, or other problems.

Step 8: Handover testing

After completing the cloudlet deployment, the EdgeXR DevOps team will run through the deployment test process to validate the configuration. Once this is complete, the customer will deploy workloads to the cloudlet. Simultaneously, the EdgeXR support team monitors the deployment and management until both EdgeXR and the operator agree that the cloudlet is working correctly.