Time to upgrade to StarWind Virtual SAN V8

While I was upgrading my Home lab to the latest vCloud Suite with all the new nice goodies that VMware has just released like vCAC 6.1, vSphere 5.5U2, vCenter 5.5U2, ESXi 5.5U2, vCenter Orchestrator 5.5U2 and so on. I was really excited about these new arrivals and rushing to do the upgrade, but I had some resource constrain in my home lab and it was about time to do some cleanup of all those machines that I have spawn when testing vCAC and vCO. VMware vCOPs was such a great tool to point out idle VMs and oversized VMs in the environment which has helped me extend the life of my home lab.

While  cleaning up and deleting unneeded VMs, I have came up across an interesting VM that at first glance seemed pretty idle on CPU & Mem respective while doing some good amount of I/O. The name of the VM did not remind me of anything, in fact the name was VT001(I know not the greatest name, but it seems to be the first VM in a lab environment). My first thought was it is a VM I have spawned by an old instance of vCAC and forgot to delete it, but I decided to look into the VM and see what is running inside of it & I am definitely  glad I did.… Read More

Windows could not parse or process the unattend answer file for pass [specialize]

I was at a customer which I have deployed vCloud Automation Center 6.1 for, and they tried to create a new blueprint. They have copied the old blueprint and only changed the VM template used in that blueprint from Windows 2012 to Windows 2008 R2. They saved and published the new blueprint without any problem, then they tried to deploy the new blueprint. The blueprint deployment kept failing with the following error:

“Request failed: Machine VTTestVM001: Timeout customizing machine”

From the error, I was able to tell it was getting stuck at the guest customization stage, so I deployed one more VM and waited till it get to the guest customization stage, then opened a console to the VM to be greeted  with the following Sysprep error:

Windows could not parse or process the unattend answer file for pass [specialize]. The settings specified in the answer file cannot be applied. The error was detected while processing settings for component [Microsoft-Windows-Shell-Setup]“

Below is a screenshot showing the actual error on screen:

Windows could not parse or process the unattend answer file or pass [specialize]

After I hit OK, the machine restarted again and gave the following error and kept repetitively restarting and giving the same error afterword:

“The computer restarted unexpectedly or encountered an unexpected error.Read More

Free VMTurbo Datacenter Stencils for Microsoft Visio® and OmniGraffle

As a part of my consulting job, I end up using Visio to generate a lot of design diagrams (One of the reasons I had to format my MacBook Pro with Windows). For that reason I am always hungry for new Visio Stencils especially when they are specific to my field and being free. The latest addition to my Microsoft Visio Stencils is the just released VMTurbo Datacenter Stencils for Microsoft Visio® and if  OmniGraffle is your drawing software of choice then they are offering the same stencils for that too! Below is what included in the stencil and how it looks like in my Microsoft Visio.

VMTurbo Datacenter Stencils
Create diagrams of your datacenter using VMTurbo’s free datacenter stencils pack for Microsoft Visio® or for OmniGraffle. See your entire stack from a bird’s eye view to help better understand workflow.

Anyone can download them for free! Download it here!… Read More

vCAC 6 Property Dictionary Relationship Builder

While you can create property Dictionary Relationship XML by hand as I have shown in my previous post: vCAC 6 Property Dictionary Relationship, it has been proven to be so tedious of task to do when having a large environment,  that I wanted a more compelling way of doing it. That’s why I came up with my vCAC 6.x Property Dictionary Relationship Builder (This work with all versions of vCAC 5.1 and higher). I am going to continue with the example of my previous two posts: vCAC 6 Custom Properties – Build Profiles – Property DictionaryvCAC 6 Property Dictionary Relationship and show you how to generate the same property dictionary relationship XML using my my Property Dictionary Relationship Builder. Please read my previous post for more background of the scenario used in this example.

Let’s start by quickly showing the same table used in my previous post to demonstrate the relationship we are trying to generate. In this post I will use my generator to produce the location and storage relationship demonstrated in the below table

