Archive

Posts Tagged ‘vSphere’

Tagging: An Invisible Feature in vSphere

June 8th, 2011 No comments

If you are familiar with social media or research papers, you must know tagging already – You use keywords to label an entity, be it a blog post, an article, or something else, so that it can be easily searched out. So it’s a very useful feature in managing information.

In vSphere 4.0, VMware added tagging capabilities to the managed entities. According to the API reference of 4.1, it’s still an experimental feature and

Categories: vSphere API Tags: , , ,

Recorded Tech Talks Are Ready!

June 6th, 2011 No comments

After publishing the tech talk slides, I am happy to announce that the record is ready now. If you have missed the onsite or online session, or simply want to watch it again, please feel free to click here. Note that you will need Adobe Flash 10.1 or higher to view the recording.

Many thanks to my colleague Luke Kilpatrick (@lkilpatrick) for helping with online streaming and recording, and Matt Dhuyvetter for setting up the top quality audio feeds!

VMware APIs & SDKs at VMware Communities Roundtable

May 21st, 2011 No comments

My colleague John Troyer (@jtroyer), who hosts VMware Communities Roundtable, has posted an interview with Alan Renouf (@alanrenouf) and me about our thoughts on VMware SDKs, APIs, and CLIs on May 18. During the interview, I answered questions about the open source vSphere Java APIs, the themes of my blogs (why it’s called doubecloud), what I am doing now at VMware, and of course our first community meetup event on the same day. If you have missed the session, you can listen to it now: , or here.

Managing vSphere on Android using VI Java API

May 10th, 2011 1 comment

It’s been a while since I checked the VI Java API fling at VMware Lab last time. When I checked it again yesterday, I found something new and exciting – VI Java API on Google Android. The following comment was posted there by a gentleman called Bob:

Great framework, I used it on a recently published android application (avmcontrol – vsphere client for android), I had to tweak it a bit, however developing for android using vijava was much easier then the same for iOS4 devices.

Following the link, I found

New Licensing APIs Since VMware vSphere 4: Swap Licenses

May 9th, 2011 No comments

Days ago I introduced the new licensing APIs since vSphere 4 and a sample that prints license expiration dates. Here is yet another sample that replaces an old license with a new license.

You may be wondering why anyone would do this. This is in fact not a typical use case. You probably know that vSphere Client does not treat license keys like passwords which are not visually displayed as dots or asterisks. As a result, anyone who can access a vSphere Client can write down license keys and use them elsewhere.

Normally this is not an issue at all. What about

vCenter Server Linked Mode: An API Perspective

May 4th, 2011 1 comment

A new feature called vCenter Linked Mode has been introduced in vSphere 4. It allows several vCenter servers to form a linked mode group. When you connect to any of the vCenter server via vSphere Client, you see all of them behind a single pane of glass.

I got questions from time to time, “what does it mean for vSphere API?” More specifically, if you connect to one vCenter in a linked mode group, will you “see” all of them? If not, how can vSphere Client achieve that?

New Licensing APIs Since VMware vSphere 4: Check License Expiration

May 4th, 2011 No comments

In my previous blog, I introduced the new licensing APIs since vSphere 4. As promised, I will write samples showing how to use the APIs.

Here is the first sample (stay tuned to next one, coming soon). What it does is to check the licenses in vCenter server for their expiration dates, and print them out in the console. You can of course save them into other format, say an CSV file so that you can use Excel to further analyze it. To run the sample, you must change the IP address to the vCenter server, the username/password, as would with most VI Java API samples.

Note that a license could be an

New Licensing APIs Since VMware vSphere 4

May 1st, 2011 3 comments

There has been a total change in vSphere licensing model since version 4. Before that, you need a special/dedicated licensing server which may be more flexible/powerful but also cause many troubles in production environment which made licensing related issues one of the top categories in tech support.

vSphere 4 has dramatically simplified the whole licensing model, and removed the licensing server. To find out how the new licensing model works, check out the VMware vSphere 4 Licensing Guide. It covers both the vSphere side and the portal with which you can easily manage your license keys: splitting/combining, etc. This article does not cover the portal part but related APIs only.

