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.
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 root@UA-CLOUD:~#
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% / root@UA-CLOUD:~#
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 root@UA-CLOUD:~#
5.Set the system to valid IPS publisher and make sure it is reachable.
root@UA-CLOUD:~# pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://192.168.2.49:909/ root@UA-CLOUD:~#
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 root@UA-CLOUD:~#
7.Execute “configure_evs.py” script to setup the public key for evuser.
root@UA-CLOUD:~# /usr/demo/openstack/configure_evs.py 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/id_rsa.pub. 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/id_rsa.pub. 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/id_rsa.pub. 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 root@UA-CLOUD:~#
8. Login to horizon dashboard. By default it will be “http://System_IP/horizon/”.Default User name: admin Deafult Password: secrete
9.Here is the home page of Oracle Solaris’s openstack . Stay with Project page .
10.Create the network for virtual machine . Click on Manage Network – Networks – > Create Network. Enter the network name and click on subnet.
11. Enter the subnet name and network address details with subnet and click on create.
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.
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 LINK l3stub0 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:~# root@UA-CLOUD:~# ipadm NAME CLASS/TYPE STATE UNDER ADDR evs1460c5d6_2_0 ip ok -- -- evs1460c5d6_2_0/v4 static ok -- 192.168.4.2/24 lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net0 ip ok -- -- net0/v4 static ok -- 192.168.2.80/24 net0/v6 addrconf ok -- fe80::20c:29ff:fe5e:b310/10 root@UA-CLOUD:~#
What’s next ? We will launch new nova instance . Click Page 2 to Continue …
Shekar says
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?
Suhaib says
Not sure about the work aroud but following helped me setup networking
This video is helpful with EVS. I helped me setup networking
https://www.youtube.com/watch?v=MIqWCokY_9A&t=120s
You may also try by setting mac-address as auto
zonecfg -z OpenStack-KZ “select anet id=0; \
add mac; set mac-address=auto; end; end”