Author: Mischa Buijs

vCenter Server 6.5 U1 does not support deployment of OVF files

Today I was planning a NSX manager deployment in my Home Lab… But that turn out to be a problem, because I could not upload an OVF file in the vSphere Client and HTML5 Web Client. When looking in my Home Lab notes I realized the last time I deployed an OVF was when the VCSA was running 6.5 without update 1. I think something went wrong with updating to VCSA 6.5 update 1.

Problem:

Both webpages display the problem in a different way.

vSphere Client:

With the vSphere Client the following pop-up appears when trying to deploy an OVF file:  “This version of vCenter Server does not support Deploy OVF Template using this version of vSphere Web Client. To Deploy OVF Template, login with version 6.5.0.0 of vSphere Web Client”

vSpher Client - OVF Deployment
vSphere Client – OVF Deployment

 

HTML5 Web Client:

The HTML5 Web Client does not display any error at all. It just disables the option to deploy an OVF file.

HTML5 Web Client - Deployment not possible
HTML5 Web Client – Deployment not possible
Fix:

After some googling I found the following VMware KB article 2151085 (link). This turned out to be the solution.
1. Connect to the vCenter Server Appliance with an SSH session and root credentials.
2. Run this command to enable access the Bash shell:
shell.set –enabled true
3. Type shell and press Enter.
4. Navigate to /etc/vmware-content-library/config/ with this command:
cd /etc/vmware-content-library/config/
5. Create a backup of the ts-config.properties and ts-config.properties.rpmnew file with these commands:
cp ts-config.properties ts-config.properties.orig
cp ts-config.properties.rpmnew ts-config.properties.rpmnew.orig
6. Rename ts-config.properties.rpmnew to ts-config.properties.
mv ts-config.properties.rpmnew ts-config.properties
7. Restart the Content Library service:
service-control –stop vmware-content-library
service-control –start vmware-content-library
8. Refresh or close your browser and connect with one of the web interfaces.

Selected as a vExpert 2017

Announcements

Yesterday VMware announced the list of 2017 Second Half vExperts. I was pleased to hear that I am also selected. For ITQ (my employer) this means we have in total 14 vExpert and 5 vExpertNSX. Congratulations to everyone else that got their accreditations.

vExpert 2017

What is a vExpert?

The VMware vExpert program is VMware’s global evangelism and advocacy program. The program is designed to put VMware’s marketing resources towards your advocacy efforts. Promotion of your articles, exposure at our global events, co-op advertising, traffic analysis, and early access to beta programs and VMware’s roadmap.

Each year, we bring together in the vExpert Program the people who have made some of the most important contributions to the VMware community. These are the bloggers, book authors, VMUG leaders, speakers, tool builders, community leaders and general enthusiasts. They work as IT admins and architects for VMware customers, they act as trusted advisors and implementors for VMware partners or as independent consultants, and some work for VMware itself. All of them have the passion and enthusiasm for technology and applying technology to solve problems. They have contributed to the success of us all by sharing their knowledge and expertise over their days, nights, and weekends.

vExpert 2017 Official announcements

The official announcement URLs:

Automated installation with VMware ESXi 5.5/6.0/6.5

In this blog post, we are going to automate the installation of VMware ESXi 5.5, 6.0 and 6.5. This can be done with a so-called “kickstart” configuration file which is officially supported by VMware. The file contains the configuration for a VMware ESXi Host to configure settings like IP address, subnet mask, hostname, license key, datastore, etc.

The kickstart configuration file can be made available in the following locations:

  • FTP
  • HTTP/HTTPS
  • NFS Share
  • USB flash drive
  • CD/DVD device

Personally, I prefer to use the HTTP protocol.



Use Case

You might ask yourself, why should I install an ESXi Host with a kickstart file? Some of the use cases I identified over the years are:

  • The very first ESXi Hosts for your SDDC environment (before VMware vCenter is deployed or vSphere Auto Deploy is configured).
  • A standalone ESXi Host for a small environment.
  • A Home Lab environment to install nested VMware ESXi Hosts.

Setup a web server

To make the kickstart configuration file available for the ESXi host we need a web server. Basically, every web server available on the market can serve this file. Here is a list of web server products that I have used: Apache, Microsoft IIS and NGINX.

In this environment/example I used a Microsoft IIS server on a Windows 10 Client. Do not forget to add the cfg extension to the MIME types.

Configuration file

Now it’s time to create a text file with your favourite text editor. The text file in this example is called (ks.cfg). I have added two configuration files as samples, one with the minimum settings and one I normally use for my Lab environment.

Configuration file – Simple (ks.cfg)

This is a default ks.cfg configuration file with just the minimum of settings required.

