WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Hardware Options
    • Hardware Reviews
    • Lab Deployment Scripts
    • Nested Virtualization
    • Homelab Podcasts
  • VMware Nostalgia
  • Apple

Cool Docker Container for VMware Utilities

02.17.2015 by William Lam // 11 Comments

Last week during lunch I learned about a cool little project that my colleague Alan Renouf was working on in his spare time at night. He was interested in learning more about Docker and thought the best way to learn about something new was by using it, which is normally how I learn as well. He came up with a nifty idea to create a Docker Image that would house a bunch of useful VMware tools which included several VMware open source projects as well.

UPDATE (11/23/16) - The Docker Container has now been updated with all the latest vSphere 6.5 SDK/CLI/Tools. We also plan to make this new version of the Docker Image available on Docker Hub, so stay tuned for those details shortly.

Some customers in the past have built similar offerings by using a free VMware Appliance called vMA (vSphere Management Assistance). vMA is nothing more than a stripped down version of SLES that has the vSphere CLI (vCLI) pre-installed. In my opinion, vMA is pretty limited and you can not install additional packages without voiding official support. Even if you decide to ignore support and install custom packages, I have often seen this break existing dependencies. When I talk to customers about their use of vMA, most used it because it was just there, but the majority prefer to use their own harden distribution of Linux and install their own admin utilities and packages which may also include non-VMware tools.

I personally have no problem building my own VM appliance that contains the various VMware packages, utilities and scripts that I use on a daily basis. However, not everyone is comfortable with this idea. Wow could this be further simplified and automated? Well, enter vmware-utils a Docker Image that allows you to automatically build a new image that contains some of the most popular and widely used VMware Utilities.

I wanted to enhance the awesome work that Alan had done with couple more VMware open source tools that I thought might be useful to VMware Administrators, which I actually wrote about here in my List of VMware CLIs, SDKS and DevOps Tools article. I have already submitted a pull request for my changes here. If there are other tools or packages you think that are useful and wish to contribute back, feel free to clone the repository and submit a pull request!

The latest vmware-utils now contains the following:

  • vSphere CLI 6.5
  • PowerCLI Core 1.0
  • vSphere Management SDK 6.5
  • vSphere SDK for Perl 6.5
  • vSphere SDK for Ruby (rbvmomi)
  • vSphere SDK for Python (pyvmomi)
  • vSphere Automation SDK for Ruby 6.5
  • vSphere Automation SDK for Python 6.5
  • vSphere Automation SDK for Perl 6.5
  • vSphere Automation SDK for Java 6.5
  • VSAN Management SDK for Ruby 6.5
  • VSAN Management SDK for Python 6.5
  • VSAN Management SDK for Java 6.5
  • VSAN Management SDK for Perl 6.5
  • Virtual Disk Development Kit (VDDK) 6.5
  • OVFTool 4.2
  • PowerCLI Community Repository
  • PowerCLI Core Docker Container Samples
  • William Lam's vGhetto Script Repository
  • Pyvmomi Community Samples
  • Docker Client v1.12.3
  • Docker Compose v1.8.1

For those of you who are new to Docker, a great way to quickly get started is by using an awesome tool called boot2docker which allows you to run Docker Containers on either a Windows or Mac OS X system. This also helps remove any barriers if you do not want to setup a Linux machine to get Docker of if you are like me, running on Mac OS X and rather not have to spin up a VM just to use Docker. Below are the steps on getting boot2docker working and building your own vmware-utils Docker Image.

Step 1 - Download the Docker Client for your specific OS (Windows, Linux or Mac OS X)

Step 2 - Take a look at the vmware-utils README, I spent some time updating it to make it more consumable for new users of Docker and follow the "How" section which will have you download the 4 VMware utilities as well as the vmware-utils DockerFile which we will need to build the Docker Container.

Step 3 - Create a directory and place all files into that directory. In this example, I have called the directory "vmware-utils".

vmware-utils-docker-container-0
Step 3 - We are now ready to build our vmware-utils Docker Image. Change into the "vmware-utils" directory that contains the files you downloaded earlier we will need to specify a "tag" for our image as part of the build command. In this example, I have called my image "lamw/vmware-utils" and to start the build process run the following command:

docker build -t lamw/vmware-utils .

Step 4 - The build itself may take some time depending on the speed of your internet connection. You will know when it has successfully completed when it states "Successfully built X" where X will be some unique ID as seen in the screenshot below.

vmware-utils-docker-container-4
Step 5 - Once the Docker Image has finished building, you can then run and connect to the Container by running the following command:

docker run --rm -it lamw/vmware-utils

vmware-utils-docker-container-5
At this point, you are now logged into the vmware-utils Docker Container that you have just built! It contains all the VMware Utilities that I have listed earlier and for more details on what has been installed and the location of the utilities, take a look at the vmware-utils Github documentation. If there are other tools you would like to see, feel free to contribute back by cloning the repository and submitting a pull request. I am definitely looking forward to seeing how this project evolves and providing a more dynamic way of creating a vMA-like experience without the current limitations. Keep up the awesome work Alan!

Categories // Automation, Docker, vSphere Tags // api, boot2docker, container, DevOps, Docker, dockerfile, vcloud air, vma, vSphere API

Feedback needed for the future of VCSIM

01.29.2015 by William Lam // 2 Comments

