Category Archives: VMware

Nested VCF Lab – Error while creating NFS datastore

Whilst deploying my nested VCF environment for my home lab, I kept hitting the same issue over and over again, even when I rolled the environment back and redeployed it.

Error while creating NFS Datastore for host XXX.XXX.XXX.XXX

Looking into the debug log files on the Cloud Builder appliance found in the below location;

vcf-bringup-debug.log /var/log/vmware/vcf/bringup/

You can see basically the same error message, and not much help.

ERROR [c.v.e.s.o.model.error.ErrorFactory,pool-3-thread-7] [TP9EK1] VCF_HOST_CREATE_NFS_DATASTORE_FAILED

And the log ends with the below comments, I’ve left my Task ID numbers in, but obviously these are unique to my bring up;

DEBUG [c.v.e.s.o.c.ProcessingTaskSubscriber,pool-3-thread-7] Collected the following errors for task with name CreateNFSDatastoreOnHostsAction and ID 7f000001-6ed0-12cd-816e-d1f7a33f006f: [ExecutionError [errorCode=null, errorResponse=LocalizableErrorResponse(messageBundle=com.vmware.vcf.common.fsm.plugins.action.hostmessages)]]

DEBUG [c.v.e.s.o.c.ProcessingTaskSubscriber,pool-3-thread-19] Invoking task CreateNFSDatastoreOnHostsAction.UNDO Description: Mount Repository NFS Datastore on ESXi Hosts, Plugin: HostPlugin, ParamBuilder null, Input map: {hosts=SDDCManagerConfiguration____13__hosts, nasDatastoreName=SDDCManagerConfiguration____13__nasDatastoreName, nfsRepoDirPath=SDDCManagerConfiguration____13__nfsRepoDirPath, repoVMIp=SDDCManagerConfiguration____13__repoVMIp}, Id: 7f000001-6ed0-12cd-816e-d1f7a33f006e ...

DEBUG [c.v.e.s.o.c.c.ContractParamBuilder,pool-3-thread-19] Contract task Mount Repository NFS Datastore on ESXi Hosts input: {"hosts":[{"address":"","username":"root","password":"*****"},{"address":"","username":"root","password":"*****"},{"address":"","username":"root","password":"*****"},{"address":"","username":"root","password":"*****"}],"nasDatastoreName":"lcm-bundle-repo","nfsRepoDirPath":"/nfs/vmware/vcf/nfs-mount","repoVMIp":""}

DEBUG [c.v.e.s.o.c.ProcessingTaskSubscriber,pool-3-thread-19] Collected the following errors for task with name CreateNFSDatastoreOnHostsAction and ID 7f000001-6ed0-12cd-816e-d1f7a33f006f: [ExecutionError [errorCode=null, errorResponse=LocalizableErrorResponse(messageBundle=com.vmware.vcf.common.fsm.plugins.action.hostmessages)]]

WARN  [c.v.e.s.o.c.ProcessingOrchestratorImpl,pool-3-thread-10] Processing State completed with failure

INFO  [c.v.e.s.o.core.OrchestratorImpl,pool-3-thread-15] End of Orchestration with FAILURE for Execution ID 8c9c5ab1-e48a-414e-9c4d-8936e6f12c91

The Fix

I struggled with this one for a while, at first I considered maybe an IP address conflict with the SDDC manager appliance, but it wasn’t that, I had the same issue after trying again with a different IP address.

I discussed this with our internal support, and I was pointed to the direction of KB 1005948.

When I followed the article, I noticed that the default vmkernel used to access my subnet and the subnet of my SDDC manager was VMK2, which is assigned for VSAN traffic; Continue reading Nested VCF Lab – Error while creating NFS datastore

Interview – Matthew Steiner – Cloud Technologist and Author

Matthew is currently working at VMware as a cloud management technologist, spending the majority of his time visiting customers and discussing their cloud journey. 2020 will mark a milestone, with it being his tenth year at VMware.

Since personally joining VMware in 2018, I’ve had the pleasure of working with Matthew on a common customer, which has led us to sharing a number of trips together. During this time, I’ve learnt a lot from Matt and his insights about the industry, also from Matt as a person. This interview post is brought to you from a number of those chats.

You can find Matt online at the below locations, and no doubt presenting at a VMware or VMUG event near you!

Was technology your first calling?

I’ve always been around tech from the very beginning whilst in school, joining the computer club so I could use the Sinclair ZX81 Spectrum. Like most computer clubs, spending time writing code, and was lucky enough to have it published in a computer magazine at the time.

After leaving school, a move to a Chemical manufacturer lead to learning Cobol programming for their CRM system, client software, and configuring a lot of modems. Unfortunately, I was made redundant from one role, and this is where I moved into the contracting world, working for a large European bank. From here I stayed on and moved my way up through the various roles from entry level technician keeping the lights on, to leading the teams keeping the lights on.

Can you recall the moment where you found yourself thinking “I can move beyond day-to-day operations, work with customers in a more strategic capacity?”