Location Storage Network
Toronto Toronto_T1 Toronto_Prod_PG01
Toronto_T2 Toronto_Prod_PG02
Toronto_T3 Toronto_DMZ_PG01
Boston Boston_T1 Boston_Prod_PG01
Boston_T2 Boston_Prod_PG02
Boston_T3 Boston_DMZ_PG01
Paris Paris_T1 Paris_Prod_PG01
Paris_T2 Paris_Prod_PG02
Paris_T3 Paris_DMZ_PG01

The expected Property Dictionary relationship XML file between Location & Storage for the above table look like below:

<?xml version=”1.0″ encoding=”utf-8″ standalone=”yes”?><ArrayOfPropertyValue xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”><PropertyValue><FilterName>Vrm.DataCenter.Location</FilterName><FilterValue>Toronto</FilterValue><Value>Toronto_T1</Value></PropertyValue><PropertyValue><FilterName>Vrm.DataCenter.Location</FilterName><FilterValue>Toronto</FilterValue><Value>Toronto_T2</Value></PropertyValue><PropertyValue><FilterName>Vrm.DataCenter.Location</FilterName><FilterValue>Toronto</FilterValue><Value>Toronto_T3</Value></PropertyValue><PropertyValue><FilterName>Vrm.DataCenter.Location</FilterName><FilterValue>Boston</FilterValue><Value>Boston_T1</Value></PropertyValue><PropertyValue><FilterName>Vrm.DataCenter.Location</FilterName><FilterValue>Boston</FilterValue><Value>Boston_T2</Value></PropertyValue><PropertyValue><FilterName>Vrm.DataCenter.Location</FilterName><FilterValue>Boston</FilterValue><Value>Boston_T3</Value></PropertyValue><PropertyValue><FilterName>Vrm.DataCenter.Location</FilterName><FilterValue>Paris</FilterValue><Value>Paris_T1</Value></PropertyValue><PropertyValue><FilterName>Vrm.DataCenter.Location</FilterName><FilterValue>Paris</FilterValue><Value>Paris_T2</Value></PropertyValue><PropertyValue><FilterName>Vrm.DataCenter.Location</FilterName><FilterValue>Paris</FilterValue><Value>Paris_T3</Value></PropertyValue></ArrayOfPropertyValue>

While the above XML file look not too bad and could be edited manually, imagine if you have to generate the same type of XML for a large Property Dictionary Relationship that include 10s of filter values and for each filter 10s of values.… Read More

vCAC 6 Property Dictionary Relationship

Property Dictionary Relationship in vCAC 6 allow you to build a relationship between the different drop down menu boxes provided to your End User for input. This provide a more elegant and flexible solution when it come to user input in the vCAC request form. It will help you provide the user with only the valid choices rather than provide them with every choice in the list. Let’s take an example.

vCAC Property Dictionary Relationship

The above diagram demonstrate a vCAC request form with three drop down menus into it for Location, Storage, & Network. Let’s assume you have the following list of items for each list as below:

Location Storage Network
Toronto Toronto_T1 Toronto_Prod_PG01
Toronto_T2 Toronto_Prod_PG02
Toronto_T3 Toronto_DMZ_PG01
Boston Boston_T1 Boston_Prod_PG01
Boston_T2 Boston_Prod_PG02
Boston_T3 Boston_DMZ_PG01
Paris Paris_T1 Paris_Prod_PG01
Paris_T2 Paris_Prod_PG02
Paris_T3 Paris_DMZ_PG01

If you implement the above table values into a property dictionary drop down menus(Without building relationship), you will have 3 options to choose from for location, and 12 options to choose from for storage and network no matter what location you have chosen, although only 3 options for Network or storage is valid for any particular location. In this case, property dictionary relationship become a very handy feature. As you can filter the storage and network field based on the location field.… Read More

vCAC 6 Custom Properties – Build Profiles – Property Dictionary

