Home > Blogs > VMware vApp Developer Blog > Monthly Archives: July 2010

Monthly Archives: July 2010

VMware Studio 2.1 is now available for download

VMware Studio 2.1 GA was announced on Tuesday, July 13, 2010 in conjunction with the vSphere 4.1 release. The 2.1 release extends support for various OS and also brings enhanced flexibility, predictability and security to the Virtual Appliance development and update process.

• We listened to our customers and unlike previous versions, VMware Studio 2.1 can now create virtual appliances from virtual machines that were not originally created with VMware Studio, based on a discovery phase. In addition, while building an appliance, EULA(s) can now be retrieved from an input file in additional to being embedded in the build profile.

• Studio now enables users to create their own build profile templates. The CLI offers the –newos option using which you could generate a build profile for any RPM-based or DEB-based Linux OS.

• We also took a stride towards securing the appliance deployment and update process. We added support for digitally signed OVF files so that VMware vSphere 4.1 can verify the signed certificate during OVF import. In addition, using signed manifests during the update process, you could ensure that patches are coming from a trusted source.

• We also added a feature around localization. You can translate your EULA(s) into multiple languages, and vSphere Client as well as the VM first boot script will display it in the language of the prevailing locale. Also, you can now enforce EULA acceptance during the appliance update process.

• On the performance and optimization side, with Studio 2.1, you could now run concurrent builds. After a configurable limit is reached, builds wait in a queue. In addition, VMware Studio 2.1 optionally analyzes the list of RPM and DEB packages to locate unused items and generate a small-footprint virtual machine. It can also reduce the footprint post-installation with a file removal list.

• With Studio 2.1, during the appliance provisioning process, the generated virtual machine always reboots before your application installs. Some applications expect a full installed working system before they themselves will install. Rebooting after OS installation provides the real environment in which to install the application.

• A new utility program “vamisupport” is shipped with the output appliances for retrieving useful data for troubleshooting VAMI related issues.

• The new Linux OSs support we added are SLES 11, CentOS 5.4, RHEL 5.4, and Ubuntu 8.04.3 and 8.04.4.

In addition to the new features mentioned above, we fixed some of the major issues our customers faced with Studio 2.0. The issues around packages installation order (as specified in the Application Package Repositories) not always being honored has been fixed. Disk capacity set in build profile is now properly displayed in the web interface. VAMI is now fully functioning in SELinux enabled systems. Finally, OVF Tool used for transporting VM during provisioning has been upgraded to address known issues.

Download VMware Studio 2.1 GA release from here and give it a spin. We look forward to your feedback.

How to run Zimbra on Fusion with vApprun

Updated: To work with the latest version of the Zimbra virtual appliance (Sep. 6). 

The Zimbra folks have been so nice to create a virtual appliance that contains the entire Zimbra Collaboration Suite. The Zimbra virtual  appliance is packaged up in the OVF format and is using several advanced vSphere features (such as OVF properties) to  simplify the entire installation. In fact, if you have vSphere 4, it is a  really simple process to get Zimbra up and running.

But what if you don't have access to vSphere 4? (or just want to try it out on your laptop while eating lunch?)

In this post, I will show how you can use the freely available tools, OVF Tool 2.0.1 and  vApprun 1.0 to deploy, configure, and run the Zimbra appliance on VMware Fusion or VMware Workstation. Basically, we are tricking Workstation/Fusion to think it has all the nice OVF capabilities from the full-fledged vSphere product.

So before we start the pre-requisites are:

  • An installed version of VMware Fusion 3 or VMware Wokstation 7
  • VMware OVF Tool 2.0.1 (download)   
  • VMware vApprun 1.0 (download)      

Make sure that both OVF Tool and the vApprun command is in your path.

Step 1: Create a vApprun workspace

The vApprun tool implements a complete OVF / vApp environment for Workstation and Fusion. To use vApprun, we need to setup a vApprun workspace:

>mkdir zimbra
>cd zimbra
>vapprun init

Step 2: Configure the IP Pool

