PowerCLI SketchPad – Write PowerShell Code for vSphere Automation Easily and Quickly with Zero Installation

December 19th, 2016 15 comments

While writing code or automation scripts, I usually spend quite some time to research the APIs and command syntax. To speed up the research, I normally skip the detailed description of all parameters and jump to the sample code or scripts directly. If any sample is, or close to, what what I want, I will use it as a starting point and modify it from there. Like any other engineering work, having something to start with is definitely easier and faster than starting from scratch.

Categories: Uncategorized Tags:

Announcing vijavaNG 6.5 – the smallest, fastest, and most secure Java APIs for VMware vSphere 6.5

November 28th, 2016 4 comments

On November 15, VMware offically announced the long-waited vSphere 6.5, which is a big release after 6.0 release early last year. Along with this vSphere release were a few other products like VMware vSAN 6.5, VMware vRealize Log Insight 4 and VMware vRealize Operations 6.4. According to the blog announcement, the vSphere 6.5 offers these high level features and benefits:

PhantomJS: Convert Any Web Pages to PDF or PNG on Server Side

November 14th, 2016 2 comments

While developing a new feature for our vSearch product, I found the Javascript’s capability to screenshot a page is quite limited. As normal, the explanation is that it’s designed as such due to security reasons. No one wants a Javascript secretly capture a screenshot of what’s currently viewed. I personally don’t think it’s a good explanation why it’s not implemented as easily as it should have been. Similar, I think riskier, features like exchange clipboard content has been implemented.

Slow Exporting OVF/OVA from vSphere Client or ovftool? A Quick Tip Can Save You Hours

November 8th, 2016 5 comments

Over the weekend, I was trying to export a virtual machine from vSphere using ovftool command line. To my surprise, it was extremely slow. In fact, I wasn’t patient enough to wait for its finish and “Contrl+C” it. Initially I was thinking it could be ovftool issue, so I tried exporting from vSphere Client directly. Still very slow and I had to cancel it as it would run for a few hours according to the progress dialog box.

Categories: Virtualization Tags:

From Angular 1 to Angular 2: Is it Good Time Now?

September 30th, 2016 5 comments

In the middle of this months, Google announced the Angular 2.0 at a meet up event in one of its Mountain View offices. I was lucky to hear the announcement on site and asked a couple of questions. That was truly exciting news as I had followed up the Angular 2 for a while.

Categories: Uncategorized Tags:

VMworld 2016 and vSearch 3.0 Preview

August 16th, 2016 4 comments

The VMworld 2016 is coming in about two weeks. Although I’ve attended every single VMworld after 2007, it’s my first time as an exhibitor myself, to be exact, as a new innovator in the show. If you follow my blog and Twitter, you probably have know the company DoubleCloud that I had founded and the cool products/technologies we’ve been working on. This is the first year for us to promote our products in show. Please come to see our product demos, or simply stop by and say hi. Our booth is 841#4.

Install Squid as HTTP and HTTPS Proxy Server

July 28th, 2016 2 comments

While creating the vSearch 3.0, we needed a HTTP/HTTPS proxy server to test the new features like public cloud support. With a little search, I found the Squid server. It turned out to be pretty easy to install a new one and use it based on default settings.

Install
Like most of the software package on CentOS, Squid can be installed using the yum command line. Here is what’s needed to install and configure it.

Categories: Applications & Tools Tags: , , ,

vSearch 2.0 Released: “Super vCenter” is Even Superer

June 21st, 2016 3 comments

After more than 4 months of hard work, we are proud to announce the second major release of the product. On the high level, there are 3 major features besides many smaller improvements over the first release based on the customers’ feedback.

1. VM Actions and Group Actions

Categories: Virtualization Tags: , , ,

How to Install Kubernetes to Run Docker on VMware vSphere

June 6th, 2016 1 comment

Installing Google Kubernetes does not require VMware vSphere or any other virtual machine hypervisor. However, doing that on a VM is very convenient, so it’s highly recommended especially for development and testing environment.

Regardless VM or physical machine, a Linux OS is a must. As always, I picked CentOS 7 which is a fork of RHEL. Once getting a CentOS installed, the rest is easy. If you have a CentOS template already, deploying a new one should be very fast.

Too Early to Say GoodBye VMware vSphere Client?

May 22nd, 2016 4 comments