vCloud Automation Center offer a lot of extensibility features built in within the product that help you achieve your desired result while minimizing the amount of coding required. vCAC Custom Properties, Build Profiles, Property Dictionary is just an example of how you can customize the product to meet your needs while minimizing coding as well customize the input form to meet your need. As Property Dictionary seems to be the most missed/mis-understood feature of vCAC followed by Build Profiles and Custom Properties, I have decided to put a post together trying to simplify the explanation of these great features as much as possible. As well, I will be pointing you out to more resources at the end of the article to learn more in depth of each of these features.

vCAC Custom Properties:

As Custom Properties is the building block for Build Profiles and Property Dictionary, it will be very hard to explain any of the later without covering Custom Properties. As per VMware documentation, the way they define custom properties is as follow:

“VMware vCloud Automation Center™ custom properties allow you to add attributes of the machines your site provisions, or to override their standard attributes.”

What that is trying to say, vCloud Automation Center utilize particular variables (Custom Properties) that contain values that vCAC uses during machine provisioning (Ex: machine name, machine IP Address, Port Group to use, & so on).… Read More

vCloud Automation Center 6.1 Upgrade (Step-by-Step)

As the long waiting vCAC 6.1 was released beginning of this week, I have decided to test the upgrade process in my home lab as many of my customers are getting ready to benefit of the new features and enahancements in this release. The good news for everyone that the process is straight forward, where the only challenge I had during the upgrade is satisfying the Java requirements. This post will take you in a step by step fashion of the vCAC 6.0.1 to vCAC 6.1 upgrade process.

Upgrading the vCAC Appliance

  1. Shutdown the services on the vCAC Appliance using the following commands:
    • service vco-server stop
    • chkconfig vco-server off
    • service vcac-server stop
  2. Stop the vCAC Appliance before upgrade
  3. Shutdown all the services on your IaaS Windows Server. Under Start => Administrative tools => Services. Make sure to shutdown:
    • All VMware vCloud Automation Center agents
    • All VMware DEM workers
    • VMware DEM orchestrator
    • VMware vCloud Automation Center Manager Service
  4. You can download the update by going to the vCAC Appliance and let it directly download the vCAC update from the internet (What I am going to do here). Else you can actually download an iso image or create your own web repo that you connect the appliance to for update.
Read More

Learn Virtualization & VMware vSphere from Scratch

Few months back I got to speak to different friends of mine in the IT field, who were specialized in networking, storage, SAP, Database, Hardware and so on. I was surprised they had zero to little exposure to Virtualization although they are well versed into their field of expertise. They even held highest certifications in their fields like CCIE & the equivalent for the different specialty. This has kinda surprised me as working with Virtualization/Cloud Admins on daily basis, I had thought most IT professional by now are well versed with Virtualization. This has proved being far from the true, the more I speak to IT Professionals outside the Virtualization field.

Figuring out that many IT Professionals are still stuck in the past within the physical infrastructure, I decided to explore the cause and try to help improve the situation. Asking my friends about the cause of not catching up on Virtualization although they are aware its rapidly changing every IT field. I asked my networking friends if they are already aware that there is more virtual network ports than there is physical these days and they were surprised of that fact. I asked them what will they do when 90% of the network ports become virtual network ports and a part of a virtual switch.… Read More

Convert your vCAC Appliance to a vPostgres DB Appliance for vCAC Distributed install in 5 easy steps

