Provides access to VMware VIX APIs through Java Supports VMware VIX version 1.10, which includes support for Player, Workstation, and vSphere Object-oriented design instead of just access to functions in the API. VMware VIX 1.17.0.38213 (latest) See all. The VIX API is a library for writing scripts and programs to manipulate virtual machines. The VIX API allows you to automate. Looks like you're using an older browser. To get the best experience, please upgrade. UPGRADE MY BROWSER. Dec 13, 2018 First make sure you use VIX 1.17. Then go into VMware VIX folder and open 'vixwrapper-config.txt' At the bottom, change whatever is there to: # Workstation 14.0.0 ws 19 vmdb e.x.p Workstation-14.0.0 player 19 vmdb e.x.p Workstation-14.0.0 # latest un-versioned ws 19 vmdb e.x.p Workstation-14.0.0.
After installing newest VMware Workstation 14, it turned out that the automation API stopped working with the following error
It seems that the newest version does not install two important COM DLL files (and consequently does not register them):
VIXCOM.dll
and VIXCOM64.dll
. The solution is to copy them over from older installation and register them (as administrator):Things start working after this little trick. Alternatively, a full VIX API 1.15 has to be installed (it is available as a separate download from VMware support pages).
The problem has been tackled by our support and is described here
https://raynetgmbh.zendesk.com/hc/en-us/articles/360000277786-RSC200351-Executing-Virtual-Machine-Operations-on-VMware-Workstation-14
https://raynetgmbh.zendesk.com/hc/en-us/articles/360000277786-RSC200351-Executing-Virtual-Machine-Operations-on-VMware-Workstation-14
Note: Since both DLLs can be freely distributed, you can download them from the above link in case you don’t have older installation of VMware Workstation.
Packer OVA Examples
I ran into a bunch of good examples that other people had luck with:
Packer Configuration Files
Between all of those examples, I created my own configs and made sure they were okay:
First let’s ensure the packer configs are okay:
I also did the same thing on the kickstart file (initially it gave me a warning):
But then specifying the correct version got rid of the warnings:
I did have to get the latest version of the python module to get the kickstart validation to work (and fix a file to point to the right module: orderedset vs ordered_set, fix is described in python-pykickstart). Here is the version of the module that was installed with pip:
Packer Errors with VMware Player
I ran into a couple of error during the
packer build
, here are the ones that I remember:Missing Vmware-VIX
Initially ran into an error where vmrum was not present (that’s discussed here ). To fix that error, I installed vmware-vix :
And then I saw the vmrun executable:
And just for reference here is the version of vmplayer I was running (this was on ubuntu 16.04):
Missing qemu-img
Then I saw the following:
It looks like I was missing qemu-img and(or) vmware-diskmanager (it looks like I could get vmware-diskmanager from the VMware Virtual Disk Development Kit as discussed inthis communities forum). For now I installed the qemu-img, cause it was faster:
Missing /etc/vmware/netmap.conf
Then I ran into an issue where it was missing a vmplayer configuration file:
So I created a sample file using a copy from How to Manually Configure VMWARE Networking on Linux Command Line site, and it ended up looking like this:
Missing ldconfig
Then I ran into this message:
I located the file
and created the following file to load the library:
Then the VM started.
Incorrect dhcpd.conf file location
Then I ran into one more issue:
It looks like now the file is located here /etc/vmware/vmnet8/dhcpd/dhcpd.conf (vs /etc/vmware/vmnet8/dhcp/dhcp.conf) , so I just created a sym link to the directory and file:
Then it started the install, and I saw the VM running:
Checking PXE Boot Install Progress
While the Kickstart install is going, packer was showing this message,
So I decided to connect to the VNC service. First I created an SSH tunnel from my Mac:
then on my Mac, I ran this:
Vmware Free Version
Then after typing in the password (from the packer output), I saw the install going:
Empire efi bootloader iso download. It was good to confirm the install was going.
Issue with Ansible provisioner and Packer
I ran into another issue with the ansible provisioner:
The issue is specific to my packer version and is discussed here (it’s a pretty recent issue, so I will wait for the next version to see if that fixes it).
Vmware Vix Download
Complete Packer Build
As I test I disabled ansible and just used the shell provisioner, and the build succeeded:
And I had my OVA created:
Pretty cool. I was also able to query the OVA to see it’s properties:
Looks pretty good.
Deploying the OVA on an ESXi Host
As a quick test I deployed the OVA on an ESXi host:
I was able to power on the VM and login with the root user. Here is how the VM looked like in the web-client: Mdmp file.
Packer Options
I ended up setting some options in my packer configuration (all the options are covered in VMware Builder (from ISO)):
- I disabled the tools_upload_flavor option since I install the open-vm-tools package later on in the provisioning process.
- I set the version to 13 to match my ESXi version (which is 6.5) by default it’s 9 (which is ESXi 5.1).
- I manually created the OVA with ovftool instead of uploaded it to the ESXi machine, just for testing (and to be able to use it for later use, since I don’t have vCenter and I can’t store templates):
- I set the guest_os_type to be centos7-64 to make sure it shows up as CentOS 7 and not CentOS 5 (the full list of OS types is available here
That was just some of the options that worked out for me. Anime brother conflict episode 10 sub indo.
Packer with Jenkins
There is no shortage of example Jenkinsfiles out there:
After creating a Jenkins job of your choice and running a successful job (to build and store an OVA image), you might see something like this in your Jenkins Job Results (don’t forget to use stage blocks):