Archive

Author Archive

Announcing VI Java API 5.5 Beta Supporting vSphere 5.5

September 27th, 2013 34 comments

As it’s asked about when the vijava API 5.5 is ready, the answer is NOW. A couple of minutes ago, I uploaded the beta release to the sourceforge.net site. Please feel free to download the beta release and give me your feedbacks and bug reports as soon as possible. I plan to GA the release in about one month.

Categories: vSphere API Tags: ,

VMware vSphere API Training is Ready

September 26th, 2013 23 comments

During the last 3 weeks, I’ve been working on the courseware and online lab for the VMware vSphere API training. It’s now available for delivering as private classes, either online or onsite. All the contents in the training will be highly customizable per your project needs in terms of content and time. For example, if you are a networking company, we can put more focuses on the networking aspect of the vSphere APIs. As a former VMware employee who authored the VMware vSphere SDK book with Prentice Hall and created of the de facto open source VI Java API, I can also give you practical advice for your projects.

Jumbo Frame with ESXi: What I Learned at Home Lab

September 23rd, 2013 2 comments

While building my home lab, I found a bit trouble setting up the jumbo frame of MTU 9000 which is supposedly faster than normal frame of MTU 1500. To set it up, I changed the MTU on both ESXi and the Synology DS1513+. The steps involved are pretty simple and straight-forward.

Install and Configure VNC Server for Remote Access on Linux

September 18th, 2013 2 comments

Like RDP, VNC protocol allows for accessing computers remotely with full window GUI. It’s used in VMware vSphere and OpenStack for users to interact with virtual machines by connecting to hypervisors. Here is what I just did to set it up. The instruction should work on a host either it’s a physical machine or virtual machine as long as it’s installed with CentOS or equivalents.

Installing VNC Server

Categories: Cloud Computing Tags: , ,

GUI Libraries for Angular Javascript Framework

September 16th, 2013 2 comments

Angular is a fantastic JavaScript framework that simplifies the MVC for Web applications. Like jQuery, it does not come with a library of GUI widgets and CSS themes – it just does what it’s supposed to do and does it well. If you are a developer, you would most likely need a GUI library to build a modern and interactive Web GUI. That is why I spent a bit time to research on this.

Angular JavaScript Framework: Interacting with Java Servlet Backend

September 10th, 2013 30 comments

In my last article, I introduced the Angular JavaScript framework with working samples. Among all these JavaScript frameworks, I think Angular is the first one that does it right (I can be wrong on this as my exposure of JavaScript is limited). If your project needs Web GUI for example vSphere Web Client plug-ins, it’s definitely a good choice to consider.

Angular JavaScript Framework: MVC Simplified in HTML5

September 8th, 2013 3 comments

At VMworld 2013, I bumped into my former colleagues at VMware who work on the new vSphere Web Client. Faster than I thought, the new vSphere Web Client started to support HTML5 partially with Angular JavaScript Framework. I haven’t looked into the details but that is something the community should be excited about.

Securing REST APIs or Web Application With Basic Authentication

September 5th, 2013 No comments

If you implement REST Web Services, you want to secure them. The simplest approach is to use the basic authentication () with user name and password. To protect all the resources behind the REST APIs, you can simply implement filter as introduced in Java Servlet 2.3 ().

Start My Own Consulting and Training Business

September 3rd, 2013 15 comments

As some of you may have known, I just left VCE last Friday. It’s really a tough decision as I enjoyed very much working with my colleagues there during the last two years, and the company continues to grow rapidly. Building my own business is something I had always dreamed about. I am glad I finally took it into action.

VMworld 2013 Impression: Is VMware Ready For Next Growth?

September 2nd, 2013 No comments

Last week was pretty exciting with VMworld 2013 in San Francisco. I sat through the keynotes and talked to many friends at VMware and partner community who showed up in the SolutionExchange where I spent most of my time. On Thursday I got a bit time to attend a few breakout sessions.

In first day keynote, VMware CEO Pat Gelsinger laid out three imperatives for VMware: 1) Virtualization extended to ALL of IT; 2) Management gives way to automation; 3) Compatible hybrid cloud is ubiquitous. The keynote was centered around these three imperatives.

REST API Service Made Easy with Jersey Framework in Java

August 25th, 2013 16 comments

Because REST APIs are easy to get started with, I see more products are adopting it for remote management APIs. To implement the REST on the server side, you can use different programming lanaguages and frameworks. In Java, you can use the Jersey framework which is a reference implementation of the JAX-RS (JSR 311 & JSR 339).

