UnicornClouds
Thoughts on things
recent posts:ansible for application smoketests
March 22, 2014
Likely most are using Ansible for provisioning of new system to include: spinning up instances, deploying applications and applying configurations. While this is the typical use case Ansible may be leveraged to provide much more. One such extension of its use is with application smoketests.
Smoketests
By knowing what an end, state should look like we can create various tests to verify this functionality. Through smoketests, you are able to gain better insight into the state of deployed systems and their applications.
Smoketests can also be leveraged at various places in your pipeline.
etcd + ansible = crazy delicious
March 16, 2014
Ansible is an amazingly simple but extremely powerful system automation tool akin to Chef and Puppet. etcd is a highly scalable key/value store written in Go that uses raft for consensus.
The reason I looked at something like etcd in our ansible automation process is flat files are difficult to scale. This was a problem that we ran into as in our deployments we had customer specific environments. This meant customer specific host files, customer specific var files, etc. Managing those files became tedious and created unneeded friction in the deployment process. The goal then became to centrally manage customer specific environments in a programmatic implementation.
On Automation
March 15, 2014
System automation seems to be a term that lacks a proper definition. Due to this deficit, I tend to think of it as the repeatable application of learned knowledge.
Nova-Compute error - disk.config not found
July 15, 2013
Just ran into a weird issue with instances not starting up once I got my OpenStack lab upgraded to Grizzly. Issue was with a disk.config file not being found by nova-compute.
Bug
Investigating /var/log/nova/nova-compute.log you'll notice something very similar to the following.
2013-07-15 13:38:02.308 ERROR nova.compute.manager [req-c2523ea9-97e9-4b2a-a420-994acd20f36d c1248849bf7b4aa3a2fc50f3cb3209b9 5c570d6be3e04ad68046108439001ae2] [instance: cd3b6ff2-f2ef-4a76-92e9-e3215366bb10] Cannot reboot instance: [Errno 2] No such file or directory: '/var/lib/nova/instances/instance-0000004d/disk.config'
Resolution
Windows 2008 Server R2 install guide for KVM and OpenStack
June 5, 2013
Prerequisite
In order to install the Windows Server 2008 R2 Operating System you will require the following:
- KVM is already up and running properly.
You have a copy of the Windows Server 2008 R2 iso
$ sudo dd if=/dev/cdrom of=Window_Server_2008_R2.iso
- You have the Windows Server 2008 R2 Product License available
Download the iso disk image of the Virtio Drivers
$ wget https://launchpad.net/kvm-guest-drivers-windows/20120712/20120712/+download/virtio-win-drivers-20120712-1.iso
Note: I like the Ubuntu iso as compared to the RedHat one.
Install Windows Server 2008 R2
The following steps should help you install Windows Server 2008 R2 and upload it into glance for use with OpenStack.
Using MergeIDE (Converting Windows XP VMDK to KVM)
April 5, 2013
Why?
If you want to convert a VMware Windows XP VMDK over to something like KVM there is a weird step to convert the disk controller interface over to IDE.
Mergeide
To do so is fairly simple as a matter of running MergeIDE on the machine. You may either download/copy the registry file over. But for future use you may want to create a small floppy image with the files already on it.
Download Merge IDE
You will first need to obtain MergeIDE.
Download MergeIDE $ wget http://www.virtualbox.org/attachment/wiki/Migrate_Windows/MergeIDE.zip
Create Floppy Image
We create a small floppy image and copy the contents of MergeIDE on to it. This allows us to attach it to our virtual machine later.
Windows XP install guide for KVM and OpenStack
January 31, 2013
This is a short reference guide for install Windows XP into a KVM virtual machine. It also outlines how to upload the finished image into Glance to be used by OpenStack.
Prerequisite
In order to install the Windows XP Operating System you will require the following:
- KVM is already up and running properly.
You have a copy of the Windows XP iso
$ sudo dd if=/dev/cdrom of=Windows_XP_SP3.iso
- You have the Windows XP Product License avaiable
Create Windows XP Hard Drive
You will first be required to create a target hard drive to install Windows on.
$ cd ~ && mkdir KVM && cd KVM $ qemu-img create -f qcow2 winxpsp3.qcow2 10G
Nova Compute Bug 1081808 Fix
January 25, 2013
I recently ran into an odd bug in nova-compute where the service would crash any time the server reboot or the nova-compute service restarted. Turns out this is a known bug and will be fixed in grizzly.
Since it took me a while to figure this out I wanted to write up how to resolve this in hopes it will cut down others time in resolving this issue.
I honestly wish I could explain why all of the sudden this appeared and wasn't affecting be prior. Who cares this solves it!
Bug
You will notice that the nova-compute will crash.
# nova-manage service list nova-compute HOST nova enabled XXX DATE TIME
Box.net Backup Setup
January 11, 2013
A couple years ago Box ran a two month promo for iPad and iPhone users. blog link Luckily I was able to captalize on this free upgrade. I never utilized the service as anything more as a simple storage for a couple word documents. I believe the culprit for the under utilization of such a rather large free online storage was due to the interface of the service. It didn't feel right and was kind of a hassel to use in all honestly. That recently changed once I realized you can remotely mount your Box account as a DAVFS share. That coupled with rsync has really proven itself to be a more than succifient backup. As I go back to college to complete my degree, I'm finding the service far more useful to backup my work.
Frenzy Virtual Traffic Shapping
September 25, 2012
Hopefully this will be a relatively simple setup on configuring a transparent bridge to perform traffic shaping & manipulation. This will allow you to inject artificial latency, bandwidth limits, and packet loss across multiple VirtualMachines for testing.
Obtain Frenzy.
This uses the bootable FreeBSD distrobution called Frenzy. The latest, as of writing, is 1.4 which is based off of FreeBSD 8.3 Stable.
http://frenzy.org.ua/en/index.shtml wget ftp://ftp.frenzy.org.ua/pub/Frenzy/1.4/iso/frenzy-1.4-lite-en.iso
You will of course now need to get that into your shared storage within vCenter.
Setup virtual networking
OpenBSD DHCPD with Dynamic DNS
September 25, 2012
Relatively simple setup to enable a local DHCP server with dynamic DNS updates for a lab domain.
Tested and implemented on OpenBSD 5.1.
bash-4.2# uname -a
OpenBSD puffy 5.1 GENERIC#160 i386
bash-4.2# cat /etc/myname
puffy.lab.ttc
Instructions
The shipped DHCPD server does not support ddns so we must install the ISC-DHCPD one.
bash-4.2# pkg_add -r ftp://mirror.esc7.net/pub/OpenBSD/5.1/packages/i386/isc-dhcp-server-4.2.3.2.tgz
You can verify that you installed it.
bash-4.2# pkg_info -a isc-dhcp-server-4.2.3.2 ISC DHCP Server
Create some additional NAMED files for logs.
Hello World
September 24, 2012
:)