How to Use the Missing Virtual Network Editor in VMware Player

March 13th, 2013 18 comments

For most people who use the VMware Player, DHCP is good enough for the NAT network. That means the IP addresses of your virtual machines may change after each powering on.

What if you want to have static IP addresses? It’s pretty easy as long as it’s in the same subnet. For example, if the VMnet8 has IP address of 192.168.47.1, your virtual machines should be configured in the same network say 192.168.47.x, where X can be any value from 3 to 254 (2 reserved for gateway, 255 broadcast by default).

Categories: Virtualization Tags: ,

Configure Static IP Address on Linux VM in VMware Player

March 12th, 2013 19 comments

If you run VMware Player, you would have 3 networking options for virtual machines running there: Bridged, NAT, Host-Only. In the latest 5.0.1, I also found a new one: LAN Segment. This blog has a nice explanation on these three settings if you want to get more details.

In most of cases, I use NAT for networking because the virtual machine can have Internet access which allows me to install additional software as needed. By default, VMware Player uses DHCP to dynamically assign IP address while using NAT. So you cannot guarantee to get same IP address after each rebooting.

MiniNet: A Starting Point to Software Defined Network

March 11th, 2013 9 comments

While reading Michael White’s newsletter (a weekly digest regarding VMware technology that I find very useful and read regularly) a while back, I came to know a small emulator tool for SDN called MiniNet (http://mininet.github.com/). I got a little time to read and play with it over the weekend and though it’s worthwhile to share my experience here.

Download the Virtual Machine

Categories: Cloud Computing Tags: ,

Generating Checksum on Windows

March 4th, 2013 2 comments

I got an interesting request from one of the enterprises which uses vijava in their product. Although there are downloads for binary and source packages on the sourceforge Web site, they still would like me to create the checksum as I am the trustable source for that. As I was told, the checksum is required by their build team. I don’t know how is exactly used, but I decided to help out anyway.

VMware Partner Exchange 2013: Observations and Thoughts

March 3rd, 2013 5 comments

I went to the VMware Partner Exchange in Las Vegas last week. It’s always nice to see old friends and colleagues in the conference that I’ve been attending consecutively since I first joined VMware in 2007.

I spent quite some of my time in the hands on labs (codenamed Project NEE), which turned out to be a great experience. I took 7 labs covering the Nexus 1000V with VXLAN, vCenter Orchestrator(vCO), DynamicOps (now has a fancier name called vCloud Automation Center), etc. With the bundling and deep integration of the vCO into vCenter Web Client, I think the prime time for vCO as the automation tool for vSphere has finally come.

Categories: News & Events Tags: ,

Running Puppet in Client/Server Mode

February 20th, 2013 1 comment

In my last post, I introduced how to run a very simple HelloWorld script with Puppet 3.1.0 on CentOS 6.3. Although it shows how Puppet works, it’s not really how Puppet is used in real world. To get the most out of Puppet, you want to run the client/server mode where you have a master and many agents.

Part 1: Install Puppet server

Categories: Cloud Computing Tags: , , ,

Running Puppet HelloWorld on CentOS 6.3

February 12th, 2013 5 comments

Puppet is a very well-known configuration management tool that has been adopted by many enterprises and service providers. VMware recently invested $30M in Puppet Labs, the company behind it. It’s clear that VMware needs such a tool if it wants to grow in data center space.

I actually got a book from last year’s PuppetConf in San Francisco and browsed through it on my flights. As with any other technology, reading it does not mean getting it. To get my hands dirty, I played with it in my home lab last week.

Categories: Cloud Computing Tags: , , ,

How to Use GIT Java APIs to Diff Two Different Files

February 11th, 2013 1 comment

In my previous post, I introduced a sample showing how to use JGIT Java APIs to diff two versions of a same file in repository. The JGIT Java APIs can do more than that – it can actually diff two text files that are not even controlled by GIT.
Here is a short sample code on how to do this. Again, it’s not the main use case for the JGIT APIs. After all, it’s mainly for GIT source control system itself. You can always use other diff APIs for this purpose. However, if you already have JGIT included, this can be handy.

Categories: Software Development Tags: ,

How to Use GIT Java APIs to Diff Different Versions

February 3rd, 2013 5 comments

Last week I introduced the JGIT Java API with a simple sample illustrating how to read content from HEAD. If you have multiple versions of a source code or text file, you may want to see their differences. An easy tool for this is the standard diff.

The JGIT Java API has built-in support for you to generate diff between any two versions of a file, be it a source code, properties file, XML file, or any other text files. Here is a sample that shows how to do this.

Categories: Software Development Tags: ,

How to Read GIT Repository Using Java APIs

January 27th, 2013 14 comments

GIT is a source code control system created by Linus and others for managing Linux kernel development. It becomes one of the most popular version control systems especially in the open source community. Most developers use command line or the plugins to IDEs like Eclipse, NetBeans. I think even Microsoft VisualStudio has add-on for connecting to GIT, but I haven’t checked it.

Simple Logging in Java Application

January 21st, 2013 3 comments

Logging is a common requirement for application. In Java world, there are a few frameworks, the first and the most famous of which is the log4j from Apache foundation. Java included its own logging APIs afterwards. You can find many discussions which one is better in terms of use of use, flexibility, and performance. To reconcile the two APIs, a common abstraction called Simple Logging Facade for Java (SLF4J) was created. As SLF4J works with both log4j and Java logging, you can switch between them easily (in theory).

Categories: Software Development Tags: ,

Massive Scheduling with ScheduledExecutorService in Java

January 14th, 2013 2 comments

If you need to do certain things at certain points of time or intervals, you need scheduling capability. Don’t confuse the scheduling with multi-threading even though you can use multi-threading for scheduling but they are not equivalent. You can use single thread for many different tasks. Simply put, threads are executors, and tasks are jobs to be done by executors.

vSphere vs. Hyper-V: Difference of Virtual Machine States

January 6th, 2013 7 comments

While reading articles about Microsoft Hyper-V, I found that Hyper-V seemed to have different states for virtual machines from VMware vSphere. The virtual machine in Hyper-V is represented by the Msvm_ComputerSystem class. If you are familiar with VMware vSphere, you know the equivalent in vSphere is VirtualMachine. At first sight, the Hyper-V APIs may not look straight-forward. The Hyper-V APIs is actually based on Windows Management Instrumentation (WMI), which is essentially CIM from DMTF.

Cisco Nexus 1000V Distributed Virtual Switch: Command Line Examples

January 3rd, 2013 10 comments

I just took three day Cisco Nexus 1000V training before Christmas. It’s a pretty good experience to play with the commands in the VSM appliance although I am still not quite familiar with these commands yet. Nevertheless, I managed to run through all the 9 labs thanks to the online lab that I could access even after class. To help myself to remember what I did, I listed a few commands that often needed in managing Nexus 1000V.

Developing Web Application with JQuery and Java Servlet

December 27th, 2012 6 comments

It’s been a while since I touched Web application development in 2009. Before the VMworld 2009, I created a simple Web Application for the keynote that collected the names and email for a raffle to go back stage with the famous foreigner. That Web application was so simple that it’s built using Java Servlet with a static home page. It’s hosted with Terremark (part of Verizon now) Enterprise cloud.

VI Java API Project Upgrade

December 18th, 2012 5 comments

During the past weekend, I upgraded the vijava API project to the new Allura platform provided by Sourceforge.net. That’s really a button click and then waited for incoming emails for status updates. It went smoothly and didn’t take long before it finished.

Note that the upgrade is limited to the project hosting, not the Web site (http://vijava.sf.net) which remains the same and continues to work as before.

What is Missing in the VMware and EMC’s Pivotal Initiative?

December 11th, 2012 7 comments

Last week VMware formally announced that it would form a virtual team with EMC to take cloud service and middleware market. There was a rumor about it the week early which turned out to be mostly true. If you are in IT industry nowadays, you simply cannot under-estimate the power of rumors. I think most of the VMware and EMC employees might hear the rumor before hearing it from their management teams. :-)

Big Data or Big Junk?

December 8th, 2012 12 comments

Two weeks I got a problem with my blog site. Somehow I could not post to announce the GA of open source ViJava API for vSphere 5.1 there. After searching and researching, I found out that the wp_commentmeta table was filled with extra amount of data that exceeded the per database limit of 100MB imposed by my service provider. While I was enjoying Thanksgiving holiday, some spammers and their robots worked diligently posting thousands of spam comments on my site.

Categories: Big Data Tags: ,

DoubleCloud VM Connector for Remote Desktop Connection Manager in VMware Environment

December 2nd, 2012 7 comments

In my previous article, I introduced the Remote Desktop Connection Manager. It’s highly recommended to use it over the virtual machine console which all goes through the ESXi management IP therefore is not good for performance especially when there are many concurrent connections to virtual machines running on a same physical host.

Even if you are convinced on connecting to virtual machines directly, you will find it’s not convenient to add many virtual machines to the Remote Desktop Connection Manager. That is why I decided to write a small tool to automate it.

Announcing GA of VI Java API 5.1 Supporting vSphere 5.1

November 27th, 2012 11 comments

It’s been two months since I announced beta of VI Java API 5.1 supporting vSphere 5.1 on September 23. I got many emails asking for the GA date from ISVs and IHVs as the API is now a corner stone in their products. With the long (could be longer, BTW) Thanksgiving holidays, I got some time to review the fixes and release the GA version. I intended to announce it yesterday but somehow extra spam comments pushed the database behind over 100MB limit thus I could not post any new article.

Categories: vSphere API Tags: ,