There was not an immediate moment of this happening, it was all part of the journey of during my career. In the latter days working for the European bank, as I’d moved up the ladder, I spent time thinking and articulating the effects of the technology and its effects on the business, especially the positive effects.

In 2000, I moved away from the technical administration roles and joined Compaq as a pre-sales consultant. This solidified the move away from break-fix and I got to see the other side of “the fence” so to speak. Certainly, joining a sales organisation and being part of that sales focus was a shock to the system.

But this was also the start of working with a range of customers from a more strategic position and taking my experiences of the positive impacts of technology on a business out to a wider audience.

Sales Kick off in New York with Compaq, they still meet up each year, the IT space in Scotland is a small world!
Featuring (L-R); Matthew Steiner, Brett Wells, Brian Duffy and Andy Hughes

How would you summarise/guide a person, start focusing on the business before tech? Continue reading Interview – Matthew Steiner – Cloud Technologist and Author

Support Ticket Template – Helping you help your vendor support teams

Below is a support template I crafted with some members of our VMware GSS team, to help my customers reduce the typical back and forth information gathering to help them get to a resolution faster.

Instead when logging a ticket, my customers can log all the necessary information upfront.

Hopefully you will find this useful, and it can be used/adapted to use with other vendor support teams or even internally within your own business.

[Customer Information]
1. Engineer name:
2. What is the Business Impact?

[Product and Environment Information]
1. Environment Name:
2. What VMware products has the customer deployed?
3. What type of environment is impacted?
4. What was the customer doing when the problem was observed?
5. List FQDN and IP for each impacted device:

[Problem Description]
1. Describe the specific problem symptoms:
2. When was the problem first observed (Date/Time)?
3. When was the problem most recently observed (Date/Time)?
4. Describe the recurrence pattern for the problem if existing:

[Problem Troubleshooting]
1. What investigation has been conducted by the customer (give a full report)?
2. If a workaround has been attempted, describe the steps and outcome:

[Ask to VMware GSS]
1.What specific request is made of GSS?

Please collect all relevant product logs and upload them to the SR as outlined here for review:




VMware Horizon Blast – Failed to Connect to Connection Server

After deploying my latest horizon lab, I hit an issue where I could not hit the login page to authenticate for a Horizon desktop using BLAST, I would be greeted by the following message:

Failed to Connect to Connection Server

I pulled my hair out for a few minutes, before I realised I’ve hit this issue before, and the fix is quite simple.

If the file doesn’t exist in the directory C:\Program Files\VMware\VMware View\Server\sslgateway\conf then you must create it!



VDI Cleanup script I use before sealing any golden image before deployment

Below is the VDI Cleanup script that I’ve been using over the years. I thought I’d post this after setting up a Horizon Lab environment. I shared it earlier in the year on Reddit, and had some good suggestions which I used to update the script. The script has been taken from other blogs over the years and just edited further and further for my own/customers needs.

Optimizations to any master are done using the VMware OS Optimization Tool.

I personally just run this as bat file to clean up and shut down the master template as a final step each time I make an update.

You can find the script on Github here, or below.

REM ************************************************
REM Stopping and disabling Windows Telemetry service
REM ************************************************
sc stop DiagTrack
sc config DiagTrack start= disabled
sc stop dmwappushservice
sc config dmwappushservice start= disabled
REM *********************
REM Stop and disable Windows update service
REM *********************
sc stop wuauserv
sc config wuauserv start= disabled
REM *********************
REM Delete any existing shadow copies
REM *********************
vssadmin delete shadows /All /Quiet
REM *********************
REM delete files in c:\Windows\SoftwareDistribution\Download\
REM *********************
del c:\Windows\SoftwareDistribution\Download\*.* /f /s /q
REM *********************
REM delete hidden install files
REM *********************
del %windir%\$NT* /f /s /q /a:h
REM *********************
REM delete prefetch files
REM *********************
del c:\Windows\Prefetch\*.* /f /s /q
REM *********************
REM Update OEM Information with Build Date
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation /v Model /d "Build %DATE%" /t REG_EXPAND_SZ /f
REM *********************
REM Run Disk Cleanup to remove temp files, empty recycle bin
REM and remove other unneeded files
REM Note: Makes sure to run c:\windows\system32\cleanmgr /sageset:1 command 
REM       on your initially created parent image and check all the boxes 
REM       of items you want to delete 
REM *********************
c:\windows\system32\cleanmgr /sagerun:1
REM ********************
REM Defragment the VM disk
REM ********************
sc config defragsvc start= auto
net start defragsvc
defrag c: /U /V
net stop defragsvc
sc config defragsvc start = disabled
REM *********************
REM Clear all event logs
REM *********************
wevtutil el 1>cleaneventlog.txt
for /f %%x in (cleaneventlog.txt) do wevtutil cl %%x
del cleaneventlog.txt
REM *********************
REM release IP address
REM *********************
ipconfig /release
REM *********************
REM *********************
ipconfig /flushdns
REM *********************
REM Shutdown VM
REM *********************
shutdown /s /t 0