VMware vCloud Automation Center (vCAC) 6.0 documentation and reference architecture recommends the utilization of an external instance of vPostgres when setting up a large/Medium distributed vCAC environment. However, since the release of vCAC 6.0 documentation, standalone vPostgres is EOA and no longer available as a standalone product. VMware has addressed that by allowing you to convert a vCAC 6.0 Appliance into a vPostgres Appliance for free. In fact, VMware has released a KB to demonstrate this, but that KB is highly focused on how to get replication setup for the vPostgres Appliance rather than on how to convert or use the vCAC Appliance in place of a vPostgres Appliance. KB2083563 is the article that show you how to use the vCAC Appliance in place of the vPostgres Appliance and how to setup replication for it. If you just need the simple steps of how to use the vCAC Appliance in place of the vPostgres Appliance and VMware HA is enough for your availability and you don’t require replication, then today is your lucky day as this article is going to show you how to achieve that in 3 easy steps (from now on in this article I will call the vCAC Appliance to be used as a vPostgres database vCAC vPostgres appliance):

  1.  Download vCAC 6 Appliance & Deploy it to be used as your vCAC vPostgres Appliance.
Read More

Learn PowerShell From Scratch with Veeam

As IT around the globe has been tasked to deliver more with less resources has pushed admins to automate as many tasks as possible. The more tasks you can automate in your datacenter, the more efficient you can do your work and the less chances for error you will do with repeatable tasks. Most of the time you will find a great tool out there that help you to automate the task at hands, but there is always the case where you fact a task that you wish you can automate but there is no tool available to automate the task or the available tool in the market is out of budget. That does not mean you have to continue doing that tasks manually forever, but you will have to script it.

If you are not familiar with scripting or the task in hand that you are trying to automate is only can be done using PowerShell and you have not picked up PowerShell yet, then its your lucky day. Veeam has created a 3 video series with almost of 4 hours of play time to help you learn PowerShell. Did I mention yet its free? What are you waiting for!… Read More

How to configure vCAC not to delete VMs after deployment failure

I have a customer approach me asking of how we can stop vCAC from deleting VMs after deployment has failed for debugging purposes. The default behavior of vCAC is to delete the VM after deployment failure even if that failure was just caused by Guest customization failure or by the Guest Agent execution failure. The problem when a deployment fail due to a Guest Customization failure or by Guest Agent execution failure and the VM get delete as the deployment fail, you are left with no in guest logs to trace the cause of the problem which explain the need for stopping vCAC from deleting VMs after VMs deployment failure for debugging/troubleshooting.

Luckily vCAC Proxy Agent can be configured not to delete VMs after deployment failure and send it to VRMDeleted folder instead of deleting it and it can be deleted manually after you finish your debugging. If you think you need to stop vCAC from deleting VMs from vCenter after deployment failure for troubleshooting or any other reason, then below is how to do just that.

A system administrator can modify proxy agent configuration settings, such as provisioning machine credentials and deletion policy for virtualization platforms, after installation. The proxy agent utility can be used to modify the initial configurations that are encrypted in the agent configuration file.… Read More

vCenter Upgrade Error 28035. Setup failed to copy LDIFDE.EXE from System folder to ‘%windir%\ADAM’ folder

During the upgrade of vCenter I have faced the exact error that is documented in KB#2013675. The error was as follow:


Error 28035. Setup failed to copy LDIFDE.EXE from System folder to ‘%windir%\ADAM’ folder


Below is an actual screenshot of the error:

vCenter upgrade error 28035 setup failed to copy LDIFDE

Further, in the vminst.log file, we found the following error:


  • Unable to copy c:/Windows/ADAM/LDIFDE.EXE to C:/Windows/ADAM/LDIFDE.EXE


If you have read KB#2013675, then you will notice the above errors are an exact match of the errors documented in that KB. If so why, I am creating this post if a KB is out there that include the solution, because that solution alone which is shown below did not resolve my issue:

——- KB#2013675  Solution Start —-

To resolve this issue, manually install the Active Directory Lightweight Services Role for the server.
To manually install the Active Directory Lightweight Services Role for the server:
  1. Open the Server Manager for the server and click Add Role.
  2. Select the Active Directory Lightweight Directory Services option.
You should be able to install vCenter Server after the Role tasks complete

——- KB#2013675  Solution End —-

If the above solution does not work for you, just like was the case in our situation, then try the below solution after you apply the solution documented in the KB.… Read More

vCAC 6 Service Temporarily Unavailable