Last week, I had a chance to catchup with a couple of folks over in our Performance Engineering team to talk about VCSIM. For those of you who have not heard of VCSIM before or would like to know how to get started, I highly recommend you check out this article here and here for more details. We had a discussion on a variety of topics including how I and some of our customers are using VCSIM today.

As some of you already know, VCSIM is an internal tool originally developed by VMware Engineering for a very specific set of use cases, it was never intended to be used by our customers. Having said that, I think after talking to Engineering, they understood the value in having such a tool which could be useful to both our customers and partners. In fact, I have even shared a couple of use cases that I believe VCSIM can greatly benefit everyone:

  • Exploring and learning about the vSphere API and the basic inventory hierarchy of vSphere objects
  • Environment to develop and create various inventory reporting scripts (vCLI, PowerCLI, etc)
  • Developing performance metric gathering tools
  • Developing vSphere Web Client plugins and being able visualize large inventory of objects

There were some thoughts on how VCSIM could evolve over time from its current implementation as it was designed for a very specific purpose, but it was too early to tell and it would be based on some assumptions. Instead, I thought it might be useful to get feedback into Engineering so they could better understand how VCSIM was currently being used today. To help with this, I have created a very short survey below or you can also directly access it using the link here. Please take a few minutes to provide some feedback on how you currently use VCSIM today. Thanks in advance!

Additional VCSIM Resources:

  • vCloud Director Simulator
  • Simulating Performance Metrics using VCSIM

Categories // VCSA, vSphere Tags // VCSA, vcsim, vcva

Custom Attributes != vSphere Tags

01.13.2015 by William Lam // 21 Comments

A common question that I see frequently asked by customers is whether Custom Attributes in vCenter Server can be completely replaced by vSphere Tags? Both Custom Attributes and vSphere Tags provide metadata capabilities, but there are some underlying differences between the two and depending on how you use Custom Attributes today, you may or may not be able to completely migrate over to using vSphere Tags, at least in the short term.

UPDATE (11/16/16): vSphere 6.5 now allows you to fully view and manage Custom Attributes directly from the vSphere Web Client.

Custom Attributes allows you to specify custom "keys" associated with either a Virtual Machine or an ESXi host object using the vSphere C# Client. which are the only supported objects When using the vSphere API, you can apply Custom Attributes it across variety of vSphere Objects and for more details, please have a look at this post here. Once enabled for either a VM or an ESXi host, you will be able to assign an object-specific metadata "value" to these objects. An example would be a Custom Attribute called "Application Owner" and for VM1 I have a value of "Duncan Epping" and for VM2 I have a value of "Alan Renouf".

vsphere-custom-attributes-are-not-equal-to-vsphere-tags-1
vSphere Tags also provides a metadata capability, but it goes beyond just VMs and ESXi host. vSphere Tags can be applied to all objects within the vSphere Inventory. A major distinction between Custom Attributes and vSphere Tags which will help answer our initial question is that vSphere Tags can not be used to store object-specific metadata, it is used for categorizing or logically organizing various objects together. An example would be a Tag called "Production" which can then be assigned to VM1 and VM2 for organizational purposes but you would not be able to assign a specific value for each of the VMs.

vsphere-custom-attributes-are-not-equal-to-vsphere-tags-0
This distinction of not being able to assign object-specific metadata is the key difference between vSphere Tags and Custom Attributes. If you currently rely on this capability of Custom Attributes, you will not be able to completely migrate over to using vSphere Tags. A good way to think about vSphere Tags today is that they are similar to vSphere Folders but much more dynamic and search across all vSphere Objects. The lack of object-specific metadata for vSphere Tags is something that VMware Engineering is aware of today and hopefully they will be able to enhance in the future to support the Custom Attributes use case, so that vSphere Tags can be used exclusively.

In fact, I also hope to see vSphere Tags get enhanced so that permissions can also be applied onto Tags which would then propagate to the underlying associated vSphere Objects. I know this is another common request from customers that have looked at using vSphere Tags. I would like to also see a proper API exposed for Tags so that they can be managed and accessed programmatically, which can be quite handy for CMDB or provisioning systems. Today, there are no vSphere APIs for Tags, but you can manage them using PowerCLI Tagging cmdlet. Searchability is also another area that vSphere Tags can get further enhancements on. Today you can only search on objects by Tag name, but in the future I hope to see support for more complex queries which include searching through the values of the Tags assigned.

In summary, Custom Attributes are not going away anytime soon, at least until their capabilities are on-par with vSphere Tags. You will be able to continue accessing Custom Attributes which is available today in the vSphere C# Client or using the vSphere API. Custom Attributes are currently not visible in the vSphere Web Client, but you can use this custom vSphere Web Client plugin which makes the Custom Attributes available in the vSphere Web Client. Going forward, the future will be vSphere Tags, but in the mean time you may want to use both sets of metadata capabilities depending on your use case.

Categories // vSphere Tags // custom attributes, metadata, tagging

  • « Previous Page
  • 1
  • …
  • 76
  • 77
  • 78
  • 79
  • 80
  • …
  • 109
  • Next Page »

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Automating the vSAN Data Migration Pre-check using vSAN API 06/04/2025
  • VCF 9.0 Hardware Considerations 05/30/2025
  • VMware Flings is now available in Free Downloads of Broadcom Support Portal (BSP) 05/19/2025
  • VMUG Connect 2025 - Minimal VMware Cloud Foundation (VCF) 5.x in a Box  05/15/2025
  • Programmatically accessing the Broadcom Compatibility Guide (BCG) 05/06/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025

 

Loading Comments...