All posts by jeff

Wifi as second network on hp laptop

This wasn’t straightforward because the broadcom wifi NIC is nto supported by either Ubuntu or CentOS. These instructions are for Ubuntu.

Here’s the /etc/network/interfaces file

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static

# wifi
# auto wlan1
iface wlan1 inet manual
	wpa-driver nl80211
	wpa-roam /etc/wpa_supplicant.conf

iface default inet dhcp

and wpa_supplicant.conf

    ssid="Snowman Wireless"

You get the psk value from wpa_password, and it is different on each host.

Which matches my Asus Wifi station with the settings:
Screen Shot 2015-07-17 at 9.16.27 AM
In my case I have a Broadcom 4311 which required me to run:

sudo apt-get install firmware-b43-installer 

which I found on

Negotiating – do I care?

There are two fundamental approaches to negotiation, and a very simple decision to make to decide which one to use.  The approach to take depends on whether you care about the other party.

When you don’t care

As an example, this happens in residential real estate during a for-sale-by-owner transaction.   If a broker unknown to the seller presents a buyer, then there is no relationship for the seller to worry about;  there are no future deals or business or relationships to be concerned with.   Assuming the seller doesn’t sell that many properties, his objective is to get as much as he can,   since he has no reputation or relationship to protect.

In this approach,   agree to things only if you think not agreeing will undo the deal, and you have no other choice.  If you have another choice, like a backup offer, then there’s really no point in compromising on anything.   Do the right thing in your mind.   If it doesn’t feel right, the answer is “no”.   If you’re labeled uncooperative, unreasonable or worse – you really don’t care.

You should still determine what the other party’s real needs are, because otherwise you may just push them out of the deal when it wouldn’t have cost you much to meet their needs.

Because you don’t care enough to give anything, you also don’t care whether the other party cares or not.   That’s not the case with the other model.

When you do care

This is the usual state of affairs.   It happens in business because you care about repeat business and collaboration.   In this model you should spend a lot more time listening.   Everyone talks about “win-win” scenarios.   You can’t find them if you don’t try, but if you do try, it will be apparent to the other party and hopefully it will be reciprocated.

Someone told me years ago that most people debate solutions instead of the problem.   This is very true and it is essential to understand when that is occurring in this model of negotiation.  If you can figure out what they really need, and meet their needs without giving up something you really need, you’ve just earned respect and the next deal.

In this model, if you care and the other party also cares, the best path is to share needs and desires openly and hope that you can find something that works.

If the other party doesn’t care, then you should tread carefully and decide how badly you need the deal.

This post is also the subject of a Leadership Minute Video at

MaaS under VMware

This article is about running Canonical’s Metal-As-A-Service in a VMware Fusion environment on a Mac for testing and educational purposes.

Let me start out right up front by saying that if you try this, I don’t think you will be successful. It’s a great exercise and you’ll learn a lot, but you won’t actually be able to use your cluster with JuJu for example. If I’m wrong, please drop me a line. The place where mine fails is power control of the nodes enlisted under the MaaS cluster controller. I was unable to get VMware Fusion to do this; maybe you know how, or perhaps running VMware on Windows or Linux rather than the Mac will get you farther.

I was inspired by but that was incomplete, and I hoped to finish it.

Even if you do get farther, this is not going to perform well.   The reason is that VMware has already used the virtualization support in your CPU.   This is really just a demo exercise to get you familiar with the pieces.

The Recipe

Download Ubuntu 14.04 LTS server iso using bittorrent.    Took about 7 minutes.

Install VMware fusion.   It has a 30 day trial for free.

From VMware, create a new VM and install multi node maas from the ISO.

During the installation, take all the defaults but give it a good hostname and of course your login information.  When you login after installation, you’ll see that you have maas 1.5 installed.

apt-cache policy maas{,-dns,-dhcp,-cluster-controller,-region-controller} | grep Installed -B1 -A1

In order to match more recent documentation and this guide, you’ll need to get to v 1.7. In order to upgrade to v1.7, you’ll need to add a repository and reinstall. Ignore the documentation advising you to add ‘cloud-archive:tools’. That gives you a cryptic error message about “keyerror release” which means it doesn’t support 14.04. You’ll need to run:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:maas-maintainers/stable
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install maas maas-dns maas-dhcp

after boot, add eth1 to /etc/network/interfaces, add static address to eth1:

Screen Shot 2015-05-22 at 5.32.11 PM

You can use another IP address, but the 192.168.137.* subnet turned out to be essential to get it to boot. The 14.04 image that is netbooted is quite fond of using that subnet, and without that you will succeed to netboot but fail trying to attach an iscsi device because it’s not on the same subnet as the cluster controller.