As I have deployed vCloud Automation Center 6.0.1 in my home lab on vSphere 5.5, the installation worked flawlessly as I have carried out the same installation several times in production for several customers before. vCAC seemed to work without any problem at all for few hours, then I started getting the following error every time I tried to access my vCAC Portal:


Service Temporarily Unavailable 

The Server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.


Below is a screenshot of the actual error:

vCAC Service temporary unavailable


I was surprised to see the above error, and when checked the status of my vCAC Services under the services tab in the appliance management console of vCAC the pages was not loading although all the other tab were working just fine. I logged in through ssh to the vCAC Appliance and restarted the vCAC Service using the following command:

# service vcac-server restart

After restarting the vCAC Service and waiting for about 5 minutes, I have noticed that all the services of vCAC is now showing up on the service tab and right after that the vCAC portal started to function again. Initially I thought the service might hanged for some reason or so on, but after few hours the same issues came up, and I have noticed that I am getting the same problem repeatedly every few hours where my services stop again.… Read More

Upgrading vCenter with vCenter Heartbeat

I have went through the upgrade process of vCenter 5.0 to vCenter 5.1 which was protected by vCenter heartbeat(Please note same process apply for upgrade to 5.5 as well). The process end up being more of uninstalling and re-installing vCenter heartbeat rather than upgrade to avoid the undesired behavior of SSO lockdown that can be caused by the upgrade process of vCenter Hearbeat when SSO is hosted on the same VM as vCenter which was the case in my scenario. Let start by giving a summary of the upgrade process before going into a details:

a.  Uninstall vCenter Heartbeat 6.5 if installed
b.  Setup Single Sign On.
c.  Upgrade vCenter Server from to 5.0 to 5.1
d.  Upgrade Update Manager from 5.0 to 5.1
f. Install vCenter Heartbeat 6.6 (UAT & Prod).

below is the process  changes involved when upgrading vCenter that is protected by vCenter Heartbeat in more details:

1-      Preparation:

  • Make sure you have adequate backup. Maybe Image backup of your vCenter VMs?
  • Make sure to have license keys on hand.
  • Make sure All Windows Updates is disabled.
  • Write down all the IPs configurations.
  • Prepare a service account to use for heartbeat with local admin and vcenter admin privillage
  • Make sure to have a local administrator account on the machine that you know the password off.
Read More

vCenter 5.5 Upgrade fails when installing Microsoft Visual C++ Redistributable Package prerequisite with the error: Error Code 3010

While at a customer site and trying to upgrade their vCenter 5.0 to 5.5, every time we tried to run the installer it ran for a bit then gave us the follow error:

vCenter SSO Error 1722

Then the following errors appeared in a log files that was opened automatically in a notepad.

—————–  Error start —————–

Action 12:39:49: VM_InstallVCREDIST_x64. Configuring Microsoft Visual C++ Redistributable Package (x64)…
Action start 12:39:49: VM_InstallVCREDIST_x64.
CustomAction VM_InstallVCREDIST_x64 returned actual error code 3010 (note this may not be 100% accurate if translation happened inside sandbox

MSI (c) (5C:E4) [12:40:32:470]: Note: 1: 1722 2: VM_InstallVCREDIST_x64 3: F:\ 4: D:\Single Sign-On\prerequisites\vcredist_x64.exe /s /v/qn
Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action VM_InstallVCREDIST_x64, location: F:\, command: D:\Single Sign-On\prerequisites\vcredist_x64.exe /s /v/qn

MSI (c) (5C:E4) [12:42:05:103]: Product: vCenter Single Sign-On — Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action VM_InstallVCREDIST_x64, location: F:\, command: D:\Single Sign-On\prerequisites\vcredist_x64.exe /s /v/qn

Action ended 12:42:05: VM_InstallVCREDIST_x64. Return value 3.
MSI (c) (5C:E4) [12:42:05:103]: Doing action: FatalError
Action 12:42:05: FatalError.Read More