#
# Sample scripted installation file
#
 
# Accept the VMware End User License Agreement
vmaccepteula
 
# Set the root password for the DCUI and Tech Support Mode
rootpw mypassword
 
# The install media is in the CD-ROM drive
install --firstdisk --overwritevmfs
 
# Set the network to DHCP on the first network adapter
network --bootproto=dhcp --device=vmnic0
 
# A sample post-install script
%post --interpreter=python --ignorefailure=true
import time
stampFile = open('/finished.stamp', mode='w')
stampFile.write( time.asctime() )

Configuration file – Advanced (ks.cfg)

This is the more advanced version of the configuration file that also configures a lot of other settings like NTP servers, search domain, CEIP and a static IP address for the management interface.

### ESXi Installation Script
### Hostname: LAB-ESXi01A
### Author: M. Buijs
### Date: 2017-08-11
### Tested with: ESXi 6.0 and ESXi 6.5
 
##### Stage 01 - Pre installation:
 
    ### Accept the VMware End User License Agreement
    vmaccepteula
 
    ### Set the root password for the DCUI and Tech Support Mode
    rootpw VMware1!
 
    ### The install media (priority: local / remote / USB)
    install --firstdisk=local --overwritevmfs --novmfsondisk
 
    ### Set the network to DHCP on the first network adapter
    network --bootproto=static --device=vmnic0 --ip=192.168.151.101 --netmask=255.255.255.0 --gateway=192.168.151.254 --nameserver=192.168.126.21,192.168.151.254 --hostname=LAB-ESXi01A.lab.local --addvmportgroup=0
 
    ### Reboot ESXi Host
    reboot --noeject
 
##### Stage 02 - Post installation:
 
    ### Open busybox and launch commands
    %firstboot --interpreter=busybox
 
    ### Set Search Domain
    esxcli network ip dns search add --domain=lab.local
 
    ### Add second NIC to vSwitch0
    esxcli network vswitch standard uplink add --uplink-name=vmnic1 --vswitch-name=vSwitch0
 
    ###  Disable IPv6 support (reboot is required)
    esxcli network ip set --ipv6-enabled=false
 
    ### Add NTP Server addresses
    echo "server 192.168.126.21" >> /etc/ntp.conf;
    echo "server 192.168.151.254" >> /etc/ntp.conf;
 
    ### Allow NTP through firewall
    esxcfg-firewall -e ntpClient
 
    ### Enable NTP autostartup
    /sbin/chkconfig ntpd on;
 
    ### Rename local datastore (currently disabled because of --novmfsondisk)
    #vim-cmd hostsvc/datastore/rename datastore1 "DAS - $(hostname -s)"
 
    ### Disable CEIP
    esxcli system settings advanced set -o /UserVars/HostClientCEIPOptIn -i 2
 
    ### Enable maintaince mode
    esxcli system maintenanceMode set -e true
 
    ### Reboot
    esxcli system shutdown reboot -d 15 -r "rebooting after ESXi host configuration"


Installing an ESXi Host with Kickstart file

The following procedure needs to be performed to boot from a kickstart file:

  1. Boot the ESXi host with a VMware ESXi ISO (ISO file can be obtained from the VMware download page).
  2. Press the key combination “shift + o” at boot.
  3. Enter one of the following lines after runweasel:
    • For an HTTP share: ks=http://%IP_or_FQDN%/kg.cfg
    • For an HTTPs share: ks=https://%IP_or_FQDN%/kg.cfg
    • For a NFS share: ks=nfs://%IP_or_FQDN%/ks.cfg
  4. The installation will start and use the kickstart configuration file (ks.cfg).
  5. After the installation is complete the ESXi Host will reboot.

Screenshots

Here are some screenshots of the procedure:


Article updates:

  • 2018-10-04 – This article has been updated.
  • 2018-11-16 – Code blocks were not displaying correctly.
  • 2019-11-25 – Fixed images

Microsoft Exchange 2016 Installation “Couldn’t find the Enterprise Organization container”

Today I continued installing Microsoft Exchange 2016 on Windows Server 2016 in my lab environment. It looked like I was making some progress, the forest preparation was executed perfectly but then the installation started with the active directory preparation. After a couple of seconds, it failed… so it was time to start troubleshooting again to figure out what was going on.

Environment

To give you some insight into the environment, the following virtual machines were related to the problem:

  • DC01: Windows Server 2012 R2 – Domain Controller running all FSMO roles
  • EXH01: Windows Server 2016 – A new server that will become an Exchange 2016 server.

In the past the domain controller had a Microsoft Exchange 2013 server joined but that was removed about two years ago. I guest that there were still registrations in the Active Directory schema that were not removed.

