humans sharing technology

i+i=ii

Provisioning and Testing on VMware vCloud Air With Chef

Taylor@Vulk and I teamed up with Chef to bring VMWare vCloud Air support to the chef toolchain including knife, chef-provisioning, and test-kitchen.

It’s been a bit tricky with a few gotchas that we’ve worked around, mosty around how authentication to the base images is configured.

Documentation was created for the vcair support for chef-provisioning-fog

We wrote kitchen-vcair to add support for test-kitchen

Windows and linux vm walkthroughs where created for for chef-provisioning and test-kitchen.

thiis.is About Ii

ii started out as an acronym for Instant Infrastructure, but as I looked at it more and more it looked like two people standing together. Then, as I thought about it more, it became symbolic of multiple eye’s, sharing the same vision for a moment. Someone once said ‘lend me your ears’, but in our extremely visually oriented culture, I’d prefer if you lent me you eyes. You will see and imagine things that I won’t, and without you sharing your ideas, the world will be a less bright place. ‘this’ with multiple eyes (yours and mine… and everyone we meet) becomes thiis. Lend me your ii’s for a bit and let’s try to define thiis together.

I’ve been privileged to work with some pretty amazing people and it’s been nice to see many of them face to face in the last few weeks. I been to two conferences in my field of work and was able to speak about ii at both of them. At the first I wrote a program with symbols on my name card written by my friends:

Welcome @chefconf everyone! Come say hi when you see me.

April 24, 2013

@jtimberman and i sharing the first symbol of a program i want to share with you all @chefconf

April 25, 2013

@mitchellh and i sharing a symbolic smile @chefconf

April 25, 2013

Come see what this is all about #ChefConf #ii

April 25, 2013

I used those symbols in my talk and then put up an open document that anyone can edit live at help.thiis.be and currently looks like this:

It contained some thoughts about what I think thiis is and directions for registering the thiis.is domain.

thiis.be had a kind of Yoda like ring to it and I had registered thiis.is before, but I had let it lapse. I didn’t have the money to register it, so I put out a request for help. Anyone could have registered thiis.is for themselves, but it was so much fun to trust that it could happen without my direct help. Including trusting that no one would delete everything from the directions listed at help.thiis.be 8)

thiis.is/faith
thiis.is/hope
thiis.is/love

Powerful words, but just ink on a page if we don’t bring them to life… that’s what I’m trying to do and I need your help. It doesn’t matter if you are a coder, artist, chef, painter, doctor, or captain; you can continuously deliver amazing love to the world if you choose to.

I say continuously because consistency matters.
I say deliver because generosity is contagious.
I say love because it’s the only thing that endures.

cd means continuously deliver

ii.can.cd love … a talk about the most important thing in the world

#thiis is about #ii

The prezi itself has the full videos and you can save a copy and change it as desired.

Someone registered thiis.is for me and we had some fun at the hackday that followed, but I’ll leave that for another post. 8)

ii <3 you

@hippiehacker

Instant Infrastructure on USB

I make my living as a Computer-Chef. People hire me to prepare many computers along with their desired software and make it all come together according to precise recipes. Like any chef, I like to prepare my recipes from scratch using only the finest ingredients. I also love sharing my recipes and teaching people to cook on their own.

Preparing complex computing systems from scratch can be a pain… Where do you start? How do you know when you’ve added just enough to produce what you set out to accomplish? Myself I like to start with known good ingredients, and sample or test my concoction along the way.

In the world of computing, the from-scratch cooking process usually starts with bootable software like a CD/DVD from a vendor that makes the software that all other software runs on top of… the operating system (aka OS). Microsoft and Linux vendors make their software available via a special file called an ISO that you can burn to a CD. Most of the time people boot those CD’s and manually use a mouse and keyboard to answer questions related to installing the OS before they get around to adding their own software to run on top, and then may spend hours configuring. If they ever need to do a restore, they have to go through all that process again. Backups could help in restoring, but if you wanted to share the software and configuration that you use with a friend or a peer/professional it can be a bit harder.

