Skip to main content

Posts

Create Windows stack using Heat Orchestration Template in Openstack

The blog explains the process of creating a basic Windows stack in Openstack using Heat Orchestration Template. The hypervisor being used is VMware ESXi5.5. Image preparation to upload in glance Lets start with creating a Windows 2012 R2 VM in ESXi. In this server, download and install the cloudbase-init package for windows .The beta version is available at this link: https://www.cloudbase.it/downloads/CloudbaseInitSetup_Beta.msi Follow the steps in this link for installation : http://www.cloudbase.it/cloud-init-for-windows-instances/ Once installation is completed, edit the 'setup.exe" registry key at HKLocal machine/SYSTEM/SETUP/STATUS/ChildCompletion and change the value from 1 to 3. This is to avoid a system restart exception when the image boots up for the first time in openstack If you want to do any custom configurations in the windows machine, like open a specific firewall port, enable ping ,rdp etc..you can do it at this point  Run Syprep and shu...

How to create new Local SR in XenServer

In this blog, I will explain the process of creating an additional local SR in XenServer. In this scenario, there is an additional hard disk present in the server which I plan to add as a local SR in addition to the existing Local storage First you need to identify which disk is being currently used for your existing local SR, so that it is not accidentally deleted 1)SSH to your server using putty type the command xsconsole In the console that is displayed go to Disks & Storage repositories -> Current Storage Repositories You need to locate your current local repository and view the properties on the right pane Note down the scsi ID 2)Type the following command #ll /dev/disk/by-id Note down which device the ID maps to. In this case it is sda3.So that is your present local SR Also you need to note the SCSI id of the disk that you are planning to use for the new SR. In my case it is sdb 3)Next step is to create the new SR. You need run...

Install nested KVM in VMware ESXi 5.1

In this blog, I will explain the steps required to run a nested KVM hypervisor on  Vmware ESXi. The installation of KVM is done on Ubuntu 13.10(64 bit). Note: It is assumed that you have already installed your Ubuntu 13.10 VM in ESXi, and hence we will not look into the Ubuntu installation part. 1) Upgrade VM Hardware version to 9. In my ESXi server, the default VM hardware version was 8. So I had to shutdown my VM and upgrade the Hardware version to 9 to get the KVM hypervisor working. You can right click the VM and select the Upgrade hardware option to do this. 2)In the ESXi host In /etc/vmware edit the 'config' file and add the following setting vhv.enable = "TRUE" 3)Edit the VM settings and go to VM settings > Options  > CPU/MMU Virtualization . Select the Intel EPT option 4) Go to Options->CPUID mask> Advanced-> Level 1, add the following CPU mask level ECX  ---- ---- ---- ---- ---- ---- --H- ---- 5) Open the vmx...

Timeout error during OpenStack installation

While trying to install OpenStack using RDO, following the instructions in the link here , you might face the following timeout error Applying <IP address>_prescript.pp   [ ERROR ] ERROR : Error appeared during Puppet run: <IP address>_prescript.pp Error: Command exceeded timeout The reason for this error, in all probabilities would be the delay in your network, which could be causing the netns component packages to be timed out You can increase the timeout by editing the following file /usr/lib/python2.6/site-packages/packstack/puppet/modules/packstack/manifests/netns.pp   Add a timeout line in the file     if $::netns_support != "true" {         exec { "netns_dependecy_install":             path => "/usr/bin/",             command => "yum update -y kernel iputils iproute", ...

XenCenter troubleshooting

Issue 1: While trying to add a new host to a Pool in XenCenter, I was getting error "internal connection failed no route to host " Solution: It was quite simple actually, but since I couldnt find it mentioned in any knowledge bases or articles, I am noting it down here. The machine where XenCenter was installed couldnt resolve the Xen host name. The machines were not added to domains and hence no DNS entries were there. So I had to add a host entry to the XenCenter machine to help with the name resolution Issue 2: Enabling AD authentication via XenCenter fails with error "clock skew detected with active directory server" Reason: This happens because of the time difference between XenServer and AD server Solution: Update NTP server list of the XenServer and point it to the AD server of the domain. Steps below From the XenServer console, go to 'Network and management interface"->Network time(NTP) Select option "Remove all NTP se...

Xen learnings

This week, I was trying to get my head around a new Hypervisor(new for me, obiviously), ie XenServer. Though it is pretty much same as ESXi and is free as well, there are some striking differences as well.The observations are based on the free version of Citrix XenServer version 6.2.0 - While ESXi needs a paid vCenter to manage multiple hosts, you can use the free XenCenter software to manage multiple Xen hosts - Latest version of Xen server doesnt have the equalent of DRS or DPM. There was a feature named workload balancing, which was strangely discontinued in version 6.2.0 stating reason that there are no takers for it. - It does offer a High Availability of VMs using pool based clustering of hosts -XenMotion is the equalent of VM live migration, but it is restricted to one VM at a time -XenCenter doesnt have a web client like vCenter -There was a tool named XenConvert used for physical to virtual conversion, but it is retired as well. -There is an option named Dynamic...

Windows Azure: Powershell script to update instance type in .csdef file

Here is a simple PowerShell script to change your azure instance type in .csdef file. You need to run this from your code repository and enter the instance type ie "small", ExtraSmall","Medium" etc when prompted $allCsDefFiles = Get-ChildItem -Recurse -filter *.csdef | ForEach-Object -Process {$_.FullName} $newvmsize = Read-Host 'Enter the instance type' foreach ($thisCsDefFile in $allCsDefFiles) {     [xml]$thisCsDefXml = Get-Content $thisCsDefFile $root = $thisCsDefXml.get_DocumentElement(); If (!$root.WebRole.vmsize) { Write-Host "No webrole found in $($root.name) " } else     {     $root.WebRole.vmsize = $newvmsize $thisCsDefXml.Save($thisCsDefFile) Write-host "Webrole size of $($root.name) changed to $($root.WebRole.vmsize)"     } If (!$root.Workerrole.vmsize) { Write-Host "No Workerrole found in $($root.name) " } else     { $root.Workerrole.vmsize = $newvmsize $thisCsDefXml....