Each vApprun workspace has an IP pool that stores the network settings and other information about your deployment environment. We set that up as follows:

>vapprun workspace "dns=10.20.60.1;10.20.60.2" 
                   "gateway=10.20.63.253" 
                   "netmask=255.255.254.0" 
                   "range=10.20.63.200#4"
IP Pool settings:
  dns = 10.20.60.1;10.20.60.2
  domainName = example.com
  gateway = 10.20.63.253
  hostPrefix = vapprun-
  httpProxy =
  netmask = 255.255.254.0
  range = 10.20.63.200#4
  searchPath =
Free IP addreses
  10.20.63.200, 10.20.63.201, 10.20.63.202, 10.20.63.203

Make sure to substitute the values shown for DNS, gateway, netmask, and range with values that work in your environment.

Note 1: The above command should be executed as a single line. It has only been broken into multipe lines, so it is easier to read. The quotes ("") are only needed on Windows.

Note 2: If you are lazy and are on a network with a DHCP server, you can skip this step! (see step 5)

Step 3: Download the Zimbra Virtual Appliance

To download the Zimbra Appliance, open a web browser and go to: http://www.zimbra.com/products/download_appliance.html

You are required to fill out a registration form in order to get access to the appliance. 

Simply fill out the form, submit it, and you will receive an email with download 

instructions. Once you get the email, click on the download link (under Download Information)

to go to the download page. 

Download

On the download page, copy the link listed 

as: vSphere 4.0+ (Open Virtualization Format 1.0) – Direct Import URL.

 

Step 4: Use OVF Tool to deploy to vApprun workspace

Now it is time to download and deploy the ZImbra Appliance into our vApprun workspace.


>ovftool "–name=zimbra" <<Paste URL from above here>> .
Opening OVF source: http://files2.zimbra.com/…/ovf/zimbra.ovf
Warning: No manifest file
Opening vapprun target: .
Info:    End User License Agreement
License:
     VMWARE END USER LICENSE AGREEMENT

     IMPORTANT-READ CAREFULLY: BY DOWNLOADING, INSTALLING, OR USING THE
     SOFTWARE, YOU (THE INDIVIDUAL OR LEGAL ENTITY) AGREE TO BE BOUND BY THE
     TERMS OF THIS END USER LICENSE AGREEMENT (EULA). IF YOU DO NOT AGREE
     TO THE TERMS OF THIS EULA, YOU MUST NOT DOWNLOAD, INSTALL, OR USE THE
     SOFTWARE, AND YOU MUST DELETE OR RETURN THE UNUSED SOFTWARE TO THE
     VENDOR FROM WHICH YOU ACQUIRED IT WITHIN THIRTY (30) DAYS AND REQUEST A
     REFUND OF THE LICENSE FEE, IF ANY, THAT YOU PAID FOR THE SOFTWARE.

     … abbreviated …

Accept end-user license agreement?
Write 'yes' or 'no' (write 'read' to reread the EULA): yes
Deploying to vapprun workspace at: c:\Temp\zimbra\zimbra
Disk Transfer Completed
Completed successfully

Make sure to replace the URL in the above command with the one you got in Step 3. 

Notice that we just use a dot (.) as the target location. We can do that since the current directory is the vapprun workspace directory. 

Let's check that we got a Zimbra VM in our vApprun inventory:

