Change the IP address of VMware vCloud Director 5.1 virtual appliance

This blog post is mostly for my own lab documentation, but hopefully someone else may find it useful.

The vCloud Director appliance is built upon 64-bit SuSE Enteprise linux with an embedded version of Oracle 11g Express, which means its setup and troubleshooting are a little different from the supported Redhat Enterprise and Oracle platform.

If you had set up your vCD appliance initially with DHCP on both primary and console proxy interfaces, you may run into issues changing it later, as there are few places to look.

The first thing is to SSH into the vCD appliance and logon as root (you will have to enable root logon=yes in /etc/ssh/sshd_config and restart the sshd daemon first)

Stop the vCloud services; service vmware-vcd stop

cd to $VCLOUD_HOME/etc (which should be /opt/vmware/vcloud-director/etc)

Use vi or vim to edit the file and change the following IP addresses to what you need


Out of the box the vCD appliance does not have the correct Oracle variables set.

So the following commands are necessary:

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe



You should then be able to successfully run sqlplus with the default username and password for the vCloud DB of vcloud/VCloud.

sqlplus vcloud/VCloud

At the SQL> prompt type:

select name from cells;

This will tell you the name of the director cell you are on

Then type: (substituting the appropriate IP address and cell name details)

update cells set primary_ip=’your-primary-ip’ where name=’name-of-directorcell’;

It should say 1 row updated

Exit from sqlplus

Restart the vCloud services; service vmware-vcd start

You should now be able to access the vCloud admin site on the new primary IP

3 thoughts on “Change the IP address of VMware vCloud Director 5.1 virtual appliance

  1. for anyone thinking of copy/paste’ing the SQL statement from above…. don’t, the correct characters should be apostrophe’s, not backticks – ‘ vs ` !

    update cells set primary_ip=’xxxx’ where name=’Name-from-previous-command’;

    …is the right way🙂

Comments are closed.