Problem

The following error appeared (Couldn’t find the Enterprise Organization container) in the Exchange Server 2016 setup log file, here is an overview of the location and error message:

  • Logfile: C:\ExchangeSetupLogs\ExchangeSetup.txt
  • Error message: [REQUIRED] Setup encountered a problem while validating the state of Active Directory: Couldn’t find the Enterprise Organization container.

Solution

I found a solution… but I do not think Microsoft officially supports it. Keep in mind: if you are still running an Exchange Server infrastructure you will probably destroy it! Here is a write-up to fix the validation issues:

  1. Start an RDP session with the Domain Controller.
  2. Login with administrative credentials.
  3. Open the following tool “ADSI Edit“.
  4. Connect to the “default-naming context“.
  5. Delete the following two CNs completely, including all content:
    CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Lab,DC=local
    CN=CN=Microsoft Exchange Autodiscover,CN=Services,CN=Configuration,DC=Lab,DC=local
  6. Restart the Microsoft Exchange Server.
  7. Start the Exchange Server 2016 installation again.
  8. Follow the installation wizard.
  9. The problems should be resolved.

Final word

After performing the described steps on my domain environment, the problems were gone and the Microsoft Exchange Server was running without problems. Like I said before, be careful with executing the steps, you are really making a major change in the Active Directory that might affect other components.

PowerCLI 6.3 – Start-VM Exception has been thrown by the target invocation.

Today I was running one of my favourite home lab scripts to startup and shutdown my lab environment. Sadly, this ended with a PowerCLI error code. So it was time to investigate what was going wrong because the code did not change but the script stopped functioning at some point.

Error message:

The first thing we look at is the error message. The following error message was displayed inside my PowerCLI console:
“Start-VM Exception has been thrown by the target invocation”

So it appears the command “Start-VM” is causing some issue. The Start-VM PowerCLI cmdlet is responsible for sending a command to vCenter Server to start a particular virtual machine.

Fix:

The first thing I noticed the system I was using was not running the most recent version of PowerCLI. So the first thing I did was upgrade PowerCLI from version 6.3 to PowerCLI version 6.5. I rebooted the system and I started the script again. It appeared that all the problems were gone :). So something surrounding the “Start-VM” cmdlet is not working correctly in PowerCLI 6.3. I could not find any information or a changelog entry related to the issue but it fixed “something” :).

Screenshots:

The first screenshot displays the script and encountering the issue with PowerCLI version 6.3. The second screenshot the same script is run but with an installed PowerCLI 6.5 version. As you can see the issue is resolved now.

PowerCLI 6.3 - Start-VM Exception has been thrown by the target invocation
PowerCLI 6.3 – Start-VM Exception has been thrown by the target invocation

PowerCLI 6.5 - Start-VM problem solved
PowerCLI 6.5 – Start-VM problem solved

Installation Microsoft Exhange 2016 on Windows Server 2016

Today I was installing Microsoft Exchange 2016 on a new Windows Server 2016 purely for lab and education purposes. The Windows Installation was finished all Windows Updates were installed and now it was time to start the Microsoft Exchange installation! I had downloaded the installation media some time ago from the Microsoft website (this is where the mistake began), please read further for the explanation.

Exchange 2016 – Readiness Checks Error

After starting the setup wizard and the Readiness Checks the following error appeared:

Error: The Windows component Server-Gui-Mgmt-Infra isn’t installed on this computer and needs to be installed before Exchange Setup can begin.

Exchange 2016 on Windows Server 2016 - Readiness Checks Failing
Exchange 2016 on Windows Server 2016 – Readiness Checks Failing

Exchange 2016 – Running PowerShell Commands

So I tried installing the required components with the following PowerShell command, just as requested by the Readiness Checks page:

### PowerShell installation command
Install-WindowsFeature Server-Gui-Mgmt-Infra, Server-Gui-Shell -Restart

This is the result of running this PowerShell command-let on the Windows Server 2016 machine. The error states “The role, role service, or feature name is not valid“.

Exchange 2016 on Windows Server 2016 - PowerShell not installing modules
Exchange 2016 on Windows Server 2016 – PowerShell not installing modules

Apparently “Server-Gui-Mgmt-Infra” isn’t something you can install on Windows Server 2016 machine…

Solution to the installation problem

So after some thinking, I realized that the Exchange 2016 application was released much earlier than the Windows Server 2016 operating system… After some searching, I found the latest “Exchange 2016 CU6 release” on the Microsoft.com website.

It appears that every Cumulative Update (CU) is released in the form of a new ISO file which is also the installation media and update media. After downloading the CU6 iso and running the installation everything was working without any problems.