>vapprun list zimbra
Name.......: zimbra
Type.......: VM
VMX........: .../zimbra/vmx/vm.vmx
Tag........: Zimbra_Collaboration_Suite_Appliance
AppUrl.....: http://${vami.ip0.Zimbra_Collaboration_Suite_Appliance}/
Transport..: com.vmware.guestInfo
IP Policy..: fixed
Property Definitions:
Key            Type      Value           UserConfig
-------------------------------------------------------------------------------
Zimbra_CONFIG_PASS    string(6..20)               True
Zimbra_HOSTNAME      string(1..65535)              True
Zimbra_ADMIN_EMAIL    string(1..65535)              True
Zimbra_ADMIN_PASS     string(6..20)               True
Zimbra_DISABLE_FW     boolean     False           False
Zimbra_DISABLE_NETWORK_TAB boolean    False           False
Zimbra_SERVICES      string     ALL            False
Zimbra_LDAP_MASTER_IP   string     @@LDAP_MASTER_IP@@     False
Zimbra_LDAP_MASTER_URL  string     @@LDAP_MASTER_URL@@    False
Zimbra_LDAP_ROOT_PASSWORD string     @@LDAP_ROOT_PASSWORD@@   False
Zimbra_ZIMBRA_LDAP_PASSWORD string    @@ZIMBRA_LDAP_PASSWORD@@  False
Zimbra_VAMI_USER     string     @@ZIMBRA_VAMI_USER@@    False
Zimbra_VAMI_PASS     string     @@ZIMBRA_VAMI_PASS@@    False
Zimbra_MTA_AUTH_HOST   string     @@MTA_AUTH_HOST@@     False
Zimbra_HYPERIC_HQ_HOST  string     @@HYPERIC_HQ_HOST@@    False
Zimbra_HYPERIC_HQ_USER  string     @@HYPERIC_HQ_USER@@    False
Zimbra_HYPERIC_HQ_PASS  string     @@HYPERIC_HQ_PASS@@    False
vami.DNS0.Zimbra_Collaboration_Suite_Appliance expression   ${dns:Network}    False
vami.gateway0.Zimbra_Collaboration_Suite_Appliance expression ${gateway:Network}  False
vami.netmask0.Zimbra_Collaboration_Suite_Appliance expression ${netmask:Network}  False
vami.ip0.Zimbra_Collaboration_Suite_Appliance ip:Network              True
vm.vmname         string     Zimbra_Collaboration_Suite_Appliance   False
Property Settings:
Key            Value
------------------------------------------------
Zimbra_HOSTNAME      CHANGE-ME
vami.ip0.Zimbra_Collaboration_Suite_Appliance
Zimbra_ADMIN_PASS     CHANGE-ME
Zimbra_ADMIN_EMAIL    CHANGE-ME
Zimbra_CONFIG_PASS    CHANGE-ME
... abbreviated ...


We need to configure the 4 properties listed under Property Settings (with value:
CHANGE-ME). We also need to decide how we allocate an IP address to the appliance. We can  setup the IP property to be configured from vApprun's IP pool (transient), using DHCP, or enter a fixed address. All in all this amounts to the following command:

>vapprun set-property -transient zimbra
                     "Zimbra_ADMIN_PASS=secret"
                     "Zimbra_CONFIG_PASS=secret"
                     "Zimbra_ADMIN_EMAIL=test@vmware.com"
                     "Zimbra_HOSTNAME=zimbra-host"

If you want to use DHCP, replace the -transient option above with the –dhcp option in the above command. And a

gain, the above command should be typed in as a single line.So let's double check that we did everything right:

>vapprun list zimbra
… abbreviated …
IP Policy..: transient

Property Settings:
  Key                       Value
  ————————————————
  Zimbra_ADMIN_PASS         secret
  Zimbra_CONFIG_PASS        secret
  Zimbra_ADMIN_EMAIL        test@vmware.com
  Zimbra_HOSTNAME           zimbra-host
… abbreviated …

Step 5: Launch Zimbra 

The moment we have been waiting for… let's start it:

>vapprun start -gui zimbra
Starting zimbra
Access at: https://10.20.63.200/

The Zimbra appliance takes a few minutes to go through the first-time boot configuration. Once it is up and running, you can access the appliance at the URL above. To login use the admin email and password you configured in step 5 (test@vmware.com, secret).

Note: If you are using DHCP, then vApprun does not know at the time of power-on what IP address will be used, so the Access at: message will not be shown. Instead, run the vapprun list command to see what IP address has been allocated to the VM. This is reported back to vApprun through VMware Tools.

 


Zimbra
 

Once you have done the above steps a few times, it actually becomes quite simple. Finally, all of the above works equally well on Mac OS X, Windows, and Linux.

/Rene