Cannot add ESXi host to vCenter

Hi,

Had an annoying error today. Was updating an ESXi image for use with AutoDeploy. When I reinstalled the hosts they would not join vCenter. My workflow removes them from vCenter in the process, but they were unable to rejoin, and I could not add them manually either.

I got two error:

When selected the license in the add host wizard I got this error:

Cannot decode the licensed features on the host before it is added to vCenter Server. You might be unable to assign the selected license, because of unsupported features in use or some features might become unavailable after you assign the license.

 

I pushed through, but when the task reaches 100% it gave another error:

License file download from <servername> to vCenter Server failed due to exception: vmodl.fault.SecurityError.

Well to cut a long story short it turned out to be a time issue. Some of the serveres was not allowed to talk to the NTP servers. and their time had drifted. vCenter was located on one of these serveres, and its time was 5-6 minutes behind the ESXi servers that I was trying to join.

The NTP connection issue was corrected. Time was checked on all servers.

Problem solved.

Hope this helps someone.

VMs with multiple vNics could be a security risk

Often when I do health checks on vSphere environments I come across VMs that have multiple vNics. That can be a serious security risk if these vNics are connected to different security zones. A VM that is connected both to a DMZ and to a Administration network could allow a hacker easy access to more privileged networks. Sometimes this configuration is acceptable if the operating system is designed to handle it, if for instance we are dealing with a firewall.

I often find VMs that have a configuration where one of the network adapters is disconnected. Sometimes the second vNic was forgotten, and other times it is connected from vCenter when access to the secondary network is wanted for some kind of maintenance.

There is a settings on the virtual network adapter called “allowGuestControl”, and I was wondering if this setting could be a security issue. Could a hacker enable the disconnected network adapter from within the guest operating system, and thereby gain access to a privileged network? Continue reading VMs with multiple vNics could be a security risk

Things to know about upgrading vCSA 6.0 to vCSA 6.5

Here is a list of things that you might want to do before you upgrade your vCenter from vCSA 6.0 to vCSA 6.5.

Postgres table owner

First check you postgres database. For some reason the table owner is often wrong. Thanks to black88mx6 There is a way to check this, and also to fix it. Remember that anything you see here is executed at your own risk. An important step to perform before upgrading is taking a backup/snapshot of your vCenter VM, and any related components, so that you will be able to recover from a failed upgrade. Continue reading Things to know about upgrading vCSA 6.0 to vCSA 6.5

vCenter Recent Tasks Descriptions and Names are broken after VCSA Upgrade

After upgrading VCSA from version 6.5 to 6.5 Update 1 you might experience a problem with Task Names and object Descriptions. Names are not “resolved” to its human understandable name, but instead they are written as a API object name.

For instance a host profile compliance check would normally be “Compliance check” but is instead written as “profile.ComplianceManager.check.label” or a VMotion is written as “Drm.ExecuteVMotionLRO.label”

Continue reading vCenter Recent Tasks Descriptions and Names are broken after VCSA Upgrade

VMware Auto Deploy stopped working with Parse Error

I ran into a problem with VMware vSphere 6.5 Auto Deploy suddenly stopped working.

When trying to change rules with New-DeployRule or Repair-DeployImageCache I got the following error:

