Setting up OpenShift Origin Virtual Machine on Windows 7


This article describes the process of setting up a VM running OpenShift development environment inside VirtualBox on Windows 7. The article was inspired by the “OpenShift Origin Virtual Machine Deployment Guide“, it borrows some information from the guide but concentrates on Windows 7 as a host and development machine and addresses various issues that a Windows developer may come across (and not covered by the original guide).

I am going to dwell on the following aspects:

  • Setting up the Virtual Machine
  • Network configuration
  • Accessing the Virtual Machine
  • Accessing deployed application from the Windows host
  • Using RHC tools with multiple servers
  • Port forwarding
  • Accessing deployed databases from host machine

Setting up the Virtual Machine

Download the VM from the OpenShift “mirrors” site (about 1.3 GB): 

Unpack the package with your favorite .zip manager. This can take quite a while. The result will be the creation of four additional files (file sizes may vary):


Create New VM

You are going to create a new Linux machine with Fedora (64 bit)


Set VM Memory Size

Set the memory size to something reasonably large. 1 GB should be a good start. Later on you can give your machine more memory depending on cartridges used.


Select VM “Hard Drive” Image

For this step you will need to select the virtual disk image (you’ve unpacked earlier) which contains the OpenShift Origin virtual machine.


Network configuration

By default VirtualBox uses Network Address Translation (NAT) to create a virtual network interface for your virtual machines. NAT will not let you connect back into your virtual machine. You need to change the network adapter configuration to use Bridged networking. Then you virtual machine will get an IP address from your DHCP server, and you will be able to use that address to browse or log in.


Each system may have different names for the network adapter. Find yours in the pulldown menu labeled “Name”. Select it and press the OK button. You’ll return to the main display ready to start the VM.

When the VM has completed booting VirtualBox will display the access information for the VM and prompt you to start a root console.


Please remember the IP address VM has obtained (i.e. as you will need it in order to access OpenShift Console. More details on IP/URL address configuration and will be given later in this article.

Accessing the Virtual Machine

When VM is running it is accessible from the host machine either using OpenShift console via a web browser or on a command line interface using SSH. The web interface is useful for easily managing applications while the CLI allows developers to write and test applications and components. The web browser will also be used to verify the test applications during development.

User Accounts

There are two user accounts which are used to access the OpenShift Origin VM. Both are displayed on the VM console when it boots as shown in the examples above.

The first one is the OpenShift service account. This is used to access the web console and run the rhc CLI commands as a developer.

  • Username: admin
  • Password: admin

The second account is the developer account. This is a UNIX account which is used to log into the OpenShift VM via SSH. It provides a work space for exploring the CLI and development environment of OpenShift Origin.

  • Username:  openshift
  • Password: openshift

If you try logging in with one or those and it fails, try using the other.

Using a browser to view the OpenShift Console

When the VM is running you can use the OpenShift console to create and manage applications in the VM. Navigate your browser to the IP address the VM machine has automatically received during boot (i.e. Enter the username and password (admin/admin) when prompted.


Using SSH to log into the VM

Most of the OpenShift workflow for application development is done from the command line. The OpenShift VM has account created and populated with the tools needed to create, manage and develop apps for demonstration purposes.

Developers may reach the command line on the VM using SSH from the host.  The easiest way of using SSH on Windows machines is by Git for Windows bash.


At this point you are going to use IP address of the Virtual Machine for SSH access. When prompted for the password use ‘openshift’ one.

Accessing deployed application from the Windows host

For demonstration purposes I have created a basic ‘Node.js 0.10’ application named ‘Test01‘ having namespace ‘dvuyka‘ like shown below


When application is created you will see an entry within ‘My Applications’ area with a URL having the following format:


However by default on Windows hosts you won’t be able accessing your application with the browser because of DNS resolving. The easiest and quickest way solving this issue would be changing the hosts file and providing required addresses explicitly. This will allow saving time on DNS server configuration especially when working offline or with isolated environment.

Setting up hosts

For more information on modifying ‘hosts’ file on Windows please refer to the following article:

How do I modify my hots file?

You will need at least 3 entries to be explicitly declared, 2 for OpenShift environment and 1 for your application: openshift.local broker.openshift.local test01-dvuyka.openshift.local

Typically you will need mapping every application endpoint to be accessible. There is no need rebooting Windows after making change to ‘hosts’ file.

Now you should be able accessing OpenShift Console via https://openshift.local address


Clicking the application URL will now allow you accessing deployed application from within your Windows host browser:


Using SSH to log into VM

At this point it should be possible using broker.openshift.local address with SSH connections:


Configuring static IP address for VM (optional)

The only problem with ‘hosts’ file approach mentioned above is DHCP configuration. After reboot the OpenShift Origin Virtual Machine make obtain different IP address from DHCP server and all host mappings won’t be working. In order to solve this issue developers may want providing a static for VM to ensure IP address is always the same.

I will be using ‘nano’ editor for the sake of simplicity

sudo yum install nano
nano /etc/sysconfig/network-scripts/ifcfg-eth0

You will need to change the BOOTPROTO value from dhcp to static and providing explicit values for IPADDR, NETMASK, NETWORK and GATEWAY depending on your network/router configurations


As soon as you have finished editing the file press “Ctrl+O, Enter” to save the file and “Ctrl+X” to exit. Server needs to be rebooted after that.

sudo reboot

Now as per configuration above my VM will always be starting with address.

Using RHC tools with multiple servers

It is possible switching between different servers with RHC tools. Having multiple server configurations allow working with both local and remote environments. In order to create new configuration for your OpenShift Origin VM you will need executing the following commands with Windows command prompt:

rhc setup --server openshift.local

This will RHC tools creating additional configuration called “origin” pointing to your “openshift.local” VM

In order to use “origin” server configuration the “OPENSHIFT_CONFIG” environment variable should be defined before invoking RHC tools next time:

rhc <command>

Configuring RHC tools with OpenShift Origin VM will allow using Port Forwarding and accessing your applications and databases from within Windows host.

Port Forwarding

With OpenShift port forwarding, developers are now able to connect to their remote services while using local client tools without having to worry about the details of configuring complicated firewall rules.

For more details on port forwarding feature please refer to the following article:

Getting Started with Port Forwarding on OpenShift

Accessing deployed application from Windows host

With Windows (or Visual Studio) command prompt you can setup port forwarding to your VM

rhc port-forward -a test01


While command prompt is running the deployed application can be accessed via local loopback address:


Accessing deployed database from Windows host (MongoDB)

When port forwarding is started RHC tools automatically detect all ports to be wired. That applies to database cartridges as well. Examples below will be based on ‘MongoDB’ cartridge.

Add database cartridge

In the OpenShift web console navigate to your ‘Test01’ application and add ‘MongoDB NoSQL Database 2.2’ cartridge



Don’t forget to write down credentials somewhere as OpenShift Console does not expose them after cartridge is created.

You can get more details on OpenShift support for MongoDB here:

MongoDB on OpenShift

Start port forwarding

Once database cartridge is added you can start port forwarding with Windows or Visual Studio command prompt

rhc port-forward -a test01

You should see multiple ports now:


Connect to database

In order to connect to Mongo database I will be using Robomongo for Windows.


For the authentication section please use credentials you got after having created MongoDB cartridge


It is now possible working with your MongoDB database directly from Windows host


Using Git publishing with VM

There are no specific steps required to enable Git support for OpenShift Origin VM once the Windows environment is configured.


Please refer to the following articles if you want getting more information about Git in the scope of OpenShift

Deploying and building your applications
Accessing your code for your OpenShift Application via Windows Explorer using TortoiseGit
Authentication and SSH Keys


The steps above allow a developer to download and run a self-contained OpenShift service for development or demonstration purposes. The service runs in a VirtualBox virtual machine and is accessible to the user on the host machine running Windows 7 and is accessible to the developer by means of VirtualBox graphical console, by SSH or with a local web browser to access the OpenShift console and/or any applications that are created within the OpenShift service.