I started working for Opscode four months ago because they make a software called Chef (notice the capital C) that runs on top of just the OS and it uses recipes to automatically install and configure any other software that you would want! Tying together installing the OS to the hardware and Chef to the OS all in one step is something we are starting to do fairly well in the cloud, but I often like to cook for friends in places where there might not be any internet.

At Opscode I do a lot of Chef training. Teaching someone to cook without a kitchen is hard, so we developed a mobile teaching kitchen. My students connect to a special laptop that contains a mini-cloud with everything needed to spin up plenty of cloud-computers to teach the class. Setting up the laptop OS and software is quite a daunting task. I wanted it to be as easy as booting an OS CD and choosing a disk.

Most bootable OS CD’s run an installer that asks questions about what it should do. Luckily Windows and Linux allow you to provide a special file to answer to all the questions it might ask. There are also some hidden questions you don’t see during a normal install like ‘What commands would you like to run during stage X of the install?’. I’ve used these hidden options to run commands that install Chef and run recipes to completely automate the installation of Linux and Windows, including all desired software and configuration.

I’ve done this recently on Windows using my windows-fromscratch code. However, I’ve also been using Linux for many years and like the idea of being able to give away working bootable USB’s that can be used to deploy complex infrastructures from scratch. So I’ve distilled that process down into a few cookbooks containing the recipes needed to automatically create those sticks. I’ve created 2 cookbooks that are part of the :ii project.

The first one is called ii-usb. It starts by downloading and verifying the ISO for the OS (Ubuntu in this case), then formats a USB for booting and copies the ISO onto it. It then creates all the files necessary to pre-answer all the questions (except for which disk to format) and copies over Chef and any recipes I may want it to use.

The second cookbook is ii-ubiquity, during Ubuntu’s install, it runs a program called Ubiquity. When the USB boots, it will run Chef with different recipes at different stages to configure such things as the boot-screen, background, wireless-passwords, hardware-specific drivers, etc. These can be configured by edited files on the USB stick (for now… I plan to provide a gui soon) and the only question asked is which drive to format.

When the USB installer is done, the computer boots and runs Chef against a last set of recipes… in my case I have recipes for setting up the Opscode training laptop. I’ve recorded a 9:30 long video of booting an ii-usb created USB stick installing the training-laptop I created for Opscode. For dramatic effect I switch to a black screen to show when Chef is running the recipes.

http://www.youtube.com/watch?v=FaukaaVwm2c

While none of this yet requires any other computers or internet, I see a possibility of booting a first computer with the stick that installs Chef Server and then boots / installs the rest via a local network. This is getting us closer to true instant infrastructure. Come hang out with us on our Forum and lend a hand to bringing infrastructure to classrooms, libraries, clinics and hospitals all over the world.

Humanity to Everyone - htoe.org

I’ve learned a bit about generosity and sharing in my travels.  People in many countries have shared with me even though they had nothing and did so with generous hearts.

I had a chance to spend a few months with six local youth in Battambang, Cambodia. There are few computers there, most in internet Cafes running old versions of Microsoft Windows. Some of these include Khmer (the language of Cambodia), but often an outdated interface that is on it’s way out. I taught these kids some of the basics of creating a USB stick that they could use as an alternative to windows. These new USB sticks included everything to use the internet, create and store documents, photos, and programs in their native language.

One of the most important parts of this training, was teaching them how to share not only what they had learned, but sharing the software as well. Since we were not using Microsoft Windows or Apple OS, but Ubuntu Linux, it is perfectly legal to and encouraged sharing.

These six kids continue to get together and share and learn from each other, and have now grown to about thirty. They even have their own website at called Humanity to Everyone where they discuss technology in Khmer.

They have really inspired me to try and take this idea of sharing software and training on usb to another level. Not just sharing general computing software, but the complex configurations needed to deploy a small hospital/clinic, small business, or community library without having to be a technical person. I’m calling it Instant Infrastructure, or :ii for short.

The technology is free, and sharing is encouraged. I hope to take this new technology back to my friends in Battambang and teach others to do the same in countries all over the world.