-
Notifications
You must be signed in to change notification settings - Fork 0
(D) VCF Patterns
All patterns below require vSphere 8. ESXi 8.0 Update 2 requires CPU processors that support XSAVE instruction. Its important to note that if you've previously used the allowLegacyCPU=true
hack in your lab to bypass the "CPU Support Error", it will no longer work with ESXi 8.x. The VCF Patterns below require upgraded hardware to support the nested ESXi 8.x hypervisors.
Development and testing of the patterns below leverage the following physical lab equipment:
- Lenovo ThinkSystem SR250 V2
- 4 CPUs x Intel(R) Xeon(R) E-2334 CPI @ 3.40GHz
- 127.92 GB of Memory
- 800 GB of Storage
This specific server configuration is not required to complete the lab below. For details please refer to the VMware HCL.
The patterns below contain tools and techniques to assist with VCF 5.x prerequisites.
Navigate to the vcf repo.
cd /usr/local/e2e-patterns/vcf
Copy the completed VCF 5 JSON Prerequisites file (naming convention vcf.json) to the /vcf repo:
root@photon-machine [ /usr/local/e2e-patterns/vcf ]# ls -l
-rw-r----- 1 root root 1680 Nov 10 01:26 e2e-vcf-tool-get-vlans.py
-rw-r----- 1 root root 8022 Nov 10 01:27 vcf.json
Run the get-vlans tool
python3 e2e-vcf-tool-get-vlans.py
Sample output:
VLANs:
MANAGEMENT
Subnet: 192.168.10.0/24
VLAN ID: 1500
MTU: 9000
Gateway: 192.168.10.1
VSAN
Subnet: 192.168.11.0/24
VLAN ID: 1
MTU: 9000
Gateway: 192.168.11.1
VMOTION
Subnet: 192.168.13.0/24
VLAN ID: 3
MTU: 9000
Gateway: 192.168.13.1
TEP
Transport VLAN ID: 2
CIDR: 192.168.12.0/24
Gateway: 192.168.12.1
Navigate to the vcf repo.
cd /usr/local/e2e-patterns/vcf
Copy the completed VCF 5 JSON Prerequisites file (naming convention vcf.json) to the /vcf repo:
root@photon-machine [ /usr/local/e2e-patterns/vcf ]# ls -l
-rw-r----- 1 root root 2032 Nov 9 22:33 e2e-vcf-tool-get-dns.py
-rw-r----- 1 root root 8022 Nov 9 22:37 vcf.json
Run the get-dns tool
python3 e2e-vcf-tool-get-dns.py
Sample output:
DNS Entries for Management Workload Domain:
DNS Servers: 172.16.0.9, 8.8.8.8
DNS Zone: e2e.local
SDDC Manager: e2e-vcf01 192.168.10.4 (Subnet Mask: 255.255.255.0)
NSX Manager 01: e2e-m01-nsx01a 192.168.10.31
NSX Manager 02: e2e-m01-nsx01b 192.168.10.32
NSX Manager 03: e2e-m01-nsx01c 192.168.10.33
NSX Manager VIP: e2e-m01-nsx01 192.168.10.30
vCenter: e2e-m01-vc01 192.168.10.6
ESXi Host 01: e2e-m01-esx01 192.168.10.100 (Gateway: 192.168.10.1, Subnet Mask: 255.255.255.0)
ESXi Host 02: e2e-m01-esx02 192.168.10.101 (Gateway: 192.168.10.1, Subnet Mask: 255.255.255.0)
ESXi Host 03: e2e-m01-esx03 192.168.10.102 (Gateway: 192.168.10.1, Subnet Mask: 255.255.255.0)
ESXi Host 04: e2e-m01-esx04 192.168.10.103 (Gateway: 192.168.10.1, Subnet Mask: 255.255.255.0)
Navigate to the vcf repo.
cd /usr/local/e2e-patterns/vcf
Copy the completed VCF 5 JSON Prerequisites file (naming convention vcf.json) to the /vcf repo:
root@photon-machine [ /usr/local/e2e-patterns/vcf ]# ls -l
-rw-r----- 1 root root 1423 Jan 23 18:06 e2e-vcf-tool-get-passwords.py
-rw-r----- 1 root root 1423 Jan 23 18:06 vcf.json
Run the get-passwords tool
python3 e2e-vcf-tool-get-passwords.py
Sample output:
Passwords for Management Workload Domain:
SDDC Manager: VMware1!VMware1!
Root NSX Manager Password: VMware1!VMware1!
NSXT Admin Password: VMware1!VMware1!
NSXT Audit Password: VMware1!VMware1!
vCenter: VMware1!VMware1!
ESXi Host 01: VMware1!
ESXi Host 02: VMware1!
ESXi Host 03: VMware1!
ESXi Host 04: VMware1!
Navigate to the vcf repo.
cd /usr/local/e2e-patterns/vcf
Copy the completed VCF 5 JSON Prerequisites file (naming convention vcf.json) to the /vcf repo:
root@photon-machine [ /usr/local/e2e-patterns/vcf ]# ls -l
-rw-r----- 1 root root 1477 Jan 23 21:03 e2e-vcf-tool-get-licenses.py
-rw-r----- 1 root root 7941 Jan 23 21:03 vcf.json
Run the get-licenses tool
python3 e2e-vcf-tool-get-licenses.py
Sample output:
VCF License Keys:
ESXi: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
vSAN: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
vCenter: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
NSX: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Navigate to the vcf repo.
cd /usr/local/e2e-patterns/vcf
Copy the completed VCF 5 JSON Prerequisites file (naming convention vcf.json) to the /vcf repo:
root@photon-machine [ /usr/local/e2e-patterns/vcf ]# ls -l
-rw-r----- 1 root root 2032 Nov 9 22:33 e2e-vcf-tool-create-tf-varfile-from-json.py
-rw-r----- 1 root root 8022 Nov 9 22:37 vcf.json
Run the create-tf-varfile-from-json tool
python3 e2e-vcf-tool-create-tf-varfile-from-json.py
A terraform varfile is created.
root@photon-machine [ /usr/local/e2e-patterns/vcf ]# ls -l
-rw-r----- 1 root root 2825 Nov 15 13:52 e2e-vcf-tool-create-tf-varfile-from-json.py
-rw-r----- 1 root root 8017 Nov 15 13:53 vcf.json
-rw-r----- 1 root root 1295 Nov 15 13:53 vcf_var.tf
Sample view
of the vcf_var.tf file:
# vcf.tfvars file
variable "cloud_builder_username" { default = "admin" }
variable "cloud_builder_password" { default = "xxxxxx" }
variable "cloud_builder_host" { default = "x.x.x.x" }
variable "sddc_manager_root_user_password" {default = "xxxxxx"}
variable "sddc_manager_secondary_user_password" {default = "xxxxxx"}
variable "vcenter_root_password" { default = "xxxxxx"}
variable "nsx_manager_admin_password" { default = "xxxxxx"}
variable "nsx_manager_audit_password" { default = "xxxxxx" }
variable "nsx_manager_root_password" { default = "xxxxxx" }
variable "esx_host1_pass" { default = "xxxxxx" }
variable "esx_host2_pass" { default = "xxxxxx" }
variable "esx_host3_pass" { default = "xxxxxx" }
variable "esx_host4_pass" { default = "xxxxxx" }
variable "nsx_license_key" { default = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" }
variable "nsx_license_key" { default = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" }
variable "vcenter_license_key" { default = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" }
variable "vsan_license_key" { default = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" }
variable "esx_license_key" { default = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Prerequisites:
- Pattern C-01D
- Nested ESXi ova must be uploaded to
/usr/local/drop
repository of the controller where this script is being run. This can be either the Master Controller or a Node Controller.
Step 1: Navigate to the vcf repo.
cd /usr/local/e2e-patterns/vcf
Step 2: Run the build script using the following parameters (VMNAME = name of virtual machine running ESXi, NUMCPU = CPU, MEMORY_MB = memory in MB):
python3 build-e2ep-nested-esxi8_dhcp.py VMNAME NUMCPU MEMORY_MB
Example:
python3 build-e2ep-nested-esxi8_dhcp.py esxi-test-01 8 32768
Prerequisites:
- Pattern D-01
- Nested ESXi ova must be uploaded to
/usr/local/drop
repository of the controller where this script is being run. This can be either the Master Controller or a Node Controller.
Step 1: Navigate to the vcf repo.
cd /usr/local/e2e-patterns/vcf
Step 2: Run the build script using the following parameters (VMNAME = name of virtual machine running ESXi, DNS = comma separated NO SPACES):
python3 build-e2ep-nested-esxi-custom.py VMNAME NUMCPU MEMORY_MB HOSTNAME IPADDRESS NETMASK GATEWAY DNS DOMAIN NTP PASSWORD
Example:
python3 build-e2ep-nested-esxi-custom.py esxi-test-02 8 32768 esxi-test-02 172.16.0.29 255.255.255.0 172.16.0.1 172.16.0.9,8.8.8.8 e2e.local pool.ntp.org VMware1!
Prerequisites:
Step 1: Navigate to the vcf repo.
cd /usr/local/e2e-patterns/vcf
Step 2: Run the build script with the following parameters:
python3 build-e2ep-expand-nested-esxi8-capacity.py VMNAME CAPACITYGB
Example:
python3 build-e2ep-expand-nested-esxi8-capacity.py e2ep-008 100
Prerequisites:
Step 1: Navigate to the vcf repo.
cd /usr/local/e2e-patterns/vcf
Step 2: Run the build script:
python3 e2ep-mc-build-management-hosts.py build-e2ep-vcf5-managment-hosts.py
Warning This Pattern is actively being developed.
Prerequisites:
- Pattern D-02
Prerequisites:
- Pattern C-01D
- Cloud Builder 5.1 ova must be downloaded from VMware Customer Connect and uploaded to
/usr/local/drop
of the Node Controller.
Step 1: Navigate to the vcf repo.
cd /usr/local/e2e-patterns/vcf
Step 2: Run the build script:
python3 e2ep-mc-build-cloudbuilder.py build-e2ep-cloudbuilder.py
Prerequisites:
Step 1: Navigate to the vcsa repo.
cd /usr/local/e2e-patterns/vcsa/
Step 2: Run the build script using sample parameters below:
python3 python3 build-e2ep-snapshot-vm.py e2ep-006 fresh-cb
Warning This Pattern is actively being developed.