shutdown the instance (“sudo shutdown -h now”) and add eth1 with the vmware GUI: Virtual Machine->Settings->Add Device->Network Adapter->Add->Share with Mac. Then go back or click show all to see Network Adapter 2.

The real secret is to get the networking working properly with the VM and the Mac so we can get to the MAAS GUI from our usual browser.  Using the VM GUI (Virtual Machine->Settings), set the first network adapter to bridged mode, Autodetect.  This enables you to have an IP address on your physical host that you can use to access the MAAS GUI.

Screen Shot 2015-05-03 at 1.11.01 PM


On the second one, use “private to my mac”, which provides a single shared network that the VMs can share – the “managed” network that the MaaS cluster controller provides DHCP addresses  and netboot images to clients on.

Start the VM again.

login to the console, edit /etc/ssh/sshd_config and change ChallengeResponseAuthentication to yes.   Then

sudo service ssh restart

You can now log in from a terminal window with scroll and copy/paste for easier use. You can use your defined hostname and your login as in:

ssh login@hostname.local

Create an admin user root, use your eMail address instead of the one here:

sudo maas-region-admin createadmin --username=root

note: double dash before username and email, not single dashes.

Then check the new address with ifconfig, Screen Shot 2015-05-22 at 5.35.00 PM

and use the new IP address of eth0 for your MAAS GUI by appending /MAAS to the IP address at your URL:Screen Shot 2015-05-03 at 1.20.59 PM
If it looks like that and you have nodes, clusters, AND images links on your GUI, you did well.  You should also be able to use your system name for the cluster controller with “.local” appended, then /MAAS.

Define Clusters and Networks

If you’re working so far, you’ll use the GUI to delete the default cluster and Network, then the command line to create a new cluster which will redefine the network.

In a VM terminal session, you need to properly configure the region and cluster controller addresses:

sudo dpkg-reconfigure maas-region-controller
# Use 
sudo dpkg-reconfigure maas-cluster-controller
# Use

It’s import to do those in that order, or the cluster controller will be disconnected. You’ll use the 192.168.137.* network to manage all your nodes, and eth0 to connect to the outside world and provide browser access for the MAAS GUI.

Registering your nodes

This is the exciting part. Your nodes will net boot using PXE from the region controller.   This will be host OS dependent unfortunately, so if you’re not using MacOS, you’ll have to translate a bit.   The trick is to get the VMs to share a network.   We’re going to do this with the second network adapter we put on the MaaS region controller, and the one and only network we put on each of the worker nodes.

Create a new VM under Vmware fusion, choose “more options”,  “custom virtual machine”, “other/other 64-bit”, take the defaults but “customize settings” and give the node a meaningful name.   Then finish.   Before booting it, change the network controller to “private to my mac”, and the disk size to at least 26 GB.

Then start it.   If you are successful, you’ll see a lot of log messages and a few errors, and it should boot a couple of times and install things and ultimately shut down.   At the end, check the “nodes” link on your GUI and you should see a new one with a random name.  Screen Shot 2015-05-22 at 5.44.17 PM

Click the new node name, and you can then “edit” it.

Screen Shot 2015-05-22 at 5.48.05 PM



Click on “Edit Node” and then select the power type drop down.  You’ll see a number of possibilities.    I was unable to make any of them work.   My guess is that virsh is the best bet but your mileage may vary.

Screen Shot 2015-05-22 at 5.48.48 PM

This is not an extra credit item as declared in the williamlsd writeup – it is an essential part of the commission/acquire/run lifecycle.

Good luck!   Let me know if you got further!  I decided to buy some old servers to continue the research, so I’ll add a new post when I set those up.


graphical ubuntu for VNC

As part of another project, I wanted to have a Ubuntu GUI under GCE, and tried a few things but captured what I did to make it work. I’ve found this works for the Trusty and Vivid releases, whether you start with the server or desktop versions. The reason I used this in a desktop version is that I was unable to make gnome-session work with vnc4server in Vivid.


sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vnc4server xubuntu-desktop xfce4
vnc4server :2
vnc4server -kill :2

edit ~/.vnc/xstartup, comment out the x-window-manager and add:

xfce4-session &

Then restart the vnc session:

vnc4server -geometry 1600x1200 :2

(pick your favorite virtual screen size)

login with ssh and port forwarding of 5902:

ssh -L 5902:  -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no jeffreypaulanderson_gmail_com@YourGoogleInstanceIPAddress

Then you can fire up a local vnc session on port 5902, which in OSX is done via the finder, apple-K, then vnc://localhost:5902

The vnc session goes through the ssh tunnel so no need for other firewall settings or anything.

Worked pretty well.