Management APIs reflect product features. If you check the latest API reference, you will find out

Introducing vSphere Guest API

April 11th, 2011 1 comment

If you want to read information about a virtual machine from the guest OS running on it, the vSphere Guest API is for you. It’s a C library coming with VMware Tools. Unlike the vSphere API which can be used anywhere, the vSphere Guest API is only available in the guest OS.

High Level Characteristics

  • It’s read only. You can use it to retrieve state and performance of a virtual machine running on ESX, but you can NOT
Categories: vSphere API Tags: , , ,

Introducing VMware vCenter Chargeback API

March 22nd, 2011 No comments

Chargeback is an important feature for computing infrastructures. Even inside an enterprise where IT users are not charged with real money, it’s still nice to see the usage patterns and sometimes avoid wasting resources. As I mentioned in IBM RC2, applying chargeback reduced unnecessary usage overnight.

VMware vCenter Chargeback is a component for this purpose. It can run standalone with Web GUI, and surface to vSphere Client as a plug-in. Although its name includes vCenter, it can also work with vCloud Director (see Using vCenter Chargeback with VMware Cloud Director).

I just spent some time over the weekend reading the API documentation, including vCenter Chargeback API Programming Guide, API Reference. The version 1.5 of the API

vSphere SDK Compatibility

February 21st, 2011 No comments

Last week an issue was reported with using vSphere SDK 4.1 to connect vSphere 4.0. The problem is related to the HTTP header called “SOAPAction” introduced in vSphere SDK 4.0. A recent KB article introduced this header, but with a minor error. I will talk about it in the end.

With vSphere SDK 4.1, the SOAPAction header has a value of “urn:vim25/4.1” while 4.0 has “urn:vim25/4.0”. For an older version of vSphere server, either vCenter or ESX/ESXi, it has no idea of the new value of SOAPAction, therefore refuse to serve. But the other way around works just fine because the newer version of vSphere knows about the older value but also support the older version of SDK directly. As a result, any application using older version of SDK works with newer version of vSphere. I am not saying your application can leverage new features. In fact, you cannot and must upgrade to do so.

From the SDK part, I found it’s a little disturbing when your newer SDK cannot work with older vSphere. We all expert newer SDK are better and back compatible. That is why

vSphere Performance Counters for Monitoring ESX and vCenter

December 3rd, 2010 12 comments

VMware vSphere provides comprehensive performance metrics for your needs on performance monitoring and diagnosis. These stats are available through not only vSphere Client but also vSphere APIs. To understand the overall performance management concepts, you want to read this article: Fundamentals of vSphere Performance Management.
Once having the basics, you may wonder what types of stats are exposed. The following table summaries all the 315 performance counters available in vSphere 4.1. As you might have guessed, the information is generated using open source Sphere Java API and then imported into WordPress using WP-Table Reloaded. You can easily sort and search the table.

Update: Carter Shanklin and Luc Dekens have articles on performance counters as well:

How You Can Use vSphere APIs to Collect vCenter and ESX Logs

October 20th, 2010 3 comments

If you manage a vSphere infrastructure, you may want to collect logs for troubleshooting, debugging, etc. You can get these logs from vSphere Client manually. You can also use vSphere API to collect them automatically.

The related managed object type in vSphere API is the DiagnosticManager. It helps to access logs from either a vCenter server or ESX server. It has no property but three methods:

1. queryDescriptions() provides a list of diagnostic files for a given system. It takes in an optional parameter host for specifying the HostSystem to extract information from. When you connect to the ESX server directly, the parameter isn’t needed. In vSphere Java API, you just pass in a null. When you connect to the vCenter server and the parameter isn’t specified, the method assumes you’re looking for vCenter logs. The return of this method is an array of DiagnosticManagerLogDescriptor data objects. The data object includes six properties: creator, fileName, format, info, key, and mimeType.

Categories: vSphere API Tags: , , , ,

How to Avoid Virtual Machine Sprawl in Cloud Age?

September 13th, 2010 2 comments