Upgrade MDT 2012 Update 2 to MDT 8443

It was time to start deploying Windows 10 and Windows Server 2016. So an upgrade from MDT 2012 Update 2 to MDT 8443 was required in my Lab environment.

All my virtual machines with a Microsoft Windows Operating System are deployed with Microsoft Deployment Toolkit (MDT) / Windows Deployment Services (WDS).

After a successful upgrade to MDT 8443 and a Deployment Share upgrade everything looked fine… but when I started deploying Windows Machines an error occurred.

The following error was displayed at the end of the Deployment Wizard (Invalid DeploymentType=“”).

After some searching on the internet, I came across the following Microsoft TechNet post.

To resolve my problems, the following steps were required:

  1. Create a backup from the following file (%DeploymentShare%\Scripts\DeployWiz_ProductKeyVista.vbs).
  2. Open the following configuration file in your favorite code editor (%DeploymentShare%\Scripts\DeployWiz_ProductKeyVista.vbs).
  3. In the configuration file locate line 52.
  4. Change the line from (if oProperties(“DeploymentType”) = “UPGRADE” then) to (if Property(“DeploymentType”) = “UPGRADE” then).
  5. Save configuration file.
  6. Start a new MDT deployment.
  7. Verify if the issue is fixed.

Now everything should be working as expected! Happy deploying :).

NSX LiveFire Training in Sofia

This week (12-06/15-06), I attended a VMware training (thanks to my employer ITQ). The training is only available for VMware partners and is called “NSX LiveFire”. It was held at the VMware office in Sofia City, Bulgaria. The training is a technical training given by VMware employees. This time by the following three instructors Bal Birdy, Luca Camarda and Nikodim Nikodimov.

Read more

Dell EMC PowerEdge 14th Generation Servers

At Dell EMC World 2017, the 14th generation of PowerEdge servers was announced.

There is not a lot of information available but some of the key information:
* The new Intel Xeon processors (‘Xeon Scalable Family’)
* iDRAC version 9 will be available with support for SecureBoot, BIOS Recovery capabilities, signed firmware and iDRAC REST API.

Links:
Dell EMC – Build Bold Appliances on Dell EMC PowerEdge 14th Generation Servers
Dell EMC – New Dell EMC PowerEdge: Bedrock of the Modern Data Center
Dell EMC – Servers
YouTube – The New Generation of PowerEdge Servers

vSphere Integrated Containers (VIC) v1.1

This week VMware released vSphere Integrated Containers (VIC) version 1.1. Below are the product highlights and a small introduction to the new product.

Information about VMware Integrated Containers

vSphere Integrated Containers comprises three components:

  • VMware vSphere Integrated Containers Engine, a container runtime for vSphere that allows developers who are familiar with Docker to develop in containers and deploy them alongside traditional VM-based workloads on vSphere clusters. vSphere administrators can manage these workloads by using vSphere in a way that is familiar.VMware Integrated Containers (VIC) - Logo
  • VMware vSphere Integrated Containers Registry, an enterprise-class container registry server that stores and distributes container images. vSphere Integrated Containers Registry extends the Docker Distribution open source project by adding the functionalities that an enterprise requires, such as security, identity and management.
  • VMware vSphere Integrated Containers Management Portal, a container management portal that provides a UI for DevOps teams to provision and manage containers, including retrieving stats and info about container instances. Cloud administrators can manage container hosts and apply governance to their usage, including capacity quotas and approval workflows. When integrated with vRealize Automation, more advanced capabilities become available, such as deployment blueprints and enterprise-grade Containers-as-a-Service.

With these capabilities, vSphere Integrated Containers enables VMware customers to deliver a production-ready container solution to their developers and DevOps teams. By leveraging their existing SDDC, customers can run container-based applications alongside existing virtual machine based workloads in production without having to build out a separate, specialized container infrastructure stack. As an added benefit for customers and partners, vSphere Integrated Containers is modular. So, for example, if your organization already has a container registry in production, you can use that registry with vSphere Integrated Containers Engine and vSphere Integrated Containers Management Portal.

New features:

  • A unified OVA installer for all three components
  • Upgrade from version 1.0
  • Official support for vSphere Integrated Containers Management Portal
  • A unified UI for vSphere Integrated Containers Registry and vSphere Integrated Containers Management Portal
  • A plug-in for the HTML5 vSphere Client
  • Support for Docker Client 1.13 and Docker API version 1.25
  • Support for using Notary with vSphere Integrated Containers Registry
  • Support for additional Docker commands. For the list of Docker commands that this release supports, see Supported Docker Commands in Developing Container Applications with vSphere Integrated Containers.

For more information read the links below.

Links: