Playing with Oracle Solaris 11.2’s Openstack cloud

This article talks about how openstack works with oracle Solaris 11.2 and how to use it. In the last article ,we have seen that installing  pre-configured openstack Solaris image as kernel zones ,bare metal installation and installing it on Virtual box/VMware workstation. Once you have install the Oracle solaris 11.2 – openstack image , then follow this article to boot your first openstack nova instance . Openstack is primarly developed to provide IAAS( Infrastructure As A Service) functionality. Openstack is an opensource software and most of the big companies are backed with openstack since they believes strongly  that it is the  future of cloud computing.

How Openstack Works ?

Openstack provides set of software packages which can interact with operating system’s core components to create a virtual infrastructure for the  end user.To run a virtual machine, what are the core components required ?We need atleast  CPU , Memory ,Network , Storage, Image(To install OS). Openstack services communicates with OS kernel and creates  these virtual components  and provides to the end user.

Have a look at the below diagram.It shows that how openstack services mapped with oracle Solaris core components.

Openstack on Solaris 11.2
Openstack on Solaris 11.2

For an example, when  storage space required for cloud end user, CINDER service will communicates with ZFS filesystem and get the  required space.

Oracle Solaris 11.2 Openstack Cloud :

1. Download Oracle Solaris 11.2 with openstack build archive from oracle and install it .

2. Login to Oracle Solaris 11.2 as root and list the hardware details.

root@UA-CLOUD:~# psrinfo
0       on-line   since 08/25/2014 03:42:56
1       on-line   since 08/25/2014 03:43:11
root@UA-CLOUD:~# prtconf -vp |grep -i mem
Memory size: 8192 Megabytes
        device-memory:  c8200000.00200000.e0000000.10000000

3.Make sure that system has minimum 5GB free space on root.

root@UA-CLOUD:~# df -h /
Filesystem             Size   Used  Available Capacity  Mounted on
rpool/ROOT/solaris      20G   3.4G       5.8G    37%    /

4.List the currently running local zones.Here there is no local zones are running.

root@UA-CLOUD:~# zoneadm list -cv
  ID NAME             STATUS      PATH                         BRAND      IP
   0 global           running     /                            solaris    shared

5.Set the system to valid IPS publisher and make sure it is reachable.

root@UA-CLOUD:~# pkg publisher
solaris                     origin   online F

6.Check what are the virtualizations supported on this hardware.This system will support both kernel zone and non-global zones.

root@UA-CLOUD:~# virtinfo
NAME            CLASS
vmware          current
non-global-zone supported
kernel-zone     supported

7.Execute “” script to setup the public key for evuser.

root@UA-CLOUD:~#  /usr/demo/openstack/
Generating public/private rsa key pair.
Your identification has been saved in /var/user/evsuser/.ssh/id_rsa.
Your public key has been saved in /var/user/evsuser/.ssh/
The key fingerprint is:
dd:80:c3:c8:2f:65:b3:5d:05:06:be:08:9a:3d:e7:b4 evsuser@UA-CLOUD
Generating public/private rsa key pair.
Created directory '/var/lib/neutron/.ssh'.
Your identification has been saved in /var/lib/neutron/.ssh/id_rsa.
Your public key has been saved in /var/lib/neutron/.ssh/
The key fingerprint is:
46:25:c7:6e:ae:e5:97:e5:87:ad:58:1b:9b:1d:70:5f neutron@UA-CLOUD
Oracle Corporation      SunOS 5.11      11.2    June 2014
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/
The key fingerprint is:
32:d1:60:eb:63:c2:5c:00:11:85:a7:43:be:b0:86:4d root@UA-CLOUD
populating authorized_keys
configuring EVS
enabling Neutron

8. Login to horizon dashboard. By default it will be “http://System_IP/horizon/”.Default User name: admin  Deafult Password: secrete


Openstack login page
Openstack login page

9.Here is the home page of Oracle Solaris’s openstack . Stay with Project page .

Home page - openstack
Home page – openstack

10.Create the network for virtual machine . Click on Manage Network – Networks – > Create Network. Enter the network name and click on subnet.

Enter the network name
Enter the network name

11. Enter the subnet name and network address details with subnet and click on create.

Enter subnet and network details
Enter subnet and network details

New network has been created and you can assign this network to nova instance which we going to create in the end of this artcile. You can also add N-number of subnet to the existing network by clicking add subnet.

New network created
New network created

12.Here we will see what changes had made in the OS level .

  •  New virtual switch has been created
  • New VNIC has been created and IP has been assigned
root@UA-CLOUD:~# dladm show-etherstub
root@UA-CLOUD:~# dladm show-vnic
LINK                OVER              SPEED  MACADDRESS        MACADDRTYPE VIDS
evs1460c5d6_2_0     l3stub0           40000  2:8:20:36:0:17    fixed       201
root@UA-CLOUD:~# ipadm
NAME              CLASS/TYPE STATE        UNDER      ADDR
evs1460c5d6_2_0   ip         ok           --         --
   evs1460c5d6_2_0/v4 static ok           --
lo0               loopback   ok           --         --
   lo0/v4         static     ok           --
   lo0/v6         static     ok           --         ::1/128
net0              ip         ok           --         --
   net0/v4        static     ok           --
   net0/v6        addrconf   ok           --         fe80::20c:29ff:fe5e:b310/10

What’s next ? We will launch new nova instance . Click Page 2 to Continue …



  1. Hello,

    I’ve installed openstack and tried to launch instance but it fails saying ” error: net0: failed to create VNIC: operation failed
    notice: NOTICE: Zone boot failed”. From some of oracle articles I’ve found that Openstack Neutron through solaris EVS applies a random MAC address to a openstack neutron port. When a VM is launched through horizon inside the guest domain(global), it is trying to creating a VNIC with random MAC address and zone boot fails”. Is there any workaround for this, to tell neutron to use MAC address to create VNIC which is available at primary domain?