vCenter Orchestrator REST APIs: Executing Workflow

August 12th, 2013 No comments

Just played with vCenter Orchestrator REST APIs and found it’s pretty straight-forward to use. With the REST APIs, you can manage various resources such as workflow, workflow run, workflow presentation, workflow user interaction presentation, catalog, action, package, inventory, action, category, configuration, content, notification, service descriptor, user. It seems possible to build your vCO client like GUI with this set of APIs.

API Documentation Included

Parsing XML in C#: A Quick Working Sample

August 9th, 2013 17 comments

Just started to work on hacking the Web application of vCAC and REST APIs in C#. As expected, the XML processing is an indispensable part for that purpose. I have worked on C# on and off in the past, but never as consistently as on Java. To get myself familiar with the related C# APIs for parsing, I coded the following sample code.

c8474bd3d179f81a60412bb91dcc94f5036

Categories: Software Development Tags: , ,

Sync up vCenter Server with NTP: Bug and Workaround

August 7th, 2013 No comments

While playing with VMware Single Sign On (SSO) SDK, I got into an exception indicating that the request had expired.

Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Request has expired
	at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
	at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
	at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
	at $Proxy40.issue(Unknown Source)
	at com.vmware.sso.client.samples.AcquireHoKTokenByUserCredentialSample.getToken(AcquireHoKTokenByUserCredentialSample.java:233)
	at com.vmware.sso.client.samples.AcquireHoKTokenByUserCredentialSample.main(AcquireHoKTokenByUserCredentialSample.java:285)

Initially I thought it might be caused by timestamps in the arguments sent to SSO server. But further investigation showed that the time on my vCenter appliance server had run 3 hours faster than normal, so whatever request I had submitted from my desktop (whose time is up to the date) was “thought” to be submitted 3 hours ago. No wonder the request was rejected as expired. I think there is an allowance of a few minutes and 3 hours was just too big to ignore.

Categories: Virtualization Tags: , , ,

Unit Testing with JUnit 4 in Java: Quick Introduction and Simple Samples

August 5th, 2013 1 comment

Unit testing is an important part of software development because it helps capture bugs before it moves on to QA or even customers. However, it’s not part of the end product therefore whatever you invest in unit testing will not yield any direct result but indirect result in better quality of your product. So at one side, you want to do it more for better quality; on the other side, you want to minimize it for less investment. It’s therefore a tricky trade off for best ROI. For more discussion, see here.

vCenter and Solutions Logs: How to Change the Settings

July 28th, 2013 No comments

Logging is an important tool for system monitoring and troubleshooting. vCenter has comprehensive logs for itself and related solutions. We’ll introduce how to change the settings for these logs in vCenter appliance. One obvious use case is to increase the log levels for troubleshooting.

vCenter Logs
As usual, the vCenter configuration file resides in a subfolder in the /etc folder.

c8474bd3d179f81a60412bb91dcc94f5045

Categories: Virtualization Tags: , ,

Rethink Virtual Machine Template: It’s Not What It Is

July 24th, 2013 3 comments

In the virtualization world, virtual machine template (as know as virtual machine image) is a big feature. It allows users to quickly deploy a new virtual machine without the steps to install a new operating system and other software. Because of this feature, we start to have a new problem with too many (unused or useless) virtual machines. But this is a separate topic that deserves its own discussion.

Uncover KVM and Virtual Machines in OpenStack

July 15th, 2013 4 comments

After installing OpenStack and posting a few articles, I started to dig down a bit more on the KVM hypervisor used in OpenStack. For that, I wrote about the libvirt API and how to remotely manage KVM with it.

In this article, I will introduce how KVM is used in Openstack and what a virtual machine is made of.

How A Virtual Machine Instance Comes to Life?

Libvirt vs vSphere Management Agent: A Quick Comparison

July 10th, 2013 No comments

Libvirt is an open source project for managing almost all hypervisors and containers. It’s implemented in C and can be exposed through different language bindings.

There are both server (a.k.a daemon or agent) and client. If you are familiar with VMware vSphere (I assume you are if you read my blog), the server is very much like the hostd running on the ESXi side. The client is like the VI Java API that can be used for remote management.

Categories: Virtualization Tags: , ,

Easy Terminal Server For Linux

July 8th, 2013 1 comment

A while back, I read an interesting article Enable multiuser logins with VNC – Help your users access a multiuser Linux system from anywhere on IBM developerWorks. I was thinking it could be used to implement something similar to the terminal service in Windows. There are many good use cases for terminal services. I think you probably know better than I do so I skip this part.