VMware published a blog “Goodbye vSphere Client for Windows (C#) – Hello HTML5” with two announcements: 1. There won’t be the traditional C# based vSphere Client for the next version of vSphere (no one knows the version yet but it’s safe to call it the next version.). 2. The vSphere HTML5 Web Client Fling will be supported soon (no exact timetable is given). My guess is that it will make into next release of vSphere if not earlier.

How to Wait for Promises in AngularJS

May 18th, 2016 No comments

In one of my previous blogs – How to Cache Results from Asynchronous Calls in AngularJS, I mentioned a technique that downloads data from remote server via $http service as a promise. This is quite often used in Web application development, for example, you want to save configuration, user preference on remote server and download them on fly.

Book Review: Docker Containers – Build and Deploy with Kubernetes, Flannel, Cockpit, and Atomic

April 30th, 2016 4 comments

After the virtualization buzz, the industry is actively looking for the next big thing. The container technology just came in at the right timing. Docker is the clear leader in the container technology, followed by CoreOS Rocket and RancherOS today.

Google Cloud Platform: Hello World with Service Account

March 21st, 2016 1 comment

In my last post, I showed a sample with OAuth. It works well for application on others’ behalves. For the hello world program, it’s better to run without any user’s manual interaction. Google has provided “Service Account Key” for that purpose.

When you create a new credential, the console asks the type of key. You can select the service account key, and then select the “Compute engine default service account” with P12 as the key type. The generated key will be downloaded automatically. Save it safely and it cannot download again. You can then copy the key to the project home with a name as key.p12.

Google Cloud Platform: Hello World with OAuth 2

March 16th, 2016 No comments

Google Cloud is the 3rd public cloud I tried after Amazon AWS and Microsoft Azure. I used its AppEngine before and it worked pretty well. Google started very early in the cloud game but it lost the opportunity to Amazon because it over-estimated the attractiveness of its own infrastructure that runs Google search.

Azure Service Management APIs: The Old APIs That Works

March 14th, 2016 3 comments

After the initial bad experience with the new Azure Resource Management APIs, I took a different approach – try the old Service Management APIs. While transitioning from old system to new system, the old one may still be the best for an unexpected long period of time. Like VMware vSphere Client, VMware has declared end of life many times, but it’s still the favorite for most customers, while the future Web Client remains “future” since 2011.

Paradigm Shift in Data Center Management: What’s After VMware?

March 10th, 2016 No comments

The recent release of DoubleCloud vSearch represents a paradigm shift in how we manage data center in the future. Before agreeing with me on that, let’s take a quick look at the history.

Yahoo vs. Google

When the Web first came out in the early 90s, there weren’t many Web sites and pages out there. To help us find pages of interest, a typical directory approach was used. That created the initial success for Yahoo in the first place.

What I Learned about Microsoft Azure and its Resource Management APIs

March 9th, 2016 No comments

It was my plan to go over the popular cloud services on their management APIs. After familiarizing myself with Amazon AWS Java SDK with a few samples, I started with Azure and it turned out to a painful process.

In the following I will walk you through what I had experienced, and what works and not. Hope my experience will help you save some time with Azure.

Amazon Web Service Java SDK Tutorial: List All Networks

March 8th, 2016 1 comment

In my previous posts, I showed samples on virtual machine creation, virtual machine instances listing, storage volume listing. This sample shows how to list all the networks that you have.

With the information about your networks, you can get all the private and public IP addresses.

To run the following sample, you can check out the previous post for the pom.xml file and how to get AWS credentials from AWS console.

973b2ae32aa78f0b9a3f0a3220bed263026

Amazon Web Service Java SDK Tutorial: List All Volumes

March 7th, 2016 3 comments

In my previous posts, I showed samples on how to create a new virtual machine instance, and how to list all the virtual machine instances you own. This sample shows how to list all the disk volumes that you have.

To run the following sample, you can check out the previous posts for the pom.xml file and how to get AWS credentials from AWS console.

package org.doublecloud.awssample;
 
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.PropertiesCredentials;
import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.AmazonEC2Client;
import com.amazonaws.services.ec2.model.DescribeVolumesResult;
import com.amazonaws.services.ec2.model.Volume;
 
public class AwsEc2ListVolumes
{
  public static void main(String[] args) throws Exception
  {
    AWSCredentials credentials = new PropertiesCredentials(AwsEc2ListVolumes.class.getResourceAsStream("/AwsCredentials.properties"));
    AmazonEC2 ec2 = new AmazonEC2Client(credentials);
 
    DescribeVolumesResult volReq = ec2.describeVolumes();
 
    int count = 1;
    for (Volume vol : volReq.getVolumes())
    {
      System.out.println("Volume " + count   + "\n Details: " + vol);
      count++;
    }
  }
}

The output will be something as follows:

Amazon Web Service Java SDK Tutorial: Create New Virtual Machine

March 2nd, 2016 No comments

In my previous post, I showed a sample on how to list virtual machine instances. While that is helpful, maybe even more so is to create a new virtual machine. Here comes another sample that creates new virtual machine instance using the Amazon Java SDK.