Technology can be a lot like fashion, with quickly shifting trends. Once we embraced big iron but after the mainframe age the industry went into the client/server age where we soon found too many servers to manage. So we consolidated them, not back to mainframe age, but onto hypervisors. With one physical server, you can run multiple virtual machines.

Server consolidation solved a big problem and resulted in big cost savings. From management’s point of view, however, it does not actually reduce the number of servers to manage in your enterprise. To some extent, it worsens the problem!  In some circumstances it’s so easy and inexpensive to create a new virtual machine that you end up with many more servers than you really want or can effectively manage. This problem not only exists in private clouds, but also in the public cloud.

According to VMware CEO Paul Maritz in his keynote at VMworld 2010, the number of virtual machines exceeded physical machines in 2009, and will reach 10 million by the end of this year. This is definitely great news for the virtualization software industry but also a challenge moving forward.

So how should you try to solve the problem of virtual machine sprawl or even better, prevent it from happening? I discuss some solutions one by one here.

Secret of vApp Template in vSphere

August 24th, 2010 1 comment

My colleagues and I had a discussion regarding the vApp template. After virtual machine template for virtual machine, you would expect vApp template for vApp and manage it in a similar way from the vSphere Client. But you cannot.

Most of us know that from vSphere Client, you have context menu item allowing you to convert a virtual machine to a template easily with a click. However you cannot find a similar menu item with a vApp. You can choose to convert a virtual machine inside a vApp, but then the converted template will jump out of the vApp container.

Can we have vApp template? The answer is we can, but in a different way.

Why Hyperic Chose VI Java API for vSphere Integration?

August 11th, 2010 No comments

VMware SpringSource released Hyperic 4.4 last week. According to Charles Lee, co-founder of Hyperic, one key feature is “enhanced management of VMware virtualized environments through integration with VMware vCenter.” I am glad vSphere(VI) Java API (a.k.a. vijava) has contributed to the success of the product.

Here is part of Charles’s blog Hyperic Broadens vSphere Support through vCenter APIs in Version 4.4 explaining the rationale behind the choice:

vSphere Java API 2.1 Beta Is Ready For Limited Access

June 28th, 2010 No comments

I have finished vSphere(VI) Java API 2.1 beta last week. The major feature is to support next version of vSphere. The company legal also approved the contribution to the open source project after product release.

Because VMware hasn’t released the next version of product yet, I cannot release the code to general public for the moment. API and product are much like the view and model in MVC: from the new APIs you can guess what new features are in the coming product.

Categories: vSphere API Tags: ,

Web-Based Datastore Browser in vSphere

June 14th, 2010 2 comments

Most of us are familiar with MOB, the Web based managed object browser.I’ve discussed the little known secret of it, and built a tiny yet powerful API on top of it.

There is yet another useful tool in vSphere you can leverage: Web based datastore browser. This tool allows you to use a standard Web browser to browse the datastores. You can access it using the following URL:

Tutorial: Easy VMware Development with VI Java API and Groovy

April 20th, 2010 5 comments

Every time I google for VI(vSphere) Java API, I get something new. Here is yet another one I just found. It’s a blog article Easy VMware Development with VI Java API and Groovy by Aaron Sweemer. By reading his blog site, I came to know Aaron is actually my colleague at VMware working as a Sr. System Engineer in Cincinnati Ohio. He is the principal blogger at Virtual Insanity.

How to Use HTTP with vSphere Client?

April 16th, 2010 No comments

If you have viewed the video about Onyx by Carter Shanklin (@cshanklin), you may have noticed a little trick with the vSphere Client.

Normally on the login dialog box, you enter a hostname or IP address. By default, the vSphere Client use HTTPS to communicate with the server. That means you cannot easily see what’s passed back and forth on the wire. As shown in the Onyx video, Carter showed how to use HTTP instead of the default HTTPS with the following in the IP Address / Name field:

http://localhost:1545

So the vSphere Client does support HTTP. In Onyx case, it points to localhost on which the Onyx is installed. You can actually point to a real vCenter or ESX/ESXi server directly – just change the localhost to the IP address of the server and the port to the default port 80 or remove the port part.

Before connecting the server, you need to change the server a bit for it to support HTTP. 

Categories: vSphere API Tags: , ,