Repair-DeployImageCache
System.Runtime.Serialization.SerializationException: Parse Error, no assembly associated with Xml key ImagefactoryPkgImageProfile
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessGetType(String value, String xmlKey, String& assemblyString)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessType(ParseRecord pr, ParseRecord objectPr)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessAttributes(ParseRecord pr, ParseRecord objectPr)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.StartChildren()
at System.Runtime.Serialization.Formatters.Soap.SoapParser.ParseXml()
at System.Runtime.Serialization.Formatters.Soap.SoapParser.Run()
at System.Runtime.Serialization.Formatters.Soap.ObjectReader.Deserialize(HeaderHandler handler, ISerParser serParser)
at System.Runtime.Serialization.Formatters.Soap.SoapFormatter.Deserialize(Stream serializationStream, HeaderHandler handler)
at VMware.DeployAutomation.Types.PxeProfile.get_ImageProfile()
System.Runtime.Serialization.SerializationException: Parse Error, no assembly associated with Xml key ImagefactoryPkgImageProfile
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessGetType(String value, String xmlKey, String& assemblyString)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessType(ParseRecord pr, ParseRecord objectPr)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessAttributes(ParseRecord pr, ParseRecord objectPr)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.StartChildren()
at System.Runtime.Serialization.Formatters.Soap.SoapParser.ParseXml()
at System.Runtime.Serialization.Formatters.Soap.SoapParser.Run()
at System.Runtime.Serialization.Formatters.Soap.ObjectReader.Deserialize(HeaderHandler handler, ISerParser serParser)
at System.Runtime.Serialization.Formatters.Soap.SoapFormatter.Deserialize(Stream serializationStream, HeaderHandler handler)
at VMware.DeployAutomation.Types.PxeProfile.get_ImageProfile()
System.Runtime.Serialization.SerializationException: Parse Error, no assembly associated with Xml key ImagefactoryPkgImageProfile
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessGetType(String value, String xmlKey, String& assemblyString)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessType(ParseRecord pr, ParseRecord objectPr)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessAttributes(ParseRecord pr, ParseRecord objectPr)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.StartChildren()
at System.Runtime.Serialization.Formatters.Soap.SoapParser.ParseXml()
at System.Runtime.Serialization.Formatters.Soap.SoapParser.Run()
at System.Runtime.Serialization.Formatters.Soap.ObjectReader.Deserialize(HeaderHandler handler, ISerParser serParser)
at System.Runtime.Serialization.Formatters.Soap.SoapFormatter.Deserialize(Stream serializationStream, HeaderHandler handler)
at VMware.DeployAutomation.Types.PxeProfile.get_ImageProfile()
System.Runtime.Serialization.SerializationException: Parse Error, no assembly associated with Xml key ImagefactoryPkgImageProfile
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessGetType(String value, String xmlKey, String& assemblyString)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessType(ParseRecord pr, ParseRecord objectPr)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.ProcessAttributes(ParseRecord pr, ParseRecord objectPr)
at System.Runtime.Serialization.Formatters.Soap.SoapHandler.StartChildren()
at System.Runtime.Serialization.Formatters.Soap.SoapParser.ParseXml()
at System.Runtime.Serialization.Formatters.Soap.SoapParser.Run()
at System.Runtime.Serialization.Formatters.Soap.ObjectReader.Deserialize(HeaderHandler handler, ISerParser serParser)
at System.Runtime.Serialization.Formatters.Soap.SoapFormatter.Deserialize(Stream serializationStream, HeaderHandler handler)
at VMware.DeployAutomation.Types.PxeProfile.get_ImageProfile()

Continue reading VMware Auto Deploy stopped working with Parse Error

Migrate folder structure from old to new vSphere vCenter

Sometimes I find it easier to create a new vCenter server then migrate the old one, and it is a perfectly good solution in many cases.

But annoyingly there is a lot of manual work involved.

One problem is the VM’s and Templates folders. They do not follow the host, so you have to create the folder structure manually and move each VM into the correct folder. Well I am way to lazy to do that by hand, so it’s time to Automate! Continue reading Migrate folder structure from old to new vSphere vCenter

VMware vCenter VCSA 6.5 Upgrade “Error: queryAaaa ENODATA”

During an upgrade I got the following error: “A problem occurred  while getting data from the source vCenter Server”

And the install log has the following information. Continue reading VMware vCenter VCSA 6.5 Upgrade “Error: queryAaaa ENODATA”

Assigning vCenter tags using vRealize Orchestrator

Today I needed to assign some vCenter tags to some VMs I was deploying using vRealize Automation.

The scenario was that the customer did not want backup of VMs deployed by the vRA test environment, and in production they wanted a specific backup tier.

They are using Veeam backup, so the vRA test environment needed to have a NoBackup Tag, and production needed some other tag, depending on the type of server being deployed.

vRO does not provide very extensive support for these operations out of the box, but vRO 7.2 does come with some sample workflows.

To get started with vCenter tagging you need to configure a vAPI endpoint and a vAPI metamodel.

Continue reading Assigning vCenter tags using vRealize Orchestrator

Cross SSO and vCenter VMotion using PowerCLI

http://cloudmaniac.net/using-powercli-to-vmotion-vm-between-different-sso-domains-vcenters/

Roman Decker wrote an article about how to move virtual machine between vCenters that are not part of the same SSO domain, using PowerCLI.

Continue reading Cross SSO and vCenter VMotion using PowerCLI